[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#50f413885985a8b0a0b6ca0766a0aedd45304953 for pr-155657
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fprunepal3339%2Fgeomengine" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-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-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/prunepal3339/geomengine on toolchain 50f413885985a8b0a0b6ca0766a0aedd45304953
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "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" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "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-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 76afa48a536e1829a1edfd145b6921b40d069038c7a2dc06bfb258b0d6c33748
[INFO] running `Command { std: "docker" "start" "-a" "76afa48a536e1829a1edfd145b6921b40d069038c7a2dc06bfb258b0d6c33748", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "76afa48a536e1829a1edfd145b6921b40d069038c7a2dc06bfb258b0d6c33748", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "76afa48a536e1829a1edfd145b6921b40d069038c7a2dc06bfb258b0d6c33748", kill_on_drop: false }`
[INFO] [stdout] 76afa48a536e1829a1edfd145b6921b40d069038c7a2dc06bfb258b0d6c33748
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a4ac3d9d5db88fc92010ce46cd0f1070288863bad144ee50cfab4c81d09a9b22
[INFO] running `Command { std: "docker" "start" "-a" "a4ac3d9d5db88fc92010ce46cd0f1070288863bad144ee50cfab4c81d09a9b22", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking num-iter v0.1.45
[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[E0425]: 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[E0425]: 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[E0425]: 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[E0425]: 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[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, E0369, E0425.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `geomengine` (lib) due to 14 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[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] [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, E0369, E0425.
[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 14 previous errors
[INFO] running `Command { std: "docker" "inspect" "a4ac3d9d5db88fc92010ce46cd0f1070288863bad144ee50cfab4c81d09a9b22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4ac3d9d5db88fc92010ce46cd0f1070288863bad144ee50cfab4c81d09a9b22", kill_on_drop: false }`
[INFO] [stdout] a4ac3d9d5db88fc92010ce46cd0f1070288863bad144ee50cfab4c81d09a9b22
