[INFO] updating cached repository techgeek1/eden-math [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/techgeek1/eden-math [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/techgeek1/eden-math" "work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/techgeek1/eden-math"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/techgeek1/eden-math'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/techgeek1/eden-math" "work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/techgeek1/eden-math"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/techgeek1/eden-math'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 52d99d744fb4581181d4ab13fe5ccc386361f2c7 [INFO] sha for GitHub repo techgeek1/eden-math: 52d99d744fb4581181d4ab13fe5ccc386361f2c7 [INFO] validating manifest of techgeek1/eden-math on toolchain master#60960a260f7b5c695fd0717311d72ce62dd4eb43 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of techgeek1/eden-math on toolchain try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing techgeek1/eden-math [INFO] finished frobbing techgeek1/eden-math [INFO] frobbed toml for techgeek1/eden-math written to work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/techgeek1/eden-math/Cargo.toml [INFO] started frobbing techgeek1/eden-math [INFO] finished frobbing techgeek1/eden-math [INFO] frobbed toml for techgeek1/eden-math written to work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/techgeek1/eden-math/Cargo.toml [INFO] crate techgeek1/eden-math already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking techgeek1/eden-math against master#60960a260f7b5c695fd0717311d72ce62dd4eb43 for pr-63376 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-63376/worker-4/master#60960a260f7b5c695fd0717311d72ce62dd4eb43:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/techgeek1/eden-math:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 75be47e4984ec5799ad567e23c44607972c0cc81d707ce04722096a8c4aa6790 [INFO] running `"docker" "start" "-a" "75be47e4984ec5799ad567e23c44607972c0cc81d707ce04722096a8c4aa6790"` [INFO] [stderr] Checking approx v0.3.2 [INFO] [stderr] Checking eden-math v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: the feature `const_generics` is incomplete and may cause the compiler to crash [INFO] [stderr] --> src/lib.rs:3:12 [INFO] [stderr] | [INFO] [stderr] 3 | #![feature(const_generics)] [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(incomplete_features)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `abs_diff_eq`, `relative_eq`, `ulps_eq` [INFO] [stderr] --> src/quaternion/mod.rs:4:14 [INFO] [stderr] | [INFO] [stderr] 4 | use approx::{abs_diff_eq, relative_eq, ulps_eq, AbsDiffEq, RelativeEq, UlpsEq}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: the feature `const_generics` is incomplete and may cause the compiler to crash [INFO] [stderr] --> src/lib.rs:3:12 [INFO] [stderr] | [INFO] [stderr] 3 | #![feature(const_generics)] [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(incomplete_features)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `abs_diff_eq`, `relative_eq`, `ulps_eq` [INFO] [stderr] --> src/quaternion/mod.rs:4:14 [INFO] [stderr] | [INFO] [stderr] 4 | use approx::{abs_diff_eq, relative_eq, ulps_eq, AbsDiffEq, RelativeEq, UlpsEq}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] error[E0594]: cannot assign to `*value` which is behind a `&` reference [INFO] [stderr] --> src/matrix.rs:550:13 [INFO] [stderr] | [INFO] [stderr] 549 | for value in self.as_mut_slice().iter() { [INFO] [stderr] | ----- help: consider changing this to be a mutable reference: `&mut T` [INFO] [stderr] 550 | *value = -*value [INFO] [stderr] | ^^^^^^^^^^^^^^^^ `value` is a `&` reference, so the data it refers to cannot be written [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:123:16 [INFO] [stderr] | [INFO] [stderr] 123 | x: T::from_lit(0.0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:124:16 [INFO] [stderr] | [INFO] [stderr] 124 | y: T::from_lit(0.0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:125:16 [INFO] [stderr] | [INFO] [stderr] 125 | z: T::from_lit(0.0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:126:16 [INFO] [stderr] | [INFO] [stderr] 126 | w: T::from_lit(1.0) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:186:16 [INFO] [stderr] | [INFO] [stderr] 186 | x: -self.x, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:187:16 [INFO] [stderr] | [INFO] [stderr] 187 | y: -self.y, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:188:16 [INFO] [stderr] | [INFO] [stderr] 188 | z: -self.z, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:200:9 [INFO] [stderr] | [INFO] [stderr] 200 | self.x * self.x + self.y * self.y + self.z * self.z + self.w * self.w [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:200:27 [INFO] [stderr] | [INFO] [stderr] 200 | self.x * self.x + self.y * self.y + self.z * self.z + self.w * self.w [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:200:9 [INFO] [stderr] | [INFO] [stderr] 200 | self.x * self.x + self.y * self.y + self.z * self.z + self.w * self.w [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:200:45 [INFO] [stderr] | [INFO] [stderr] 200 | self.x * self.x + self.y * self.y + self.z * self.z + self.w * self.w [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:200:9 [INFO] [stderr] | [INFO] [stderr] 200 | self.x * self.x + self.y * self.y + self.z * self.z + self.w * self.w [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:200:63 [INFO] [stderr] | [INFO] [stderr] 200 | self.x * self.x + self.y * self.y + self.z * self.z + self.w * self.w [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:200:9 [INFO] [stderr] | [INFO] [stderr] 200 | self.x * self.x + self.y * self.y + self.z * self.z + self.w * self.w [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | self.x * other.x + self.y * other.y + self.z * other.z + self.w * other.w [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:235:28 [INFO] [stderr] | [INFO] [stderr] 235 | self.x * other.x + self.y * other.y + self.z * other.z + self.w * other.w [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | self.x * other.x + self.y * other.y + self.z * other.z + self.w * other.w [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:235:47 [INFO] [stderr] | [INFO] [stderr] 235 | self.x * other.x + self.y * other.y + self.z * other.z + self.w * other.w [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | self.x * other.x + self.y * other.y + self.z * other.z + self.w * other.w [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:235:66 [INFO] [stderr] | [INFO] [stderr] 235 | self.x * other.x + self.y * other.y + self.z * other.z + self.w * other.w [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | self.x * other.x + self.y * other.y + self.z * other.z + self.w * other.w [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `epsilon` [INFO] [stderr] --> src/quaternion/mod.rs:473:50 [INFO] [stderr] | [INFO] [stderr] 471 | fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool { [INFO] [stderr] | ------- move occurs because `epsilon` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] 472 | let mut result = self[0].abs_diff_eq(&other[0], epsilon); [INFO] [stderr] | ------- value moved here [INFO] [stderr] 473 | result &= self[1].abs_diff_eq(&other[1], epsilon); [INFO] [stderr] | ^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `epsilon` [INFO] [stderr] --> src/quaternion/mod.rs:474:50 [INFO] [stderr] | [INFO] [stderr] 471 | fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool { [INFO] [stderr] | ------- move occurs because `epsilon` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] 472 | let mut result = self[0].abs_diff_eq(&other[0], epsilon); [INFO] [stderr] 473 | result &= self[1].abs_diff_eq(&other[1], epsilon); [INFO] [stderr] | ------- value moved here [INFO] [stderr] 474 | result &= self[2].abs_diff_eq(&other[2], epsilon); [INFO] [stderr] | ^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `epsilon` [INFO] [stderr] --> src/quaternion/mod.rs:475:50 [INFO] [stderr] | [INFO] [stderr] 471 | fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool { [INFO] [stderr] | ------- move occurs because `epsilon` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] ... [INFO] [stderr] 474 | result &= self[2].abs_diff_eq(&other[2], epsilon); [INFO] [stderr] | ------- value moved here [INFO] [stderr] 475 | result &= self[3].abs_diff_eq(&other[3], epsilon); [INFO] [stderr] | ^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `epsilon` [INFO] [stderr] --> src/quaternion/mod.rs:488:50 [INFO] [stderr] | [INFO] [stderr] 486 | fn relative_eq(&self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon) -> bool { [INFO] [stderr] | ------- move occurs because `epsilon` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] 487 | let mut result = self[0].relative_eq(&other[0], epsilon, max_relative); [INFO] [stderr] | ------- value moved here [INFO] [stderr] 488 | result &= self[1].relative_eq(&other[1], epsilon, max_relative); [INFO] [stderr] | ^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `max_relative` [INFO] [stderr] --> src/quaternion/mod.rs:488:59 [INFO] [stderr] | [INFO] [stderr] 486 | fn relative_eq(&self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon) -> bool { [INFO] [stderr] | ------------ move occurs because `max_relative` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] 487 | let mut result = self[0].relative_eq(&other[0], epsilon, max_relative); [INFO] [stderr] | ------------ value moved here [INFO] [stderr] 488 | result &= self[1].relative_eq(&other[1], epsilon, max_relative); [INFO] [stderr] | ^^^^^^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `epsilon` [INFO] [stderr] --> src/quaternion/mod.rs:489:50 [INFO] [stderr] | [INFO] [stderr] 486 | fn relative_eq(&self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon) -> bool { [INFO] [stderr] | ------- move occurs because `epsilon` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] 487 | let mut result = self[0].relative_eq(&other[0], epsilon, max_relative); [INFO] [stderr] 488 | result &= self[1].relative_eq(&other[1], epsilon, max_relative); [INFO] [stderr] | ------- value moved here [INFO] [stderr] 489 | result &= self[2].relative_eq(&other[2], epsilon, max_relative); [INFO] [stderr] | ^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `max_relative` [INFO] [stderr] --> src/quaternion/mod.rs:489:59 [INFO] [stderr] | [INFO] [stderr] 486 | fn relative_eq(&self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon) -> bool { [INFO] [stderr] | ------------ move occurs because `max_relative` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] 487 | let mut result = self[0].relative_eq(&other[0], epsilon, max_relative); [INFO] [stderr] 488 | result &= self[1].relative_eq(&other[1], epsilon, max_relative); [INFO] [stderr] | ------------ value moved here [INFO] [stderr] 489 | result &= self[2].relative_eq(&other[2], epsilon, max_relative); [INFO] [stderr] | ^^^^^^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `epsilon` [INFO] [stderr] --> src/quaternion/mod.rs:490:50 [INFO] [stderr] | [INFO] [stderr] 486 | fn relative_eq(&self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon) -> bool { [INFO] [stderr] | ------- move occurs because `epsilon` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] ... [INFO] [stderr] 489 | result &= self[2].relative_eq(&other[2], epsilon, max_relative); [INFO] [stderr] | ------- value moved here [INFO] [stderr] 490 | result &= self[3].relative_eq(&other[3], epsilon, max_relative); [INFO] [stderr] | ^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `max_relative` [INFO] [stderr] --> src/quaternion/mod.rs:490:59 [INFO] [stderr] | [INFO] [stderr] 486 | fn relative_eq(&self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon) -> bool { [INFO] [stderr] | ------------ move occurs because `max_relative` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] ... [INFO] [stderr] 489 | result &= self[2].relative_eq(&other[2], epsilon, max_relative); [INFO] [stderr] | ------------ value moved here [INFO] [stderr] 490 | result &= self[3].relative_eq(&other[3], epsilon, max_relative); [INFO] [stderr] | ^^^^^^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `epsilon` [INFO] [stderr] --> src/quaternion/mod.rs:503:46 [INFO] [stderr] | [INFO] [stderr] 501 | fn ulps_eq(&self, other: &Self, epsilon: Self::Epsilon, max_ulps: u32) -> bool { [INFO] [stderr] | ------- move occurs because `epsilon` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] 502 | let mut result = self[0].ulps_eq(&other[0], epsilon, max_ulps); [INFO] [stderr] | ------- value moved here [INFO] [stderr] 503 | result &= self[1].ulps_eq(&other[1], epsilon, max_ulps); [INFO] [stderr] | ^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `epsilon` [INFO] [stderr] --> src/quaternion/mod.rs:504:46 [INFO] [stderr] | [INFO] [stderr] 501 | fn ulps_eq(&self, other: &Self, epsilon: Self::Epsilon, max_ulps: u32) -> bool { [INFO] [stderr] | ------- move occurs because `epsilon` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] 502 | let mut result = self[0].ulps_eq(&other[0], epsilon, max_ulps); [INFO] [stderr] 503 | result &= self[1].ulps_eq(&other[1], epsilon, max_ulps); [INFO] [stderr] | ------- value moved here [INFO] [stderr] 504 | result &= self[2].ulps_eq(&other[2], epsilon, max_ulps); [INFO] [stderr] | ^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `epsilon` [INFO] [stderr] --> src/quaternion/mod.rs:505:46 [INFO] [stderr] | [INFO] [stderr] 501 | fn ulps_eq(&self, other: &Self, epsilon: Self::Epsilon, max_ulps: u32) -> bool { [INFO] [stderr] | ------- move occurs because `epsilon` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] ... [INFO] [stderr] 504 | result &= self[2].ulps_eq(&other[2], epsilon, max_ulps); [INFO] [stderr] | ------- value moved here [INFO] [stderr] 505 | result &= self[3].ulps_eq(&other[3], epsilon, max_ulps); [INFO] [stderr] | ^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error: aborting due to 34 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0015, E0382. [INFO] [stderr] For more information about an error, try `rustc --explain E0015`. [INFO] [stderr] error: Could not compile `eden-math`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0594]: cannot assign to `*value` which is behind a `&` reference [INFO] [stderr] --> src/matrix.rs:550:13 [INFO] [stderr] | [INFO] [stderr] 549 | for value in self.as_mut_slice().iter() { [INFO] [stderr] | ----- help: consider changing this to be a mutable reference: `&mut T` [INFO] [stderr] 550 | *value = -*value [INFO] [stderr] | ^^^^^^^^^^^^^^^^ `value` is a `&` reference, so the data it refers to cannot be written [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:123:16 [INFO] [stderr] | [INFO] [stderr] 123 | x: T::from_lit(0.0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:124:16 [INFO] [stderr] | [INFO] [stderr] 124 | y: T::from_lit(0.0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:125:16 [INFO] [stderr] | [INFO] [stderr] 125 | z: T::from_lit(0.0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:126:16 [INFO] [stderr] | [INFO] [stderr] 126 | w: T::from_lit(1.0) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:186:16 [INFO] [stderr] | [INFO] [stderr] 186 | x: -self.x, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:187:16 [INFO] [stderr] | [INFO] [stderr] 187 | y: -self.y, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:188:16 [INFO] [stderr] | [INFO] [stderr] 188 | z: -self.z, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:200:9 [INFO] [stderr] | [INFO] [stderr] 200 | self.x * self.x + self.y * self.y + self.z * self.z + self.w * self.w [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:200:27 [INFO] [stderr] | [INFO] [stderr] 200 | self.x * self.x + self.y * self.y + self.z * self.z + self.w * self.w [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:200:9 [INFO] [stderr] | [INFO] [stderr] 200 | self.x * self.x + self.y * self.y + self.z * self.z + self.w * self.w [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:200:45 [INFO] [stderr] | [INFO] [stderr] 200 | self.x * self.x + self.y * self.y + self.z * self.z + self.w * self.w [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:200:9 [INFO] [stderr] | [INFO] [stderr] 200 | self.x * self.x + self.y * self.y + self.z * self.z + self.w * self.w [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:200:63 [INFO] [stderr] | [INFO] [stderr] 200 | self.x * self.x + self.y * self.y + self.z * self.z + self.w * self.w [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:200:9 [INFO] [stderr] | [INFO] [stderr] 200 | self.x * self.x + self.y * self.y + self.z * self.z + self.w * self.w [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | self.x * other.x + self.y * other.y + self.z * other.z + self.w * other.w [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:235:28 [INFO] [stderr] | [INFO] [stderr] 235 | self.x * other.x + self.y * other.y + self.z * other.z + self.w * other.w [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | self.x * other.x + self.y * other.y + self.z * other.z + self.w * other.w [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:235:47 [INFO] [stderr] | [INFO] [stderr] 235 | self.x * other.x + self.y * other.y + self.z * other.z + self.w * other.w [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | self.x * other.x + self.y * other.y + self.z * other.z + self.w * other.w [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:235:66 [INFO] [stderr] | [INFO] [stderr] 235 | self.x * other.x + self.y * other.y + self.z * other.z + self.w * other.w [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants [INFO] [stderr] --> src/quaternion/mod.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | self.x * other.x + self.y * other.y + self.z * other.z + self.w * other.w [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `epsilon` [INFO] [stderr] --> src/quaternion/mod.rs:473:50 [INFO] [stderr] | [INFO] [stderr] 471 | fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool { [INFO] [stderr] | ------- move occurs because `epsilon` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] 472 | let mut result = self[0].abs_diff_eq(&other[0], epsilon); [INFO] [stderr] | ------- value moved here [INFO] [stderr] 473 | result &= self[1].abs_diff_eq(&other[1], epsilon); [INFO] [stderr] | ^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `epsilon` [INFO] [stderr] --> src/quaternion/mod.rs:474:50 [INFO] [stderr] | [INFO] [stderr] 471 | fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool { [INFO] [stderr] | ------- move occurs because `epsilon` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] 472 | let mut result = self[0].abs_diff_eq(&other[0], epsilon); [INFO] [stderr] 473 | result &= self[1].abs_diff_eq(&other[1], epsilon); [INFO] [stderr] | ------- value moved here [INFO] [stderr] 474 | result &= self[2].abs_diff_eq(&other[2], epsilon); [INFO] [stderr] | ^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `epsilon` [INFO] [stderr] --> src/quaternion/mod.rs:475:50 [INFO] [stderr] | [INFO] [stderr] 471 | fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool { [INFO] [stderr] | ------- move occurs because `epsilon` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] ... [INFO] [stderr] 474 | result &= self[2].abs_diff_eq(&other[2], epsilon); [INFO] [stderr] | ------- value moved here [INFO] [stderr] 475 | result &= self[3].abs_diff_eq(&other[3], epsilon); [INFO] [stderr] | ^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `epsilon` [INFO] [stderr] --> src/quaternion/mod.rs:488:50 [INFO] [stderr] | [INFO] [stderr] 486 | fn relative_eq(&self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon) -> bool { [INFO] [stderr] | ------- move occurs because `epsilon` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] 487 | let mut result = self[0].relative_eq(&other[0], epsilon, max_relative); [INFO] [stderr] | ------- value moved here [INFO] [stderr] 488 | result &= self[1].relative_eq(&other[1], epsilon, max_relative); [INFO] [stderr] | ^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `max_relative` [INFO] [stderr] --> src/quaternion/mod.rs:488:59 [INFO] [stderr] | [INFO] [stderr] 486 | fn relative_eq(&self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon) -> bool { [INFO] [stderr] | ------------ move occurs because `max_relative` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] 487 | let mut result = self[0].relative_eq(&other[0], epsilon, max_relative); [INFO] [stderr] | ------------ value moved here [INFO] [stderr] 488 | result &= self[1].relative_eq(&other[1], epsilon, max_relative); [INFO] [stderr] | ^^^^^^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `epsilon` [INFO] [stderr] --> src/quaternion/mod.rs:489:50 [INFO] [stderr] | [INFO] [stderr] 486 | fn relative_eq(&self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon) -> bool { [INFO] [stderr] | ------- move occurs because `epsilon` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] 487 | let mut result = self[0].relative_eq(&other[0], epsilon, max_relative); [INFO] [stderr] 488 | result &= self[1].relative_eq(&other[1], epsilon, max_relative); [INFO] [stderr] | ------- value moved here [INFO] [stderr] 489 | result &= self[2].relative_eq(&other[2], epsilon, max_relative); [INFO] [stderr] | ^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `max_relative` [INFO] [stderr] --> src/quaternion/mod.rs:489:59 [INFO] [stderr] | [INFO] [stderr] 486 | fn relative_eq(&self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon) -> bool { [INFO] [stderr] | ------------ move occurs because `max_relative` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] 487 | let mut result = self[0].relative_eq(&other[0], epsilon, max_relative); [INFO] [stderr] 488 | result &= self[1].relative_eq(&other[1], epsilon, max_relative); [INFO] [stderr] | ------------ value moved here [INFO] [stderr] 489 | result &= self[2].relative_eq(&other[2], epsilon, max_relative); [INFO] [stderr] | ^^^^^^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `epsilon` [INFO] [stderr] --> src/quaternion/mod.rs:490:50 [INFO] [stderr] | [INFO] [stderr] 486 | fn relative_eq(&self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon) -> bool { [INFO] [stderr] | ------- move occurs because `epsilon` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] ... [INFO] [stderr] 489 | result &= self[2].relative_eq(&other[2], epsilon, max_relative); [INFO] [stderr] | ------- value moved here [INFO] [stderr] 490 | result &= self[3].relative_eq(&other[3], epsilon, max_relative); [INFO] [stderr] | ^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `max_relative` [INFO] [stderr] --> src/quaternion/mod.rs:490:59 [INFO] [stderr] | [INFO] [stderr] 486 | fn relative_eq(&self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon) -> bool { [INFO] [stderr] | ------------ move occurs because `max_relative` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] ... [INFO] [stderr] 489 | result &= self[2].relative_eq(&other[2], epsilon, max_relative); [INFO] [stderr] | ------------ value moved here [INFO] [stderr] 490 | result &= self[3].relative_eq(&other[3], epsilon, max_relative); [INFO] [stderr] | ^^^^^^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `epsilon` [INFO] [stderr] --> src/quaternion/mod.rs:503:46 [INFO] [stderr] | [INFO] [stderr] 501 | fn ulps_eq(&self, other: &Self, epsilon: Self::Epsilon, max_ulps: u32) -> bool { [INFO] [stderr] | ------- move occurs because `epsilon` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] 502 | let mut result = self[0].ulps_eq(&other[0], epsilon, max_ulps); [INFO] [stderr] | ------- value moved here [INFO] [stderr] 503 | result &= self[1].ulps_eq(&other[1], epsilon, max_ulps); [INFO] [stderr] | ^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `epsilon` [INFO] [stderr] --> src/quaternion/mod.rs:504:46 [INFO] [stderr] | [INFO] [stderr] 501 | fn ulps_eq(&self, other: &Self, epsilon: Self::Epsilon, max_ulps: u32) -> bool { [INFO] [stderr] | ------- move occurs because `epsilon` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] 502 | let mut result = self[0].ulps_eq(&other[0], epsilon, max_ulps); [INFO] [stderr] 503 | result &= self[1].ulps_eq(&other[1], epsilon, max_ulps); [INFO] [stderr] | ------- value moved here [INFO] [stderr] 504 | result &= self[2].ulps_eq(&other[2], epsilon, max_ulps); [INFO] [stderr] | ^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `epsilon` [INFO] [stderr] --> src/quaternion/mod.rs:505:46 [INFO] [stderr] | [INFO] [stderr] 501 | fn ulps_eq(&self, other: &Self, epsilon: Self::Epsilon, max_ulps: u32) -> bool { [INFO] [stderr] | ------- move occurs because `epsilon` has type `::Epsilon`, which does not implement the `Copy` trait [INFO] [stderr] ... [INFO] [stderr] 504 | result &= self[2].ulps_eq(&other[2], epsilon, max_ulps); [INFO] [stderr] | ------- value moved here [INFO] [stderr] 505 | result &= self[3].ulps_eq(&other[3], epsilon, max_ulps); [INFO] [stderr] | ^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error: aborting due to 34 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0015, E0382. [INFO] [stderr] For more information about an error, try `rustc --explain E0015`. [INFO] [stderr] error: Could not compile `eden-math`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "75be47e4984ec5799ad567e23c44607972c0cc81d707ce04722096a8c4aa6790"` [INFO] running `"docker" "rm" "-f" "75be47e4984ec5799ad567e23c44607972c0cc81d707ce04722096a8c4aa6790"` [INFO] [stdout] 75be47e4984ec5799ad567e23c44607972c0cc81d707ce04722096a8c4aa6790