[INFO] cloning repository https://github.com/nick-ls/dither
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nick-ls/dither" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnick-ls%2Fdither", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnick-ls%2Fdither'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b50579cb9d3a806ebe013d6479efb7f593f24b35
[INFO] checking nick-ls/dither against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnick-ls%2Fdither" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/nick-ls/dither
[INFO] finished tweaking git repo https://github.com/nick-ls/dither
[INFO] tweaked toml for git repo https://github.com/nick-ls/dither written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/nick-ls/dither on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/nick-ls/dither already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9a381b4ee55c231da0c7911d232096fa3aa6ed9f54af4f62ecdab1338e316154
[INFO] running `Command { std: "docker" "start" "9a381b4ee55c231da0c7911d232096fa3aa6ed9f54af4f62ecdab1338e316154", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9a381b4ee55c231da0c7911d232096fa3aa6ed9f54af4f62ecdab1338e316154", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9a381b4ee55c231da0c7911d232096fa3aa6ed9f54af4f62ecdab1338e316154" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9a381b4ee55c231da0c7911d232096fa3aa6ed9f54af4f62ecdab1338e316154", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9a381b4ee55c231da0c7911d232096fa3aa6ed9f54af4f62ecdab1338e316154" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.127
[INFO] [stderr]    Compiling bumpalo v3.20.3
[INFO] [stderr]     Checking unicode-ident v1.0.24
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]    Compiling wasm-bindgen v0.2.127
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.127
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.127
[INFO] [stderr]     Checking dither v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: macro expansion ends with an incomplete expression: expected expression
[INFO] [stdout]    --> src/lib.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout]  25 |     ($a:expr, $b:expr) => {};
[INFO] [stdout]     |                           -- in this macro arm
[INFO] [stdout] ...
[INFO] [stdout] 151 |             if !rough_eq!(old_centroid, new_centroid) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro call doesn't expand to an expression, but it can expand to a statement
[INFO] [stdout] help: add `;` to interpret the expansion as a statement
[INFO] [stdout]     |
[INFO] [stdout] 151 |             if !rough_eq!(old_centroid, new_centroid); {
[INFO] [stdout]     |                                                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: macro expansion ends with an incomplete expression: expected expression
[INFO] [stdout]    --> src/lib.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout]  25 |     ($a:expr, $b:expr) => {};
[INFO] [stdout]     |                           -- in this macro arm
[INFO] [stdout] ...
[INFO] [stdout] 151 |             if !rough_eq!(old_centroid, new_centroid) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro call doesn't expand to an expression, but it can expand to a statement
[INFO] [stdout] help: add `;` to interpret the expansion as a statement
[INFO] [stdout]     |
[INFO] [stdout] 151 |             if !rough_eq!(old_centroid, new_centroid); {
[INFO] [stdout]     |                                                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `u8` to `f64`
[INFO] [stdout]    --> src/lib.rs:12:15
[INFO] [stdout]     |
[INFO] [stdout]  10 | / macro_rules! add {
[INFO] [stdout]  11 | |     ($a:expr, $b:expr) => {
[INFO] [stdout]  12 | |         $a[0] += $b[0];
[INFO] [stdout]     | |               ^^ no implementation for `f64 += u8`
[INFO] [stdout]  13 | |         $a[1] += $b[1];
[INFO] [stdout]  14 | |         $a[2] += $b[2];
[INFO] [stdout]  15 | |     };
[INFO] [stdout]  16 | | }
[INFO] [stdout]     | |_- this error originates in the macro `add` which comes from the expansion of the macro `add_assign_impl`
[INFO] [stdout] ...
[INFO] [stdout] 120 |           add!(centroid, point);
[INFO] [stdout]     |           --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `AddAssign<u8>` is not implemented for `f64`
[INFO] [stdout] help: `f64` implements trait `AddAssign<Rhs>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/internal_macros.rs:61:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AddAssign<&f64>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:786:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AddAssign`
[INFO] [stdout]    ::: /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:799:0
[INFO] [stdout]     |
[INFO] [stdout]     = note: in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `u8` to `f64`
[INFO] [stdout]    --> src/lib.rs:12:15
[INFO] [stdout]     |
[INFO] [stdout]  10 | / macro_rules! add {
[INFO] [stdout]  11 | |     ($a:expr, $b:expr) => {
[INFO] [stdout]  12 | |         $a[0] += $b[0];
[INFO] [stdout]     | |               ^^ no implementation for `f64 += u8`
[INFO] [stdout]  13 | |         $a[1] += $b[1];
[INFO] [stdout]  14 | |         $a[2] += $b[2];
[INFO] [stdout]  15 | |     };
[INFO] [stdout]  16 | | }
[INFO] [stdout]     | |_- this error originates in the macro `add` which comes from the expansion of the macro `add_assign_impl`
[INFO] [stdout] ...
[INFO] [stdout] 120 |           add!(centroid, point);
[INFO] [stdout]     |           --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `AddAssign<u8>` is not implemented for `f64`
[INFO] [stdout] help: `f64` implements trait `AddAssign<Rhs>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/internal_macros.rs:61:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AddAssign<&f64>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:786:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AddAssign`
[INFO] [stdout]    ::: /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:799:0
[INFO] [stdout]     |
[INFO] [stdout]     = note: in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `u8` to `f64`
[INFO] [stdout]    --> src/lib.rs:13:15
[INFO] [stdout]     |
[INFO] [stdout]  10 | / macro_rules! add {
[INFO] [stdout]  11 | |     ($a:expr, $b:expr) => {
[INFO] [stdout]  12 | |         $a[0] += $b[0];
[INFO] [stdout]  13 | |         $a[1] += $b[1];
[INFO] [stdout]     | |               ^^ no implementation for `f64 += u8`
[INFO] [stdout]  14 | |         $a[2] += $b[2];
[INFO] [stdout]  15 | |     };
[INFO] [stdout]  16 | | }
[INFO] [stdout]     | |_- this error originates in the macro `add` which comes from the expansion of the macro `add_assign_impl`
[INFO] [stdout] ...
[INFO] [stdout] 120 |           add!(centroid, point);
[INFO] [stdout]     |           --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `AddAssign<u8>` is not implemented for `f64`
[INFO] [stdout] help: `f64` implements trait `AddAssign<Rhs>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/internal_macros.rs:61:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AddAssign<&f64>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:786:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AddAssign`
[INFO] [stdout]    ::: /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:799:0
[INFO] [stdout]     |
[INFO] [stdout]     = note: in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `u8` to `f64`
[INFO] [stdout]    --> src/lib.rs:13:15
[INFO] [stdout]     |
[INFO] [stdout]  10 | / macro_rules! add {
[INFO] [stdout]  11 | |     ($a:expr, $b:expr) => {
[INFO] [stdout]  12 | |         $a[0] += $b[0];
[INFO] [stdout]  13 | |         $a[1] += $b[1];
[INFO] [stdout]     | |               ^^ no implementation for `f64 += u8`
[INFO] [stdout]  14 | |         $a[2] += $b[2];
[INFO] [stdout]  15 | |     };
[INFO] [stdout]  16 | | }
[INFO] [stdout]     | |_- this error originates in the macro `add` which comes from the expansion of the macro `add_assign_impl`
[INFO] [stdout] ...
[INFO] [stdout] 120 |           add!(centroid, point);
[INFO] [stdout]     |           --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `AddAssign<u8>` is not implemented for `f64`
[INFO] [stdout] help: `f64` implements trait `AddAssign<Rhs>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/internal_macros.rs:61:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AddAssign<&f64>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:786:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AddAssign`
[INFO] [stdout]    ::: /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:799:0
[INFO] [stdout]     |
[INFO] [stdout]     = note: in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `u8` to `f64`
[INFO] [stdout]    --> src/lib.rs:14:15
[INFO] [stdout]     |
[INFO] [stdout]  10 | / macro_rules! add {
[INFO] [stdout]  11 | |     ($a:expr, $b:expr) => {
[INFO] [stdout]  12 | |         $a[0] += $b[0];
[INFO] [stdout]  13 | |         $a[1] += $b[1];
[INFO] [stdout]  14 | |         $a[2] += $b[2];
[INFO] [stdout]     | |               ^^ no implementation for `f64 += u8`
[INFO] [stdout]  15 | |     };
[INFO] [stdout]  16 | | }
[INFO] [stdout]     | |_- this error originates in the macro `add` which comes from the expansion of the macro `add_assign_impl`
[INFO] [stdout] ...
[INFO] [stdout] 120 |           add!(centroid, point);
[INFO] [stdout]     |           --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `AddAssign<u8>` is not implemented for `f64`
[INFO] [stdout] help: `f64` implements trait `AddAssign<Rhs>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/internal_macros.rs:61:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AddAssign<&f64>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:786:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AddAssign`
[INFO] [stdout]    ::: /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:799:0
[INFO] [stdout]     |
[INFO] [stdout]     = note: in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `u8` to `f64`
[INFO] [stdout]    --> src/lib.rs:14:15
[INFO] [stdout]     |
[INFO] [stdout]  10 | / macro_rules! add {
[INFO] [stdout]  11 | |     ($a:expr, $b:expr) => {
[INFO] [stdout]  12 | |         $a[0] += $b[0];
[INFO] [stdout]  13 | |         $a[1] += $b[1];
[INFO] [stdout]  14 | |         $a[2] += $b[2];
[INFO] [stdout]     | |               ^^ no implementation for `f64 += u8`
[INFO] [stdout]  15 | |     };
[INFO] [stdout]  16 | | }
[INFO] [stdout]     | |_- this error originates in the macro `add` which comes from the expansion of the macro `add_assign_impl`
[INFO] [stdout] ...
[INFO] [stdout] 120 |           add!(centroid, point);
[INFO] [stdout]     |           --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `AddAssign<u8>` is not implemented for `f64`
[INFO] [stdout] help: `f64` implements trait `AddAssign<Rhs>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/internal_macros.rs:61:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AddAssign<&f64>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:786:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AddAssign`
[INFO] [stdout]    ::: /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:799:0
[INFO] [stdout]     |
[INFO] [stdout]     = note: in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot divide-assign `f64` by `&Vec<&[u8]>`
[INFO] [stdout]    --> src/lib.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  17 | / macro_rules! div {
[INFO] [stdout]  18 | |     ($a:expr, $b:expr) => {
[INFO] [stdout]  19 | |         $a[0] /= $b;
[INFO] [stdout]     | |         ----- ^^ no implementation for `f64 /= &Vec<&[u8]>`
[INFO] [stdout]  20 | |         $a[1] /= $b;
[INFO] [stdout]  21 | |         $a[2] /= $b;
[INFO] [stdout]  22 | |     };
[INFO] [stdout]  23 | | }
[INFO] [stdout]     | |_- this error originates in the macro `div` which comes from the expansion of the macro `div_assign_impl`
[INFO] [stdout] ...
[INFO] [stdout] 122 |       div!(centroid, points);
[INFO] [stdout]     |       ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `DivAssign<&Vec<&[u8]>>` is not implemented for `f64`
[INFO] [stdout] help: `f64` implements trait `DivAssign<Rhs>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/internal_macros.rs:61:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DivAssign<&f64>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:981:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DivAssign`
[INFO] [stdout]    ::: /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:993:0
[INFO] [stdout]     |
[INFO] [stdout]     = note: in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot divide-assign `f64` by `&Vec<&[u8]>`
[INFO] [stdout]    --> src/lib.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  17 | / macro_rules! div {
[INFO] [stdout]  18 | |     ($a:expr, $b:expr) => {
[INFO] [stdout]  19 | |         $a[0] /= $b;
[INFO] [stdout]     | |         ----- ^^ no implementation for `f64 /= &Vec<&[u8]>`
[INFO] [stdout]  20 | |         $a[1] /= $b;
[INFO] [stdout]  21 | |         $a[2] /= $b;
[INFO] [stdout]  22 | |     };
[INFO] [stdout]  23 | | }
[INFO] [stdout]     | |_- this error originates in the macro `div` which comes from the expansion of the macro `div_assign_impl`
[INFO] [stdout] ...
[INFO] [stdout] 122 |       div!(centroid, points);
[INFO] [stdout]     |       ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `DivAssign<&Vec<&[u8]>>` is not implemented for `f64`
[INFO] [stdout] help: `f64` implements trait `DivAssign<Rhs>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/internal_macros.rs:61:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DivAssign<&f64>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:981:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DivAssign`
[INFO] [stdout]    ::: /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:993:0
[INFO] [stdout]     |
[INFO] [stdout]     = note: in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot divide-assign `f64` by `&Vec<&[u8]>`
[INFO] [stdout]    --> src/lib.rs:20:15
[INFO] [stdout]     |
[INFO] [stdout]  17 | / macro_rules! div {
[INFO] [stdout]  18 | |     ($a:expr, $b:expr) => {
[INFO] [stdout]  19 | |         $a[0] /= $b;
[INFO] [stdout]  20 | |         $a[1] /= $b;
[INFO] [stdout]     | |         ----- ^^ no implementation for `f64 /= &Vec<&[u8]>`
[INFO] [stdout]  21 | |         $a[2] /= $b;
[INFO] [stdout]  22 | |     };
[INFO] [stdout]  23 | | }
[INFO] [stdout]     | |_- this error originates in the macro `div` which comes from the expansion of the macro `div_assign_impl`
[INFO] [stdout] ...
[INFO] [stdout] 122 |       div!(centroid, points);
[INFO] [stdout]     |       ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `DivAssign<&Vec<&[u8]>>` is not implemented for `f64`
[INFO] [stdout] help: `f64` implements trait `DivAssign<Rhs>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/internal_macros.rs:61:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DivAssign<&f64>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:981:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DivAssign`
[INFO] [stdout]    ::: /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:993:0
[INFO] [stdout]     |
[INFO] [stdout]     = note: in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot divide-assign `f64` by `&Vec<&[u8]>`
[INFO] [stdout]    --> src/lib.rs:20:15
[INFO] [stdout]     |
[INFO] [stdout]  17 | / macro_rules! div {
[INFO] [stdout]  18 | |     ($a:expr, $b:expr) => {
[INFO] [stdout]  19 | |         $a[0] /= $b;
[INFO] [stdout]  20 | |         $a[1] /= $b;
[INFO] [stdout]     | |         ----- ^^ no implementation for `f64 /= &Vec<&[u8]>`
[INFO] [stdout]  21 | |         $a[2] /= $b;
[INFO] [stdout]  22 | |     };
[INFO] [stdout]  23 | | }
[INFO] [stdout]     | |_- this error originates in the macro `div` which comes from the expansion of the macro `div_assign_impl`
[INFO] [stdout] ...
[INFO] [stdout] 122 |       div!(centroid, points);
[INFO] [stdout]     |       ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `DivAssign<&Vec<&[u8]>>` is not implemented for `f64`
[INFO] [stdout] help: `f64` implements trait `DivAssign<Rhs>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/internal_macros.rs:61:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DivAssign<&f64>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:981:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DivAssign`
[INFO] [stdout]    ::: /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:993:0
[INFO] [stdout]     |
[INFO] [stdout]     = note: in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot divide-assign `f64` by `&Vec<&[u8]>`
[INFO] [stdout]    --> src/lib.rs:21:15
[INFO] [stdout]     |
[INFO] [stdout]  17 | / macro_rules! div {
[INFO] [stdout]  18 | |     ($a:expr, $b:expr) => {
[INFO] [stdout]  19 | |         $a[0] /= $b;
[INFO] [stdout]  20 | |         $a[1] /= $b;
[INFO] [stdout]  21 | |         $a[2] /= $b;
[INFO] [stdout]     | |         ----- ^^ no implementation for `f64 /= &Vec<&[u8]>`
[INFO] [stdout]  22 | |     };
[INFO] [stdout]  23 | | }
[INFO] [stdout]     | |_- this error originates in the macro `div` which comes from the expansion of the macro `div_assign_impl`
[INFO] [stdout] ...
[INFO] [stdout] 122 |       div!(centroid, points);
[INFO] [stdout]     |       ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `DivAssign<&Vec<&[u8]>>` is not implemented for `f64`
[INFO] [stdout] help: `f64` implements trait `DivAssign<Rhs>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/internal_macros.rs:61:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DivAssign<&f64>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:981:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DivAssign`
[INFO] [stdout]    ::: /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:993:0
[INFO] [stdout]     |
[INFO] [stdout]     = note: in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot divide-assign `f64` by `&Vec<&[u8]>`
[INFO] [stdout]    --> src/lib.rs:21:15
[INFO] [stdout]     |
[INFO] [stdout]  17 | / macro_rules! div {
[INFO] [stdout]  18 | |     ($a:expr, $b:expr) => {
[INFO] [stdout]  19 | |         $a[0] /= $b;
[INFO] [stdout]  20 | |         $a[1] /= $b;
[INFO] [stdout]  21 | |         $a[2] /= $b;
[INFO] [stdout]     | |         ----- ^^ no implementation for `f64 /= &Vec<&[u8]>`
[INFO] [stdout]  22 | |     };
[INFO] [stdout]  23 | | }
[INFO] [stdout]     | |_- this error originates in the macro `div` which comes from the expansion of the macro `div_assign_impl`
[INFO] [stdout] ...
[INFO] [stdout] 122 |       div!(centroid, points);
[INFO] [stdout]     |       ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `DivAssign<&Vec<&[u8]>>` is not implemented for `f64`
[INFO] [stdout] help: `f64` implements trait `DivAssign<Rhs>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/internal_macros.rs:61:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DivAssign<&f64>`
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:981:8
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DivAssign`
[INFO] [stdout]    ::: /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/ops/arith.rs:993:0
[INFO] [stdout]     |
[INFO] [stdout]     = note: in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lib.rs:152:29
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let centroids = initial_centroids_impl(k, &srgba_points);
[INFO] [stdout]     |                     ---------------------------------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 149 |         let new_centroids = clusters.iter().map(|cluster| calculate_centroid(&cluster));
[INFO] [stdout]     |                                                 --------- the found closure
[INFO] [stdout] ...
[INFO] [stdout] 152 |                 centroids = new_centroids;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ expected `Vec<Vec<f64>>`, found `Map<Iter<'_, Vec<&[u8]>>, {closure@...}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<Vec<f64>>`
[INFO] [stdout]                found struct `Map<std::slice::Iter<'_, Vec<&[u8]>>, {closure@src/lib.rs:149:49: 149:58}>`
[INFO] [stdout] help: consider using `.collect()` to convert the `Iterator` into a `Vec<Vec<f64>>`
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 centroids = new_centroids.collect();
[INFO] [stdout]     |                                          ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lib.rs:152:29
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let centroids = initial_centroids_impl(k, &srgba_points);
[INFO] [stdout]     |                     ---------------------------------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 149 |         let new_centroids = clusters.iter().map(|cluster| calculate_centroid(&cluster));
[INFO] [stdout]     |                                                 --------- the found closure
[INFO] [stdout] ...
[INFO] [stdout] 152 |                 centroids = new_centroids;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ expected `Vec<Vec<f64>>`, found `Map<Iter<'_, Vec<&[u8]>>, {closure@...}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<Vec<f64>>`
[INFO] [stdout]                found struct `Map<std::slice::Iter<'_, Vec<&[u8]>>, {closure@src/lib.rs:149:49: 149:58}>`
[INFO] [stdout] help: consider using `.collect()` to convert the `Iterator` into a `Vec<Vec<f64>>`
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 centroids = new_centroids.collect();
[INFO] [stdout]     |                                          ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dither` (lib test) due to 8 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `dither` (lib) due to 8 previous errors
[INFO] running `Command { std: "docker" "inspect" "9a381b4ee55c231da0c7911d232096fa3aa6ed9f54af4f62ecdab1338e316154", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a381b4ee55c231da0c7911d232096fa3aa6ed9f54af4f62ecdab1338e316154", kill_on_drop: false }`
[INFO] [stdout] 9a381b4ee55c231da0c7911d232096fa3aa6ed9f54af4f62ecdab1338e316154
