[INFO] cloning repository https://github.com/d-dorazio/mattors [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/d-dorazio/mattors" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fd-dorazio%2Fmattors", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fd-dorazio%2Fmattors'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] cce00471043c30b764d53ee38b29d1b47d2154bf [INFO] checking d-dorazio/mattors against try#cac44d9528e3bbbdaa1537d187bd489ccc5de18c for pr-91141 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fd-dorazio%2Fmattors" "/workspace/builds/worker-90/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-90/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/d-dorazio/mattors on toolchain cac44d9528e3bbbdaa1537d187bd489ccc5de18c [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cac44d9528e3bbbdaa1537d187bd489ccc5de18c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/d-dorazio/mattors [INFO] finished tweaking git repo https://github.com/d-dorazio/mattors [INFO] tweaked toml for git repo https://github.com/d-dorazio/mattors written to /workspace/builds/worker-90/source/Cargo.toml [INFO] crate git repo https://github.com/d-dorazio/mattors already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cac44d9528e3bbbdaa1537d187bd489ccc5de18c" "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-90/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-90/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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+cac44d9528e3bbbdaa1537d187bd489ccc5de18c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c2a4ac7b9fd678be191a0eeca58bc142c5c6e32ffe2a5897a642fe51a01d5b75 [INFO] running `Command { std: "docker" "start" "-a" "c2a4ac7b9fd678be191a0eeca58bc142c5c6e32ffe2a5897a642fe51a01d5b75", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c2a4ac7b9fd678be191a0eeca58bc142c5c6e32ffe2a5897a642fe51a01d5b75", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c2a4ac7b9fd678be191a0eeca58bc142c5c6e32ffe2a5897a642fe51a01d5b75", kill_on_drop: false }` [INFO] [stdout] c2a4ac7b9fd678be191a0eeca58bc142c5c6e32ffe2a5897a642fe51a01d5b75 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-90/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-90/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" "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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+cac44d9528e3bbbdaa1537d187bd489ccc5de18c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3db2b296c3117aab3efc3c4e4ae7df83a69de63c6314df4f283d0ae188655e14 [INFO] running `Command { std: "docker" "start" "-a" "3db2b296c3117aab3efc3c4e4ae7df83a69de63c6314df4f283d0ae188655e14", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling autocfg v0.1.7 [INFO] [stderr] Compiling libc v0.2.66 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Compiling getrandom v0.1.13 [INFO] [stderr] Compiling proc-macro2 v1.0.6 [INFO] [stderr] Checking ppv-lite86 v0.2.6 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Checking scopeguard v1.0.0 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling rayon-core v1.6.1 [INFO] [stderr] Compiling syn v1.0.9 [INFO] [stderr] Compiling crc32fast v1.2.0 [INFO] [stderr] Checking adler32 v1.0.4 [INFO] [stderr] Compiling num-derive v0.2.5 [INFO] [stderr] Checking unicode-width v0.1.6 [INFO] [stderr] Checking either v1.5.3 [INFO] [stderr] Checking lzw v0.10.0 [INFO] [stderr] Compiling unicode-segmentation v1.6.0 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking color_quant v1.0.1 [INFO] [stderr] Checking vec_map v0.8.1 [INFO] [stderr] Checking scoped_threadpool v0.1.9 [INFO] [stderr] Checking remove_dir_all v0.5.2 [INFO] [stderr] Checking bit-vec v0.5.1 [INFO] [stderr] Checking quick-error v1.2.2 [INFO] [stderr] Checking fnv v1.0.6 [INFO] [stderr] Checking regex-syntax v0.6.12 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking c2-chacha v0.2.3 [INFO] [stderr] Checking inflate v0.4.5 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking rand_jitter v0.1.4 [INFO] [stderr] Checking gif v0.10.3 [INFO] [stderr] Compiling heck v0.3.1 [INFO] [stderr] Checking bit-set v0.5.1 [INFO] [stderr] Compiling num-traits v0.2.10 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling crossbeam-utils v0.7.0 [INFO] [stderr] Compiling crossbeam-epoch v0.8.0 [INFO] [stderr] Compiling num-bigint v0.2.3 [INFO] [stderr] Compiling num-iter v0.1.39 [INFO] [stderr] Compiling num-rational v0.2.2 [INFO] [stderr] Compiling num-complex v0.2.3 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling memoffset v0.5.3 [INFO] [stderr] Checking deflate v0.7.20 [INFO] [stderr] Checking crossbeam-queue v0.2.0 [INFO] [stderr] Checking num_cpus v1.11.1 [INFO] [stderr] Checking atty v0.2.13 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking wait-timeout v0.2.0 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Checking png v0.15.1 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Checking rand_chacha v0.2.1 [INFO] [stderr] Checking crossbeam-deque v0.7.2 [INFO] [stderr] Checking rand v0.7.2 [INFO] [stderr] Checking tiff v0.3.1 [INFO] [stderr] Checking rayon v1.2.1 [INFO] [stderr] Checking num v0.2.0 [INFO] [stderr] Checking geo v0.1.0 (/opt/rustwide/workdir/geo) [INFO] [stderr] Checking tempfile v3.1.0 [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> geo/src/point.rs:132:71 [INFO] [stdout] | [INFO] [stdout] 132 | Err(e) => Err("bad coord number format, ".to_string() + e.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling proc-macro-error v0.2.6 [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking rusty-fork v0.2.2 [INFO] [stderr] Checking proptest v0.9.4 [INFO] [stderr] Checking jpeg-decoder v0.1.16 [INFO] [stderr] Compiling structopt-derive v0.3.5 [INFO] [stderr] Checking image v0.22.3 [INFO] [stderr] Checking structopt v0.3.5 [INFO] [stderr] Checking matto v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0432]: unresolved import `geo` [INFO] [stdout] --> geo/src/angle.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | use geo::PointF64; [INFO] [stdout] | ^^^ use of undeclared crate or module `geo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `geo` [INFO] [stdout] --> geo/src/bbox.rs:192:9 [INFO] [stdout] | [INFO] [stdout] 192 | use geo::PointU32; [INFO] [stdout] | ^^^ use of undeclared crate or module `geo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `geo` [INFO] [stdout] --> geo/src/convex_hull.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | use geo::{Point, Polygon}; [INFO] [stdout] | ^^^ use of undeclared crate or module `geo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `geo` [INFO] [stdout] --> geo/src/delaunay.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | use geo::Point; [INFO] [stdout] | ^^^ use of undeclared crate or module `geo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `geo` [INFO] [stdout] --> geo/src/kmeans.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | use geo::Point; [INFO] [stdout] | ^^^ use of undeclared crate or module `geo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `geo` [INFO] [stdout] --> geo/src/line.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | use geo::PointI32; [INFO] [stdout] | ^^^ use of undeclared crate or module `geo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `geo` [INFO] [stdout] --> geo/src/polygon.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | use geo::{BoundingBox, PointF64, PointU32}; [INFO] [stdout] | ^^^ use of undeclared crate or module `geo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `geo` [INFO] [stdout] --> geo/src/triangle.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | use geo::PointI32; [INFO] [stdout] | ^^^ use of undeclared crate or module `geo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `geo` [INFO] [stdout] --> geo/src/kdtree.rs:396:9 [INFO] [stdout] | [INFO] [stdout] 396 | use geo::{BoundingBox, PointU32}; [INFO] [stdout] | ^^^ use of undeclared crate or module `geo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `proptest` in this scope [INFO] [stdout] --> geo/src/kdtree.rs:458:5 [INFO] [stdout] | [INFO] [stdout] 458 | proptest! { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider importing this macro: [INFO] [stdout] proptest::proptest [INFO] [stdout] = note: `proptest` is in scope, but it is a crate, not a macro [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `proptest` in this scope [INFO] [stdout] --> geo/src/kdtree.rs:508:5 [INFO] [stdout] | [INFO] [stdout] 508 | proptest! { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider importing this macro: [INFO] [stdout] proptest::proptest [INFO] [stdout] = note: `proptest` is in scope, but it is a crate, not a macro [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `proptest` in this scope [INFO] [stdout] --> geo/src/kdtree.rs:589:5 [INFO] [stdout] | [INFO] [stdout] 589 | proptest! { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider importing this macro: [INFO] [stdout] proptest::proptest [INFO] [stdout] = note: `proptest` is in scope, but it is a crate, not a macro [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `proptest` in this scope [INFO] [stdout] --> geo/src/utils/ksmallest.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | proptest! { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider importing this macro: [INFO] [stdout] proptest::proptest [INFO] [stdout] = note: `proptest` is in scope, but it is a crate, not a macro [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `proptest` in this scope [INFO] [stdout] --> geo/src/utils/ksmallest.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 90 | proptest! { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider importing this macro: [INFO] [stdout] proptest::proptest [INFO] [stdout] = note: `proptest` is in scope, but it is a crate, not a macro [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `proptest` in this scope [INFO] [stdout] --> geo/src/utils/mod.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | proptest! { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider importing this macro: [INFO] [stdout] proptest::proptest [INFO] [stdout] = note: `proptest` is in scope, but it is a crate, not a macro [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ksmallest_by`, `ksmallest` [INFO] [stdout] --> geo/src/utils/ksmallest.rs:73:17 [INFO] [stdout] | [INFO] [stdout] 73 | use super::{ksmallest, ksmallest_by}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::split_element_at` [INFO] [stdout] --> geo/src/utils/mod.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | use super::split_element_at; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter` [INFO] [stdout] --> geo/src/utils/mod.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | use std::iter; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> geo/src/point.rs:132:71 [INFO] [stdout] | [INFO] [stdout] 132 | Err(e) => Err("bad coord number format, ".to_string() + e.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:196:19 [INFO] [stdout] | [INFO] [stdout] 196 | let rec = BoundingBox::from_dimensions_and_origin(&PointU32::new(3, 5), 7, 5); [INFO] [stdout] | --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `rec` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::from_dimensions_and_origin` [INFO] [stdout] --> geo/src/bbox.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^ required by this bound in `BoundingBox::::from_dimensions_and_origin` [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn from_dimensions_and_origin(origin: &Point, width: T, height: T) -> Self { [INFO] [stdout] | -------------------------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:196:19 [INFO] [stdout] | [INFO] [stdout] 196 | let rec = BoundingBox::from_dimensions_and_origin(&PointU32::new(3, 5), 7, 5); [INFO] [stdout] | --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `rec` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Bounded` found in the `num_traits` crate: [INFO] [stdout] - impl Bounded for i128; [INFO] [stdout] - impl Bounded for i16; [INFO] [stdout] - impl Bounded for i32; [INFO] [stdout] - impl Bounded for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::from_dimensions_and_origin` [INFO] [stdout] --> geo/src/bbox.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^^^^^ required by this bound in `BoundingBox::::from_dimensions_and_origin` [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn from_dimensions_and_origin(origin: &Point, width: T, height: T) -> Self { [INFO] [stdout] | -------------------------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:198:24 [INFO] [stdout] | [INFO] [stdout] 196 | let rec = BoundingBox::from_dimensions_and_origin(&PointU32::new(3, 5), 7, 5); [INFO] [stdout] | --- consider giving `rec` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] 197 | [INFO] [stdout] 198 | assert_eq!(rec.contains(&PointU32::new(0, 0)), false); [INFO] [stdout] | ^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::contains` [INFO] [stdout] --> geo/src/bbox.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^ required by this bound in `BoundingBox::::contains` [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn contains(&self, pt: &Point) -> bool { [INFO] [stdout] | -------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:198:24 [INFO] [stdout] | [INFO] [stdout] 196 | let rec = BoundingBox::from_dimensions_and_origin(&PointU32::new(3, 5), 7, 5); [INFO] [stdout] | --- consider giving `rec` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] 197 | [INFO] [stdout] 198 | assert_eq!(rec.contains(&PointU32::new(0, 0)), false); [INFO] [stdout] | ^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Bounded` found in the `num_traits` crate: [INFO] [stdout] - impl Bounded for i128; [INFO] [stdout] - impl Bounded for i16; [INFO] [stdout] - impl Bounded for i32; [INFO] [stdout] - impl Bounded for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::contains` [INFO] [stdout] --> geo/src/bbox.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^^^^^ required by this bound in `BoundingBox::::contains` [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn contains(&self, pt: &Point) -> bool { [INFO] [stdout] | -------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:210:19 [INFO] [stdout] | [INFO] [stdout] 210 | let rec = BoundingBox::from_dimensions_and_origin(&PointU32::new(3, 5), 7, 5); [INFO] [stdout] | --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `rec` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::from_dimensions_and_origin` [INFO] [stdout] --> geo/src/bbox.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^ required by this bound in `BoundingBox::::from_dimensions_and_origin` [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn from_dimensions_and_origin(origin: &Point, width: T, height: T) -> Self { [INFO] [stdout] | -------------------------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:210:19 [INFO] [stdout] | [INFO] [stdout] 210 | let rec = BoundingBox::from_dimensions_and_origin(&PointU32::new(3, 5), 7, 5); [INFO] [stdout] | --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `rec` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Bounded` found in the `num_traits` crate: [INFO] [stdout] - impl Bounded for i128; [INFO] [stdout] - impl Bounded for i16; [INFO] [stdout] - impl Bounded for i32; [INFO] [stdout] - impl Bounded for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::from_dimensions_and_origin` [INFO] [stdout] --> geo/src/bbox.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^^^^^ required by this bound in `BoundingBox::::from_dimensions_and_origin` [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn from_dimensions_and_origin(origin: &Point, width: T, height: T) -> Self { [INFO] [stdout] | -------------------------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 210 | let rec = BoundingBox::from_dimensions_and_origin(&PointU32::new(3, 5), 7, 5); [INFO] [stdout] | --- consider giving `rec` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 213 | rec.points(), [INFO] [stdout] | ^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::points` [INFO] [stdout] --> geo/src/bbox.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^ required by this bound in `BoundingBox::::points` [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn points(&self) -> [Point; 4] { [INFO] [stdout] | ------ required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 210 | let rec = BoundingBox::from_dimensions_and_origin(&PointU32::new(3, 5), 7, 5); [INFO] [stdout] | --- consider giving `rec` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 213 | rec.points(), [INFO] [stdout] | ^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Bounded` found in the `num_traits` crate: [INFO] [stdout] - impl Bounded for i128; [INFO] [stdout] - impl Bounded for i16; [INFO] [stdout] - impl Bounded for i32; [INFO] [stdout] - impl Bounded for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::points` [INFO] [stdout] --> geo/src/bbox.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^^^^^ required by this bound in `BoundingBox::::points` [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn points(&self) -> [Point; 4] { [INFO] [stdout] | ------ required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:225:19 [INFO] [stdout] | [INFO] [stdout] 225 | let rec = BoundingBox::from_dimensions_and_origin(&PointU32::new(2, 4), 8, 6); [INFO] [stdout] | --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `rec` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::from_dimensions_and_origin` [INFO] [stdout] --> geo/src/bbox.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^ required by this bound in `BoundingBox::::from_dimensions_and_origin` [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn from_dimensions_and_origin(origin: &Point, width: T, height: T) -> Self { [INFO] [stdout] | -------------------------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:225:19 [INFO] [stdout] | [INFO] [stdout] 225 | let rec = BoundingBox::from_dimensions_and_origin(&PointU32::new(2, 4), 8, 6); [INFO] [stdout] | --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `rec` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Bounded` found in the `num_traits` crate: [INFO] [stdout] - impl Bounded for i128; [INFO] [stdout] - impl Bounded for i16; [INFO] [stdout] - impl Bounded for i32; [INFO] [stdout] - impl Bounded for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::from_dimensions_and_origin` [INFO] [stdout] --> geo/src/bbox.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^^^^^ required by this bound in `BoundingBox::::from_dimensions_and_origin` [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn from_dimensions_and_origin(origin: &Point, width: T, height: T) -> Self { [INFO] [stdout] | -------------------------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:227:24 [INFO] [stdout] | [INFO] [stdout] 225 | let rec = BoundingBox::from_dimensions_and_origin(&PointU32::new(2, 4), 8, 6); [INFO] [stdout] | --- consider giving `rec` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] 226 | [INFO] [stdout] 227 | assert_eq!(rec.center(), PointU32::new(6, 7)); [INFO] [stdout] | ^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::center` [INFO] [stdout] --> geo/src/bbox.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^ required by this bound in `BoundingBox::::center` [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn center(&self) -> Point { [INFO] [stdout] | ------ required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:227:24 [INFO] [stdout] | [INFO] [stdout] 225 | let rec = BoundingBox::from_dimensions_and_origin(&PointU32::new(2, 4), 8, 6); [INFO] [stdout] | --- consider giving `rec` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] 226 | [INFO] [stdout] 227 | assert_eq!(rec.center(), PointU32::new(6, 7)); [INFO] [stdout] | ^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Bounded` found in the `num_traits` crate: [INFO] [stdout] - impl Bounded for i128; [INFO] [stdout] - impl Bounded for i16; [INFO] [stdout] - impl Bounded for i32; [INFO] [stdout] - impl Bounded for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::center` [INFO] [stdout] --> geo/src/bbox.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^^^^^ required by this bound in `BoundingBox::::center` [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn center(&self) -> Point { [INFO] [stdout] | ------ required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:232:24 [INFO] [stdout] | [INFO] [stdout] 232 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::new` [INFO] [stdout] --> geo/src/bbox.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^ required by this bound in `BoundingBox::::new` [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn new() -> Self { [INFO] [stdout] | --- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:232:24 [INFO] [stdout] | [INFO] [stdout] 232 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Bounded` found in the `num_traits` crate: [INFO] [stdout] - impl Bounded for i128; [INFO] [stdout] - impl Bounded for i16; [INFO] [stdout] - impl Bounded for i32; [INFO] [stdout] - impl Bounded for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::new` [INFO] [stdout] --> geo/src/bbox.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^^^^^ required by this bound in `BoundingBox::::new` [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn new() -> Self { [INFO] [stdout] | --- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:233:22 [INFO] [stdout] | [INFO] [stdout] 232 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] 233 | assert!(bbox.is_empty()); [INFO] [stdout] | ^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::is_empty` [INFO] [stdout] --> geo/src/bbox.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^ required by this bound in `BoundingBox::::is_empty` [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | -------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:233:22 [INFO] [stdout] | [INFO] [stdout] 232 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] 233 | assert!(bbox.is_empty()); [INFO] [stdout] | ^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Bounded` found in the `num_traits` crate: [INFO] [stdout] - impl Bounded for i128; [INFO] [stdout] - impl Bounded for i16; [INFO] [stdout] - impl Bounded for i32; [INFO] [stdout] - impl Bounded for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::is_empty` [INFO] [stdout] --> geo/src/bbox.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^^^^^ required by this bound in `BoundingBox::::is_empty` [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | -------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:234:22 [INFO] [stdout] | [INFO] [stdout] 232 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] 233 | assert!(bbox.is_empty()); [INFO] [stdout] 234 | assert!(bbox.dimensions().is_none()); [INFO] [stdout] | ^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::dimensions` [INFO] [stdout] --> geo/src/bbox.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^ required by this bound in `BoundingBox::::dimensions` [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn dimensions(&self) -> Option<(T, T)> { [INFO] [stdout] | ---------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:234:22 [INFO] [stdout] | [INFO] [stdout] 232 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] 233 | assert!(bbox.is_empty()); [INFO] [stdout] 234 | assert!(bbox.dimensions().is_none()); [INFO] [stdout] | ^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Bounded` found in the `num_traits` crate: [INFO] [stdout] - impl Bounded for i128; [INFO] [stdout] - impl Bounded for i16; [INFO] [stdout] - impl Bounded for i32; [INFO] [stdout] - impl Bounded for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::dimensions` [INFO] [stdout] --> geo/src/bbox.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^^^^^ required by this bound in `BoundingBox::::dimensions` [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn dimensions(&self) -> Option<(T, T)> { [INFO] [stdout] | ---------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:236:14 [INFO] [stdout] | [INFO] [stdout] 232 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 236 | bbox.expand_by_point(&PointU32::new(8, 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::expand_by_point` [INFO] [stdout] --> geo/src/bbox.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^ required by this bound in `BoundingBox::::expand_by_point` [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn expand_by_point(&mut self, pt: &Point) { [INFO] [stdout] | --------------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:236:14 [INFO] [stdout] | [INFO] [stdout] 232 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 236 | bbox.expand_by_point(&PointU32::new(8, 8)); [INFO] [stdout] | ^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Bounded` found in the `num_traits` crate: [INFO] [stdout] - impl Bounded for i128; [INFO] [stdout] - impl Bounded for i16; [INFO] [stdout] - impl Bounded for i32; [INFO] [stdout] - impl Bounded for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::expand_by_point` [INFO] [stdout] --> geo/src/bbox.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^^^^^ required by this bound in `BoundingBox::::expand_by_point` [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn expand_by_point(&mut self, pt: &Point) { [INFO] [stdout] | --------------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:237:25 [INFO] [stdout] | [INFO] [stdout] 232 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 237 | assert_eq!(bbox.dimensions(), Some((0, 0))); [INFO] [stdout] | ^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::dimensions` [INFO] [stdout] --> geo/src/bbox.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^ required by this bound in `BoundingBox::::dimensions` [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn dimensions(&self) -> Option<(T, T)> { [INFO] [stdout] | ---------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:237:25 [INFO] [stdout] | [INFO] [stdout] 232 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 237 | assert_eq!(bbox.dimensions(), Some((0, 0))); [INFO] [stdout] | ^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Bounded` found in the `num_traits` crate: [INFO] [stdout] - impl Bounded for i128; [INFO] [stdout] - impl Bounded for i16; [INFO] [stdout] - impl Bounded for i32; [INFO] [stdout] - impl Bounded for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::dimensions` [INFO] [stdout] --> geo/src/bbox.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^^^^^ required by this bound in `BoundingBox::::dimensions` [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn dimensions(&self) -> Option<(T, T)> { [INFO] [stdout] | ---------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:238:25 [INFO] [stdout] | [INFO] [stdout] 232 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 238 | assert_eq!(bbox.width(), Some(0)); [INFO] [stdout] | ^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::width` [INFO] [stdout] --> geo/src/bbox.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^ required by this bound in `BoundingBox::::width` [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn width(&self) -> Option { [INFO] [stdout] | ----- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:238:25 [INFO] [stdout] | [INFO] [stdout] 232 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 238 | assert_eq!(bbox.width(), Some(0)); [INFO] [stdout] | ^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Bounded` found in the `num_traits` crate: [INFO] [stdout] - impl Bounded for i128; [INFO] [stdout] - impl Bounded for i16; [INFO] [stdout] - impl Bounded for i32; [INFO] [stdout] - impl Bounded for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::width` [INFO] [stdout] --> geo/src/bbox.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^^^^^ required by this bound in `BoundingBox::::width` [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn width(&self) -> Option { [INFO] [stdout] | ----- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:249:24 [INFO] [stdout] | [INFO] [stdout] 249 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::new` [INFO] [stdout] --> geo/src/bbox.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^ required by this bound in `BoundingBox::::new` [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn new() -> Self { [INFO] [stdout] | --- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:249:24 [INFO] [stdout] | [INFO] [stdout] 249 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Bounded` found in the `num_traits` crate: [INFO] [stdout] - impl Bounded for i128; [INFO] [stdout] - impl Bounded for i16; [INFO] [stdout] - impl Bounded for i32; [INFO] [stdout] - impl Bounded for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::new` [INFO] [stdout] --> geo/src/bbox.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^^^^^ required by this bound in `BoundingBox::::new` [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn new() -> Self { [INFO] [stdout] | --- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:251:22 [INFO] [stdout] | [INFO] [stdout] 249 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] 250 | [INFO] [stdout] 251 | assert!(bbox.area().is_none()); [INFO] [stdout] | ^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::area` [INFO] [stdout] --> geo/src/bbox.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^ required by this bound in `BoundingBox::::area` [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn area(&self) -> Option { [INFO] [stdout] | ---- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:251:22 [INFO] [stdout] | [INFO] [stdout] 249 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] 250 | [INFO] [stdout] 251 | assert!(bbox.area().is_none()); [INFO] [stdout] | ^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Bounded` found in the `num_traits` crate: [INFO] [stdout] - impl Bounded for i128; [INFO] [stdout] - impl Bounded for i16; [INFO] [stdout] - impl Bounded for i32; [INFO] [stdout] - impl Bounded for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::area` [INFO] [stdout] --> geo/src/bbox.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^^^^^ required by this bound in `BoundingBox::::area` [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn area(&self) -> Option { [INFO] [stdout] | ---- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:253:14 [INFO] [stdout] | [INFO] [stdout] 249 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 253 | bbox.expand_by_point(&PointU32::new(4, 4)); [INFO] [stdout] | ^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::expand_by_point` [INFO] [stdout] --> geo/src/bbox.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^ required by this bound in `BoundingBox::::expand_by_point` [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn expand_by_point(&mut self, pt: &Point) { [INFO] [stdout] | --------------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:253:14 [INFO] [stdout] | [INFO] [stdout] 249 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 253 | bbox.expand_by_point(&PointU32::new(4, 4)); [INFO] [stdout] | ^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Bounded` found in the `num_traits` crate: [INFO] [stdout] - impl Bounded for i128; [INFO] [stdout] - impl Bounded for i16; [INFO] [stdout] - impl Bounded for i32; [INFO] [stdout] - impl Bounded for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::expand_by_point` [INFO] [stdout] --> geo/src/bbox.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^^^^^ required by this bound in `BoundingBox::::expand_by_point` [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn expand_by_point(&mut self, pt: &Point) { [INFO] [stdout] | --------------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:254:25 [INFO] [stdout] | [INFO] [stdout] 249 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 254 | assert_eq!(bbox.area(), Some(0)); [INFO] [stdout] | ^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::area` [INFO] [stdout] --> geo/src/bbox.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^ required by this bound in `BoundingBox::::area` [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn area(&self) -> Option { [INFO] [stdout] | ---- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:254:25 [INFO] [stdout] | [INFO] [stdout] 249 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 254 | assert_eq!(bbox.area(), Some(0)); [INFO] [stdout] | ^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Bounded` found in the `num_traits` crate: [INFO] [stdout] - impl Bounded for i128; [INFO] [stdout] - impl Bounded for i16; [INFO] [stdout] - impl Bounded for i32; [INFO] [stdout] - impl Bounded for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::area` [INFO] [stdout] --> geo/src/bbox.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^^^^^ required by this bound in `BoundingBox::::area` [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn area(&self) -> Option { [INFO] [stdout] | ---- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:256:14 [INFO] [stdout] | [INFO] [stdout] 249 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 256 | bbox.expand_by_point(&PointU32::new(8, 9)); [INFO] [stdout] | ^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::expand_by_point` [INFO] [stdout] --> geo/src/bbox.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^ required by this bound in `BoundingBox::::expand_by_point` [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn expand_by_point(&mut self, pt: &Point) { [INFO] [stdout] | --------------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `BoundingBox<{integer}>` [INFO] [stdout] --> geo/src/bbox.rs:256:14 [INFO] [stdout] | [INFO] [stdout] 249 | let mut bbox = BoundingBox::new(); [INFO] [stdout] | -------- consider giving `bbox` the explicit type `BoundingBox<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 256 | bbox.expand_by_point(&PointU32::new(8, 9)); [INFO] [stdout] | ^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Bounded` found in the `num_traits` crate: [INFO] [stdout] - impl Bounded for i128; [INFO] [stdout] - impl Bounded for i16; [INFO] [stdout] - impl Bounded for i32; [INFO] [stdout] - impl Bounded for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `BoundingBox::::expand_by_point` [INFO] [stdout] --> geo/src/bbox.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | T: num::Num + num::Bounded + From + Copy + PartialOrd, [INFO] [stdout] | ^^^^^^^^^^^^ required by this bound in `BoundingBox::::expand_by_point` [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn expand_by_point(&mut self, pt: &Point) { [INFO] [stdout] | --------------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0284]: type annotations needed [INFO] [stdout] --> geo/src/kmeans.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | / proptest! { [INFO] [stdout] 148 | | #![proptest_config(proptest::test_runner::Config::with_cases(500))] [INFO] [stdout] 149 | | #[test] [INFO] [stdout] 150 | | fn prop_kmeans_clusters_contains_closest_point( [INFO] [stdout] ... | [INFO] [stdout] 154 | | } [INFO] [stdout] 155 | | } [INFO] [stdout] | |_____^ cannot infer type for type parameter `S` declared on the associated function `run` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `<_ as proptest::strategy::Strategy>::Value == _` [INFO] [stdout] = note: this error originates in the macro `$crate::proptest_helper` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> geo/src/line.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | LineEquation::between(&PointI32::new(3, 3), &PointI32::new(9, 9)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::between` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::between` [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn between(p1: &Point, p2: &Point) -> Self { [INFO] [stdout] | ------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> geo/src/line.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 178 | LineEquation::line(1, 0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::line` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::line` [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn line(slope: T, yintercept: T) -> Self { [INFO] [stdout] | ---- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> geo/src/line.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | LineEquation::between(&PointI32::new(3, 5), &PointI32::new(-3, -1)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::between` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::between` [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn between(p1: &Point, p2: &Point) -> Self { [INFO] [stdout] | ------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> geo/src/line.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | LineEquation::line(1, 2) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::line` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::line` [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn line(slope: T, yintercept: T) -> Self { [INFO] [stdout] | ---- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> geo/src/line.rs:187:13 [INFO] [stdout] | [INFO] [stdout] 187 | LineEquation::between(&PointI32::new(1, -10), &PointI32::new(-3, 22)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::between` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::between` [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn between(p1: &Point, p2: &Point) -> Self { [INFO] [stdout] | ------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> geo/src/line.rs:188:13 [INFO] [stdout] | [INFO] [stdout] 188 | LineEquation::line(-8, -2) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::line` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::line` [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn line(slope: T, yintercept: T) -> Self { [INFO] [stdout] | ---- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> geo/src/line.rs:192:13 [INFO] [stdout] | [INFO] [stdout] 192 | LineEquation::between(&PointI32::new(1, -10), &PointI32::new(1, 22)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::between` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::between` [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn between(p1: &Point, p2: &Point) -> Self { [INFO] [stdout] | ------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> geo/src/line.rs:193:13 [INFO] [stdout] | [INFO] [stdout] 193 | LineEquation::vertical(1) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::vertical` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::vertical` [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn vertical(x: T) -> Self { [INFO] [stdout] | -------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:218:21 [INFO] [stdout] | [INFO] [stdout] 218 | let line1 = LineEquation::between(&PointI32::new(3, 4), &PointI32::new(9, 10)); [INFO] [stdout] | ----- ^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `line1` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::between` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::between` [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn between(p1: &Point, p2: &Point) -> Self { [INFO] [stdout] | ------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:219:26 [INFO] [stdout] | [INFO] [stdout] 218 | let line1 = LineEquation::between(&PointI32::new(3, 4), &PointI32::new(9, 10)); [INFO] [stdout] | ----- consider giving `line1` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] 219 | assert_eq!(line1.x_at(4), Some(3)); [INFO] [stdout] | ^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::x_at` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::x_at` [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn x_at(&self, y: T) -> Option { [INFO] [stdout] | ---- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:220:26 [INFO] [stdout] | [INFO] [stdout] 218 | let line1 = LineEquation::between(&PointI32::new(3, 4), &PointI32::new(9, 10)); [INFO] [stdout] | ----- consider giving `line1` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] 219 | assert_eq!(line1.x_at(4), Some(3)); [INFO] [stdout] 220 | assert_eq!(line1.x_at(10), Some(9)); [INFO] [stdout] | ^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::x_at` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::x_at` [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn x_at(&self, y: T) -> Option { [INFO] [stdout] | ---- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:223:26 [INFO] [stdout] | [INFO] [stdout] 223 | let horizontal = LineEquation::horizonal(73); [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `horizontal` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::horizonal` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::horizonal` [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn horizonal(y: T) -> Self { [INFO] [stdout] | --------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:224:31 [INFO] [stdout] | [INFO] [stdout] 223 | let horizontal = LineEquation::horizonal(73); [INFO] [stdout] | ---------- consider giving `horizontal` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] 224 | assert_eq!(horizontal.x_at(0), None); [INFO] [stdout] | ^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::x_at` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::x_at` [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn x_at(&self, y: T) -> Option { [INFO] [stdout] | ---- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:228:24 [INFO] [stdout] | [INFO] [stdout] 228 | let vertical = LineEquation::vertical(2); [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `vertical` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::vertical` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::vertical` [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn vertical(x: T) -> Self { [INFO] [stdout] | -------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:229:29 [INFO] [stdout] | [INFO] [stdout] 228 | let vertical = LineEquation::vertical(2); [INFO] [stdout] | -------- consider giving `vertical` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] 229 | assert_eq!(vertical.x_at(0), Some(2)); [INFO] [stdout] | ^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::x_at` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::x_at` [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn x_at(&self, y: T) -> Option { [INFO] [stdout] | ---- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:235:21 [INFO] [stdout] | [INFO] [stdout] 235 | let line1 = LineEquation::between(&PointI32::new(3, 4), &PointI32::new(9, 10)); [INFO] [stdout] | ----- ^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `line1` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::between` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::between` [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn between(p1: &Point, p2: &Point) -> Self { [INFO] [stdout] | ------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:236:26 [INFO] [stdout] | [INFO] [stdout] 235 | let line1 = LineEquation::between(&PointI32::new(3, 4), &PointI32::new(9, 10)); [INFO] [stdout] | ----- consider giving `line1` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] 236 | assert_eq!(line1.dx_for(5), Some(5)); [INFO] [stdout] | ^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::dx_for` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::dx_for` [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn dx_for(&self, dy: T) -> Option { [INFO] [stdout] | ------ required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:237:26 [INFO] [stdout] | [INFO] [stdout] 235 | let line1 = LineEquation::between(&PointI32::new(3, 4), &PointI32::new(9, 10)); [INFO] [stdout] | ----- consider giving `line1` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] 236 | assert_eq!(line1.dx_for(5), Some(5)); [INFO] [stdout] 237 | assert_eq!(line1.dx_for(-3), Some(-3)); [INFO] [stdout] | ^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::dx_for` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::dx_for` [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn dx_for(&self, dy: T) -> Option { [INFO] [stdout] | ------ required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:240:26 [INFO] [stdout] | [INFO] [stdout] 240 | let horizontal = LineEquation::horizonal(73); [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `horizontal` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::horizonal` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::horizonal` [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn horizonal(y: T) -> Self { [INFO] [stdout] | --------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:241:31 [INFO] [stdout] | [INFO] [stdout] 240 | let horizontal = LineEquation::horizonal(73); [INFO] [stdout] | ---------- consider giving `horizontal` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] 241 | assert_eq!(horizontal.dx_for(0), None); [INFO] [stdout] | ^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::dx_for` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::dx_for` [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn dx_for(&self, dy: T) -> Option { [INFO] [stdout] | ------ required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:245:24 [INFO] [stdout] | [INFO] [stdout] 245 | let vertical = LineEquation::vertical(2); [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `vertical` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::vertical` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::vertical` [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn vertical(x: T) -> Self { [INFO] [stdout] | -------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:246:29 [INFO] [stdout] | [INFO] [stdout] 245 | let vertical = LineEquation::vertical(2); [INFO] [stdout] | -------- consider giving `vertical` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] 246 | assert_eq!(vertical.dx_for(0), Some(0)); [INFO] [stdout] | ^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::dx_for` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::dx_for` [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn dx_for(&self, dy: T) -> Option { [INFO] [stdout] | ------ required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> geo/src/line.rs:253:13 [INFO] [stdout] | [INFO] [stdout] 253 | LineEquation::vertical(2).intersection(&LineEquation::vertical(5)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^-------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this method call resolves to `Option>` [INFO] [stdout] | cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::vertical` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::vertical` [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn vertical(x: T) -> Self { [INFO] [stdout] | -------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> geo/src/line.rs:253:39 [INFO] [stdout] | [INFO] [stdout] 253 | LineEquation::vertical(2).intersection(&LineEquation::vertical(5)), [INFO] [stdout] | --------------------------^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | cannot infer type for type `{integer}` [INFO] [stdout] | this method call resolves to `Option>` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::intersection` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::intersection` [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn intersection(&self, other: &Self) -> Option> { [INFO] [stdout] | ------------ required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> geo/src/line.rs:253:53 [INFO] [stdout] | [INFO] [stdout] 253 | LineEquation::vertical(2).intersection(&LineEquation::vertical(5)), [INFO] [stdout] | ----------------------------------------^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | | [INFO] [stdout] | | cannot infer type for type `{integer}` [INFO] [stdout] | this method call resolves to `Option>` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::vertical` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::vertical` [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn vertical(x: T) -> Self { [INFO] [stdout] | -------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:257:21 [INFO] [stdout] | [INFO] [stdout] 257 | let line1 = LineEquation::line(1, 4); [INFO] [stdout] | ----- ^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `line1` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::line` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::line` [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn line(slope: T, yintercept: T) -> Self { [INFO] [stdout] | ---- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> geo/src/line.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | LineEquation::vertical(2).intersection(&line1), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this method call resolves to `Option>` [INFO] [stdout] | cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::vertical` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::vertical` [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn vertical(x: T) -> Self { [INFO] [stdout] | -------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> geo/src/line.rs:260:39 [INFO] [stdout] | [INFO] [stdout] 260 | LineEquation::vertical(2).intersection(&line1), [INFO] [stdout] | --------------------------^^^^^^^^^^^^-------- [INFO] [stdout] | | | [INFO] [stdout] | | cannot infer type for type `{integer}` [INFO] [stdout] | this method call resolves to `Option>` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::intersection` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::intersection` [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn intersection(&self, other: &Self) -> Option> { [INFO] [stdout] | ------------ required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:265:26 [INFO] [stdout] | [INFO] [stdout] 257 | let line1 = LineEquation::line(1, 4); [INFO] [stdout] | ----- consider giving `line1` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 265 | assert_eq!(line1.intersection(&LineEquation::line(1, -42)), None); [INFO] [stdout] | ^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::intersection` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::intersection` [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn intersection(&self, other: &Self) -> Option> { [INFO] [stdout] | ------------ required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:265:40 [INFO] [stdout] | [INFO] [stdout] 257 | let line1 = LineEquation::line(1, 4); [INFO] [stdout] | ----- consider giving `line1` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 265 | assert_eq!(line1.intersection(&LineEquation::line(1, -42)), None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::line` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::line` [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn line(slope: T, yintercept: T) -> Self { [INFO] [stdout] | ---- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:267:21 [INFO] [stdout] | [INFO] [stdout] 267 | let line2 = LineEquation::line(-1, -2); [INFO] [stdout] | ----- ^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `line2` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::line` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::line` [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn line(slope: T, yintercept: T) -> Self { [INFO] [stdout] | ---- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> geo/src/line.rs:274:13 [INFO] [stdout] | [INFO] [stdout] 274 | LineEquation::vertical(4).perpendicular(&PointI32::new(3, 2)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this method call resolves to `LineEquation` [INFO] [stdout] | cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::vertical` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::vertical` [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn vertical(x: T) -> Self { [INFO] [stdout] | -------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> geo/src/line.rs:274:39 [INFO] [stdout] | [INFO] [stdout] 274 | LineEquation::vertical(4).perpendicular(&PointI32::new(3, 2)), [INFO] [stdout] | --------------------------^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | | [INFO] [stdout] | | cannot infer type for type `{integer}` [INFO] [stdout] | this method call resolves to `LineEquation` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Signed` found in the `num_traits` crate: [INFO] [stdout] - impl Signed for i128; [INFO] [stdout] - impl Signed for i16; [INFO] [stdout] - impl Signed for i32; [INFO] [stdout] - impl Signed for i64; [INFO] [stdout] and 2 more [INFO] [stdout] note: required by a bound in `LineEquation::::perpendicular` [INFO] [stdout] --> geo/src/line.rs:146:8 [INFO] [stdout] | [INFO] [stdout] 146 | T: num::Signed + From + Copy, [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `LineEquation::::perpendicular` [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn perpendicular(&self, p: &Point) -> Self { [INFO] [stdout] | ------------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> geo/src/line.rs:275:13 [INFO] [stdout] | [INFO] [stdout] 275 | LineEquation::horizonal(2) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::horizonal` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::horizonal` [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn horizonal(y: T) -> Self { [INFO] [stdout] | --------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> geo/src/line.rs:279:13 [INFO] [stdout] | [INFO] [stdout] 279 | LineEquation::horizonal(2).perpendicular(&PointI32::new(1, 4)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^--------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this method call resolves to `LineEquation` [INFO] [stdout] | cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::horizonal` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::horizonal` [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn horizonal(y: T) -> Self { [INFO] [stdout] | --------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> geo/src/line.rs:279:40 [INFO] [stdout] | [INFO] [stdout] 279 | LineEquation::horizonal(2).perpendicular(&PointI32::new(1, 4)), [INFO] [stdout] | ---------------------------^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | | [INFO] [stdout] | | cannot infer type for type `{integer}` [INFO] [stdout] | this method call resolves to `LineEquation` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Signed` found in the `num_traits` crate: [INFO] [stdout] - impl Signed for i128; [INFO] [stdout] - impl Signed for i16; [INFO] [stdout] - impl Signed for i32; [INFO] [stdout] - impl Signed for i64; [INFO] [stdout] and 2 more [INFO] [stdout] note: required by a bound in `LineEquation::::perpendicular` [INFO] [stdout] --> geo/src/line.rs:146:8 [INFO] [stdout] | [INFO] [stdout] 146 | T: num::Signed + From + Copy, [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `LineEquation::::perpendicular` [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn perpendicular(&self, p: &Point) -> Self { [INFO] [stdout] | ------------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> geo/src/line.rs:280:13 [INFO] [stdout] | [INFO] [stdout] 280 | LineEquation::vertical(1) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::vertical` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::vertical` [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn vertical(x: T) -> Self { [INFO] [stdout] | -------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:284:22 [INFO] [stdout] | [INFO] [stdout] 284 | let bisec1 = LineEquation::line(1, 0); [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `bisec1` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::line` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::line` [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn line(slope: T, yintercept: T) -> Self { [INFO] [stdout] | ---- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:285:22 [INFO] [stdout] | [INFO] [stdout] 285 | let bisec2 = LineEquation::line(-1, 0); [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `bisec2` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::line` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::line` [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn line(slope: T, yintercept: T) -> Self { [INFO] [stdout] | ---- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:287:27 [INFO] [stdout] | [INFO] [stdout] 284 | let bisec1 = LineEquation::line(1, 0); [INFO] [stdout] | ------ consider giving `bisec1` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 287 | assert_eq!(bisec1.perpendicular(&origin), bisec2); [INFO] [stdout] | ^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Signed` found in the `num_traits` crate: [INFO] [stdout] - impl Signed for i128; [INFO] [stdout] - impl Signed for i16; [INFO] [stdout] - impl Signed for i32; [INFO] [stdout] - impl Signed for i64; [INFO] [stdout] and 2 more [INFO] [stdout] note: required by a bound in `LineEquation::::perpendicular` [INFO] [stdout] --> geo/src/line.rs:146:8 [INFO] [stdout] | [INFO] [stdout] 146 | T: num::Signed + From + Copy, [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `LineEquation::::perpendicular` [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn perpendicular(&self, p: &Point) -> Self { [INFO] [stdout] | ------------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:288:27 [INFO] [stdout] | [INFO] [stdout] 285 | let bisec2 = LineEquation::line(-1, 0); [INFO] [stdout] | ------ consider giving `bisec2` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 288 | assert_eq!(bisec2.perpendicular(&origin), bisec1); [INFO] [stdout] | ^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Signed` found in the `num_traits` crate: [INFO] [stdout] - impl Signed for i128; [INFO] [stdout] - impl Signed for i16; [INFO] [stdout] - impl Signed for i32; [INFO] [stdout] - impl Signed for i64; [INFO] [stdout] and 2 more [INFO] [stdout] note: required by a bound in `LineEquation::::perpendicular` [INFO] [stdout] --> geo/src/line.rs:146:8 [INFO] [stdout] | [INFO] [stdout] 146 | T: num::Signed + From + Copy, [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `LineEquation::::perpendicular` [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn perpendicular(&self, p: &Point) -> Self { [INFO] [stdout] | ------------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:291:21 [INFO] [stdout] | [INFO] [stdout] 291 | let line1 = LineEquation::line(1, 3); [INFO] [stdout] | ----- ^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `line1` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::line` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::line` [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn line(slope: T, yintercept: T) -> Self { [INFO] [stdout] | ---- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:292:21 [INFO] [stdout] | [INFO] [stdout] 292 | let line2 = LineEquation::line(-1, 3); [INFO] [stdout] | ----- ^^^^^^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | | [INFO] [stdout] | consider giving `line2` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Num` found in the `num_traits` crate: [INFO] [stdout] - impl Num for i128; [INFO] [stdout] - impl Num for i16; [INFO] [stdout] - impl Num for i32; [INFO] [stdout] - impl Num for i64; [INFO] [stdout] and 8 more [INFO] [stdout] note: required by a bound in `LineEquation::::line` [INFO] [stdout] --> geo/src/line.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | T: num::Num + From + Copy, [INFO] [stdout] | ^^^^^^^^ required by this bound in `LineEquation::::line` [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn line(slope: T, yintercept: T) -> Self { [INFO] [stdout] | ---- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:294:26 [INFO] [stdout] | [INFO] [stdout] 291 | let line1 = LineEquation::line(1, 3); [INFO] [stdout] | ----- consider giving `line1` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 294 | assert_eq!(line1.perpendicular(&p), line2); [INFO] [stdout] | ^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Signed` found in the `num_traits` crate: [INFO] [stdout] - impl Signed for i128; [INFO] [stdout] - impl Signed for i16; [INFO] [stdout] - impl Signed for i32; [INFO] [stdout] - impl Signed for i64; [INFO] [stdout] and 2 more [INFO] [stdout] note: required by a bound in `LineEquation::::perpendicular` [INFO] [stdout] --> geo/src/line.rs:146:8 [INFO] [stdout] | [INFO] [stdout] 146 | T: num::Signed + From + Copy, [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `LineEquation::::perpendicular` [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn perpendicular(&self, p: &Point) -> Self { [INFO] [stdout] | ------------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed for `LineEquation<{integer}>` [INFO] [stdout] --> geo/src/line.rs:295:26 [INFO] [stdout] | [INFO] [stdout] 292 | let line2 = LineEquation::line(-1, 3); [INFO] [stdout] | ----- consider giving `line2` the explicit type `LineEquation<{integer}>`, where the type parameter `{integer}` is specified [INFO] [stdout] ... [INFO] [stdout] 295 | assert_eq!(line2.perpendicular(&p), line1); [INFO] [stdout] | ^^^^^^^^^^^^^ cannot infer type for type `{integer}` [INFO] [stdout] | [INFO] [stdout] = note: multiple `impl`s satisfying `{integer}: Signed` found in the `num_traits` crate: [INFO] [stdout] - impl Signed for i128; [INFO] [stdout] - impl Signed for i16; [INFO] [stdout] - impl Signed for i32; [INFO] [stdout] - impl Signed for i64; [INFO] [stdout] and 2 more [INFO] [stdout] note: required by a bound in `LineEquation::::perpendicular` [INFO] [stdout] --> geo/src/line.rs:146:8 [INFO] [stdout] | [INFO] [stdout] 146 | T: num::Signed + From + Copy, [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `LineEquation::::perpendicular` [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn perpendicular(&self, p: &Point) -> Self { [INFO] [stdout] | ------------- required by a bound in this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 95 previous errors; 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0283, E0284, E0432. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0283`. [INFO] [stdout] [INFO] [stderr] error: could not compile `geo` due to 96 previous errors; 4 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "3db2b296c3117aab3efc3c4e4ae7df83a69de63c6314df4f283d0ae188655e14", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3db2b296c3117aab3efc3c4e4ae7df83a69de63c6314df4f283d0ae188655e14", kill_on_drop: false }` [INFO] [stdout] 3db2b296c3117aab3efc3c4e4ae7df83a69de63c6314df4f283d0ae188655e14