[INFO] cloning repository https://github.com/prunepal3339/geomengine
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/prunepal3339/geomengine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fprunepal3339%2Fgeomengine", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fprunepal3339%2Fgeomengine'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 986d73d7ec13cb4fd925251753cba9a36081508e
[INFO] checking prunepal3339/geomengine against try#724e78794d2cf06eef820a24c9a4608d63435e1d for pr-149145
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fprunepal3339%2Fgeomengine" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/prunepal3339/geomengine
[INFO] finished tweaking git repo https://github.com/prunepal3339/geomengine
[INFO] tweaked toml for git repo https://github.com/prunepal3339/geomengine written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/prunepal3339/geomengine on toolchain 724e78794d2cf06eef820a24c9a4608d63435e1d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+724e78794d2cf06eef820a24c9a4608d63435e1d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/prunepal3339/geomengine 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" "+724e78794d2cf06eef820a24c9a4608d63435e1d" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+724e78794d2cf06eef820a24c9a4608d63435e1d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7b7af30b3739cf87da757057b822a7d4558b932c123982a6d68d65714a95ec81
[INFO] running `Command { std: "docker" "start" "-a" "7b7af30b3739cf87da757057b822a7d4558b932c123982a6d68d65714a95ec81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7b7af30b3739cf87da757057b822a7d4558b932c123982a6d68d65714a95ec81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b7af30b3739cf87da757057b822a7d4558b932c123982a6d68d65714a95ec81", kill_on_drop: false }`
[INFO] [stdout] 7b7af30b3739cf87da757057b822a7d4558b932c123982a6d68d65714a95ec81
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+724e78794d2cf06eef820a24c9a4608d63435e1d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ed7c0d0f838c2503a398fcf1b2baf6719c2bdef4c9a6f43acaf462c926fbd851
[INFO] running `Command { std: "docker" "start" "-a" "ed7c0d0f838c2503a398fcf1b2baf6719c2bdef4c9a6f43acaf462c926fbd851", kill_on_drop: false }`
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking geomengine v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected `;`, found keyword `let`
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:133:73
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let x_prime = (m * m * x1 + x0 + m * (y0 - y1)) / (m * m + T::one())
[INFO] [stdout]     |                                                                         ^ help: add `;` here
[INFO] [stdout] 134 |
[INFO] [stdout] 135 |     let y_prime = m * (x_prime - x1) + y1;
[INFO] [stdout]     |     --- unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `;`, found keyword `let`
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:133:73
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let x_prime = (m * m * x1 + x0 + m * (y0 - y1)) / (m * m + T::one())
[INFO] [stdout]     |                                                                         ^ help: add `;` here
[INFO] [stdout] 134 |
[INFO] [stdout] 135 |     let y_prime = m * (x_prime - x1) + y1;
[INFO] [stdout]     |     --- unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Line2D` in this scope
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:120:77
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                                             ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::line::Line2D;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Point` in this scope
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:120:91
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                                                           ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Line2D` in this scope
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:120:77
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                                             ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::line::Line2D;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Point` in this scope
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:120:91
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                                                           ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:120:58
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `Point2D`
[INFO] [stdout]    --> src/point/point2d.rs:6:36
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub struct Point2D<T: Num + Copy + Debug + PartialEq> {
[INFO] [stdout]     |                                    ^^^^^ required by this bound in `Point2D`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy + std::fmt::Debug>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:120:58
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point2d::Point2D`
[INFO] [stdout]    --> src/point/point2d.rs:6:36
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub struct Point2D<T: Num + Copy + Debug + PartialEq> {
[INFO] [stdout]     |                                    ^^^^^ required by this bound in `Point2D`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy + std::fmt::Debug>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let Point2D{x: x0, y: y0} = point;
[INFO] [stdout]     |         ^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `Point2D`
[INFO] [stdout]    --> src/point/point2d.rs:6:36
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub struct Point2D<T: Num + Copy + Debug + PartialEq> {
[INFO] [stdout]     |                                    ^^^^^ required by this bound in `Point2D`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy + std::fmt::Debug>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 |     if (x2 - x1).abs() < epsilon {
[INFO] [stdout]     |        ^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&_: Num` is not satisfied
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |         return Point2D::new(x1, y0);
[INFO] [stdout]     |                ^^^^^^^^^^^^ the trait `Num` is not implemented for `&_`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Num`:
[INFO] [stdout]               BigInt
[INFO] [stdout]               BigUint
[INFO] [stdout]               Complex<T>
[INFO] [stdout]               Ratio<T>
[INFO] [stdout]               Wrapping<T>
[INFO] [stdout]               f32
[INFO] [stdout]               f64
[INFO] [stdout]               i128
[INFO] [stdout]             and 11 others
[INFO] [stdout] note: required by a bound in `Point2D::<T>::new`
[INFO] [stdout]    --> src/point/point2d.rs:11:9
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl<T: Num + Copy + Debug> Point2D<T> {
[INFO] [stdout]     |         ^^^ required by this bound in `Point2D::<T>::new`
[INFO] [stdout]  12 |
[INFO] [stdout]  13 |     pub fn new(x: T, y: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |         return Point2D::new(x1, y0);
[INFO] [stdout]     |                ^^^^^^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `&T` to implement `Debug`
[INFO] [stdout] note: required by a bound in `Point2D::<T>::new`
[INFO] [stdout]    --> src/point/point2d.rs:11:22
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl<T: Num + Copy + Debug> Point2D<T> {
[INFO] [stdout]     |                      ^^^^^ required by this bound in `Point2D::<T>::new`
[INFO] [stdout]  12 |
[INFO] [stdout]  13 |     pub fn new(x: T, y: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy + std::fmt::Debug>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:121:10
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let (Point2D{x: x1, y: y1}, Point2D{x: x2, y: y2}) = line;
[INFO] [stdout]     |          ^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `Point2D`
[INFO] [stdout]    --> src/point/point2d.rs:6:36
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub struct Point2D<T: Num + Copy + Debug + PartialEq> {
[INFO] [stdout]     |                                    ^^^^^ required by this bound in `Point2D`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy + std::fmt::Debug>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:121:33
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let (Point2D{x: x1, y: y1}, Point2D{x: x2, y: y2}) = line;
[INFO] [stdout]     |                                 ^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `Complex<T>` to implement `Debug`
[INFO] [stdout] note: required by a bound in `Point2D`
[INFO] [stdout]    --> src/point/point2d.rs:6:36
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub struct Point2D<T: Num + Copy + Debug + PartialEq> {
[INFO] [stdout]     |                                    ^^^^^ required by this bound in `Point2D`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy + std::fmt::Debug>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&T: Num` is not satisfied
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |         return Point2D::new(x1, y0);
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^ the trait `Num` is not implemented for `&T`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Num`:
[INFO] [stdout]               BigInt
[INFO] [stdout]               BigUint
[INFO] [stdout]               Complex<T>
[INFO] [stdout]               Ratio<T>
[INFO] [stdout]               Wrapping<T>
[INFO] [stdout]               f32
[INFO] [stdout]               f64
[INFO] [stdout]               i128
[INFO] [stdout]             and 11 others
[INFO] [stdout] note: required by a bound in `Point2D`
[INFO] [stdout]    --> src/point/point2d.rs:6:23
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub struct Point2D<T: Num + Copy + Debug + PartialEq> {
[INFO] [stdout]     |                       ^^^ required by this bound in `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |         return Point2D::new(x1, y0);
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `&T` to implement `Debug`
[INFO] [stdout] note: required by a bound in `Point2D`
[INFO] [stdout]    --> src/point/point2d.rs:6:36
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub struct Point2D<T: Num + Copy + Debug + PartialEq> {
[INFO] [stdout]     |                                    ^^^^^ required by this bound in `Point2D`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy + std::fmt::Debug>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot subtract `&T` from `&T`
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:133:46
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let x_prime = (m * m * x1 + x0 + m * (y0 - y1)) / (m * m + T::one())
[INFO] [stdout]     |                                           -- ^ -- &T
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           &T
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> where &T: Sub<&T> {
[INFO] [stdout]     |                                                                                                    +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     Point2D::new(x_prime, y_prime)
[INFO] [stdout]     |     ^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `Complex<T>` to implement `Debug`
[INFO] [stdout] note: required by a bound in `Point2D`
[INFO] [stdout]    --> src/point/point2d.rs:6:36
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub struct Point2D<T: Num + Copy + Debug + PartialEq> {
[INFO] [stdout]     |                                    ^^^^^ required by this bound in `Point2D`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy + std::fmt::Debug>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     Point2D::new(x_prime, y_prime)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `Complex<T>` to implement `Debug`
[INFO] [stdout] note: required by a bound in `Point2D`
[INFO] [stdout]    --> src/point/point2d.rs:6:36
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub struct Point2D<T: Num + Copy + Debug + PartialEq> {
[INFO] [stdout]     |                                    ^^^^^ required by this bound in `Point2D`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy + std::fmt::Debug>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282, E0369, E0412.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let Point2D{x: x0, y: y0} = point;
[INFO] [stdout]     |         ^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point2d::Point2D`
[INFO] [stdout]    --> src/point/point2d.rs:6:36
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub struct Point2D<T: Num + Copy + Debug + PartialEq> {
[INFO] [stdout]     |                                    ^^^^^ required by this bound in `Point2D`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy + std::fmt::Debug>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `geomengine` (lib) due to 15 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 |     if (x2 - x1).abs() < epsilon {
[INFO] [stdout]     |        ^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&_: Num` is not satisfied
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |         return Point2D::new(x1, y0);
[INFO] [stdout]     |                ^^^^^^^^^^^^ the trait `Num` is not implemented for `&_`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Num`:
[INFO] [stdout]               BigInt
[INFO] [stdout]               BigUint
[INFO] [stdout]               Complex<T>
[INFO] [stdout]               Ratio<T>
[INFO] [stdout]               Wrapping<T>
[INFO] [stdout]               f32
[INFO] [stdout]               f64
[INFO] [stdout]               i128
[INFO] [stdout]             and 11 others
[INFO] [stdout] note: required by a bound in `point2d::Point2D::<T>::new`
[INFO] [stdout]    --> src/point/point2d.rs:11:9
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl<T: Num + Copy + Debug> Point2D<T> {
[INFO] [stdout]     |         ^^^ required by this bound in `Point2D::<T>::new`
[INFO] [stdout]  12 |
[INFO] [stdout]  13 |     pub fn new(x: T, y: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |         return Point2D::new(x1, y0);
[INFO] [stdout]     |                ^^^^^^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `&T` to implement `Debug`
[INFO] [stdout] note: required by a bound in `point2d::Point2D::<T>::new`
[INFO] [stdout]    --> src/point/point2d.rs:11:22
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl<T: Num + Copy + Debug> Point2D<T> {
[INFO] [stdout]     |                      ^^^^^ required by this bound in `Point2D::<T>::new`
[INFO] [stdout]  12 |
[INFO] [stdout]  13 |     pub fn new(x: T, y: T) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy + std::fmt::Debug>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:121:10
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let (Point2D{x: x1, y: y1}, Point2D{x: x2, y: y2}) = line;
[INFO] [stdout]     |          ^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `point2d::Point2D`
[INFO] [stdout]    --> src/point/point2d.rs:6:36
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub struct Point2D<T: Num + Copy + Debug + PartialEq> {
[INFO] [stdout]     |                                    ^^^^^ required by this bound in `Point2D`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy + std::fmt::Debug>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:121:33
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let (Point2D{x: x1, y: y1}, Point2D{x: x2, y: y2}) = line;
[INFO] [stdout]     |                                 ^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `Complex<T>` to implement `Debug`
[INFO] [stdout] note: required by a bound in `point2d::Point2D`
[INFO] [stdout]    --> src/point/point2d.rs:6:36
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub struct Point2D<T: Num + Copy + Debug + PartialEq> {
[INFO] [stdout]     |                                    ^^^^^ required by this bound in `Point2D`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy + std::fmt::Debug>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&T: Num` is not satisfied
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |         return Point2D::new(x1, y0);
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^ the trait `Num` is not implemented for `&T`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Num`:
[INFO] [stdout]               BigInt
[INFO] [stdout]               BigUint
[INFO] [stdout]               Complex<T>
[INFO] [stdout]               Ratio<T>
[INFO] [stdout]               Wrapping<T>
[INFO] [stdout]               f32
[INFO] [stdout]               f64
[INFO] [stdout]               i128
[INFO] [stdout]             and 11 others
[INFO] [stdout] note: required by a bound in `point2d::Point2D`
[INFO] [stdout]    --> src/point/point2d.rs:6:23
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub struct Point2D<T: Num + Copy + Debug + PartialEq> {
[INFO] [stdout]     |                       ^^^ required by this bound in `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |         return Point2D::new(x1, y0);
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `&T` to implement `Debug`
[INFO] [stdout] note: required by a bound in `point2d::Point2D`
[INFO] [stdout]    --> src/point/point2d.rs:6:36
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub struct Point2D<T: Num + Copy + Debug + PartialEq> {
[INFO] [stdout]     |                                    ^^^^^ required by this bound in `Point2D`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy + std::fmt::Debug>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot subtract `&T` from `&T`
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:133:46
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let x_prime = (m * m * x1 + x0 + m * (y0 - y1)) / (m * m + T::one())
[INFO] [stdout]     |                                           -- ^ -- &T
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           &T
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> where &T: Sub<&T> {
[INFO] [stdout]     |                                                                                                    +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     Point2D::new(x_prime, y_prime)
[INFO] [stdout]     |     ^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `Complex<T>` to implement `Debug`
[INFO] [stdout] note: required by a bound in `point2d::Point2D`
[INFO] [stdout]    --> src/point/point2d.rs:6:36
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub struct Point2D<T: Num + Copy + Debug + PartialEq> {
[INFO] [stdout]     |                                    ^^^^^ required by this bound in `Point2D`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy + std::fmt::Debug>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `T` doesn't implement `Debug`
[INFO] [stdout]    --> src/algorithms/point_algorithms.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     Point2D::new(x_prime, y_prime)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `T`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `Complex<T>` to implement `Debug`
[INFO] [stdout] note: required by a bound in `point2d::Point2D`
[INFO] [stdout]    --> src/point/point2d.rs:6:36
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub struct Point2D<T: Num + Copy + Debug + PartialEq> {
[INFO] [stdout]     |                                    ^^^^^ required by this bound in `Point2D`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `Debug`
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn project_point_to_line_2d<T: Float + Copy + std::fmt::Debug>(point: &Point2D<T>, line: &Line2D<T>) -> Point<T> {
[INFO] [stdout]     |                                                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282, E0369, E0412.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `geomengine` (lib test) due to 15 previous errors
[INFO] running `Command { std: "docker" "inspect" "ed7c0d0f838c2503a398fcf1b2baf6719c2bdef4c9a6f43acaf462c926fbd851", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ed7c0d0f838c2503a398fcf1b2baf6719c2bdef4c9a6f43acaf462c926fbd851", kill_on_drop: false }`
[INFO] [stdout] ed7c0d0f838c2503a398fcf1b2baf6719c2bdef4c9a6f43acaf462c926fbd851
