[INFO] cloning repository https://github.com/Nodraak/MoonLander.rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Nodraak/MoonLander.rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNodraak%2FMoonLander.rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNodraak%2FMoonLander.rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 01ec1fbd0324d1654f8cff1188181f9c2959d012
[INFO] checking Nodraak/MoonLander.rs against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNodraak%2FMoonLander.rs" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Nodraak/MoonLander.rs
[INFO] finished tweaking git repo https://github.com/Nodraak/MoonLander.rs
[INFO] tweaked toml for git repo https://github.com/Nodraak/MoonLander.rs written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Nodraak/MoonLander.rs on toolchain 52995a223f2919dd3e2e427231db90a257350ded
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Nodraak/MoonLander.rs 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" "+52995a223f2919dd3e2e427231db90a257350ded" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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] 209f3b790f05b6697d8714c46f9c943b8559a959fa9b3ba7438e920e07906883
[INFO] running `Command { std: "docker" "start" "209f3b790f05b6697d8714c46f9c943b8559a959fa9b3ba7438e920e07906883", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "209f3b790f05b6697d8714c46f9c943b8559a959fa9b3ba7438e920e07906883", 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" "209f3b790f05b6697d8714c46f9c943b8559a959fa9b3ba7438e920e07906883" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "209f3b790f05b6697d8714c46f9c943b8559a959fa9b3ba7438e920e07906883", 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" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "209f3b790f05b6697d8714c46f9c943b8559a959fa9b3ba7438e920e07906883" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.60
[INFO] [stderr]    Compiling libc v0.2.85
[INFO] [stderr]    Compiling serde_derive v1.0.123
[INFO] [stderr]    Compiling serde v1.0.123
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]     Checking smallvec v1.6.1
[INFO] [stderr]    Compiling typenum v1.12.0
[INFO] [stderr]    Compiling inventory v0.1.10
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]     Checking linked-hash-map v0.5.4
[INFO] [stderr]     Checking unicode-width v0.1.8
[INFO] [stderr]     Checking instant v0.1.9
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling unindent v0.1.7
[INFO] [stderr]    Compiling serde_json v1.0.62
[INFO] [stderr]     Checking lock_api v0.4.2
[INFO] [stderr]    Compiling pyo3 v0.13.1
[INFO] [stderr]    Compiling paste v1.0.4
[INFO] [stderr]    Compiling indoc v1.0.3
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking itoa v0.4.7
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking dtoa v0.4.7
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking parking_lot_core v0.8.2
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling quote v1.0.8
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking parking_lot v0.11.1
[INFO] [stderr]    Compiling pyo3-macros-backend v0.13.1
[INFO] [stderr]    Compiling ghost v0.1.2
[INFO] [stderr]    Compiling inventory-impl v0.1.10
[INFO] [stderr]    Compiling ctor v0.1.19
[INFO] [stderr]    Compiling pyo3-macros v0.13.1
[INFO] [stderr]     Checking serde_yaml v0.8.16
[INFO] [stderr]     Checking uom v0.30.0
[INFO] [stderr]     Checking moon_lander v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/gnc/guidance.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 155 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/adapters/sim.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut ret = self.sim.read_sensors();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/adapters/sim.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let mut c = control;
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/adapters/sim.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut ret = self.sim.read_sensors();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/adapters/sim.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let mut c = control;
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctr_thrust`
[INFO] [stdout]    --> src/gnc/control.rs:196:14
[INFO] [stdout]     |
[INFO] [stdout] 196 |         let (ctr_thrust, ctr_angle) = control_translation(
[INFO] [stdout]     |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctr_thrust`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctr_thrust`
[INFO] [stdout]    --> src/gnc/control.rs:206:14
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let (ctr_thrust, ctr_angle) = control_translation(
[INFO] [stdout]     |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctr_thrust`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctr_thrust`
[INFO] [stdout]    --> src/gnc/control.rs:216:14
[INFO] [stdout]     |
[INFO] [stdout] 216 |         let (ctr_thrust, ctr_angle) = control_translation(
[INFO] [stdout]     |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctr_thrust`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctr_thrust`
[INFO] [stdout]    --> src/gnc/control.rs:226:14
[INFO] [stdout]     |
[INFO] [stdout] 226 |         let (ctr_thrust, ctr_angle) = control_translation(
[INFO] [stdout]     |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctr_thrust`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctr_thrust`
[INFO] [stdout]    --> src/gnc/control.rs:236:14
[INFO] [stdout]     |
[INFO] [stdout] 236 |         let (ctr_thrust, ctr_angle) = control_translation(
[INFO] [stdout]     |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctr_thrust`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctr_angle`
[INFO] [stdout]    --> src/gnc/control.rs:254:26
[INFO] [stdout]     |
[INFO] [stdout] 254 |         let (ctr_thrust, ctr_angle) = control_translation(
[INFO] [stdout]     |                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctr_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctr_angle`
[INFO] [stdout]    --> src/gnc/control.rs:264:26
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let (ctr_thrust, ctr_angle) = control_translation(
[INFO] [stdout]     |                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctr_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctr_angle`
[INFO] [stdout]    --> src/gnc/control.rs:274:26
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let (ctr_thrust, ctr_angle) = control_translation(
[INFO] [stdout]     |                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctr_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctr_angle`
[INFO] [stdout]    --> src/gnc/control.rs:286:26
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let (ctr_thrust, ctr_angle) = control_translation(
[INFO] [stdout]     |                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctr_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctr_angle`
[INFO] [stdout]    --> src/gnc/control.rs:296:26
[INFO] [stdout]     |
[INFO] [stdout] 296 |         let (ctr_thrust, ctr_angle) = control_translation(
[INFO] [stdout]     |                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctr_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctr_angle`
[INFO] [stdout]    --> src/gnc/control.rs:306:26
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let (ctr_thrust, ctr_angle) = control_translation(
[INFO] [stdout]     |                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctr_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctr_angle`
[INFO] [stdout]    --> src/gnc/control.rs:318:26
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let (ctr_thrust, ctr_angle) = control_translation(
[INFO] [stdout]     |                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctr_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctr_angle`
[INFO] [stdout]    --> src/gnc/control.rs:328:26
[INFO] [stdout]     |
[INFO] [stdout] 328 |         let (ctr_thrust, ctr_angle) = control_translation(
[INFO] [stdout]     |                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctr_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctr_angle`
[INFO] [stdout]    --> src/gnc/control.rs:338:26
[INFO] [stdout]     |
[INFO] [stdout] 338 |         let (ctr_thrust, ctr_angle) = control_translation(
[INFO] [stdout]     |                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctr_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Quantity<_, _, f64>`
[INFO] [stdout]    --> src/utils/uom.rs:37:21
[INFO] [stdout]     |
[INFO] [stdout]  34 | macro_rules! modulo {
[INFO] [stdout] ...
[INFO] [stdout]  37 |         while ret > ($modval/2.0).into() {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gnc/control.rs:147:22
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let err: Angle = modulo!(ctr_ang_pos - sc_ang_pos, Angle::new::<degree>(360.0));
[INFO] [stdout]     |                      -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<Quantity<_, _, f64> as Into<Quantity<_, _, f64>>::into(val) to avoid triggering this lint
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/moon_lander/b881f32052045d6d/out/moon_lander-b881f32052045d6d.long-type-11114099762128967913.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Quantity<_, _, f64>`
[INFO] [stdout]    --> src/utils/uom.rs:40:21
[INFO] [stdout]     |
[INFO] [stdout]  34 | macro_rules! modulo {
[INFO] [stdout] ...
[INFO] [stdout]  40 |         while ret < (-$modval/2.0).into() {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gnc/control.rs:147:22
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let err: Angle = modulo!(ctr_ang_pos - sc_ang_pos, Angle::new::<degree>(360.0));
[INFO] [stdout]     |                      -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<Quantity<_, _, f64> as Into<Quantity<_, _, f64>>::into(val) to avoid triggering this lint
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/moon_lander/b881f32052045d6d/out/moon_lander-b881f32052045d6d.long-type-11114099762128967913.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Quantity<_, _, f64>`
[INFO] [stdout]   --> src/utils/uom.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 34 | macro_rules! modulo {
[INFO] [stdout] ...
[INFO] [stdout] 37 |         while ret > ($modval/2.0).into() {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/gnc/navigation.rs:45:30
[INFO] [stdout]    |
[INFO] [stdout] 45 |     spacecraft.cur.ang_pos = modulo!(spacecraft.cur.ang_pos, Angle::new::<degree>(360.0));
[INFO] [stdout]    |                              ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<Quantity<_, _, f64> as Into<Quantity<_, _, f64>>::into(val) to avoid triggering this lint
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/moon_lander/b881f32052045d6d/out/moon_lander-b881f32052045d6d.long-type-11114099762128967913.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Quantity<_, _, f64>`
[INFO] [stdout]   --> src/utils/uom.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 34 | macro_rules! modulo {
[INFO] [stdout] ...
[INFO] [stdout] 40 |         while ret < (-$modval/2.0).into() {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/gnc/navigation.rs:45:30
[INFO] [stdout]    |
[INFO] [stdout] 45 |     spacecraft.cur.ang_pos = modulo!(spacecraft.cur.ang_pos, Angle::new::<degree>(360.0));
[INFO] [stdout]    |                              ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<Quantity<_, _, f64> as Into<Quantity<_, _, f64>>::into(val) to avoid triggering this lint
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/moon_lander/b881f32052045d6d/out/moon_lander-b881f32052045d6d.long-type-11114099762128967913.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `moon_lander` (bin "moon_lander") due to 4 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: useless conversion to the same type: `Quantity<_, _, f64>`
[INFO] [stdout]    --> src/utils/uom.rs:37:21
[INFO] [stdout]     |
[INFO] [stdout]  34 | macro_rules! modulo {
[INFO] [stdout] ...
[INFO] [stdout]  37 |         while ret > ($modval/2.0).into() {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gnc/control.rs:147:22
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let err: Angle = modulo!(ctr_ang_pos - sc_ang_pos, Angle::new::<degree>(360.0));
[INFO] [stdout]     |                      -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<Quantity<_, _, f64> as Into<Quantity<_, _, f64>>::into(val) to avoid triggering this lint
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/moon_lander/1321163a02288ba3/out/moon_lander-1321163a02288ba3.long-type-12284099890618455128.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Quantity<_, _, f64>`
[INFO] [stdout]    --> src/utils/uom.rs:40:21
[INFO] [stdout]     |
[INFO] [stdout]  34 | macro_rules! modulo {
[INFO] [stdout] ...
[INFO] [stdout]  40 |         while ret < (-$modval/2.0).into() {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gnc/control.rs:147:22
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let err: Angle = modulo!(ctr_ang_pos - sc_ang_pos, Angle::new::<degree>(360.0));
[INFO] [stdout]     |                      -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<Quantity<_, _, f64> as Into<Quantity<_, _, f64>>::into(val) to avoid triggering this lint
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/moon_lander/1321163a02288ba3/out/moon_lander-1321163a02288ba3.long-type-12284099890618455128.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Quantity<_, _, f64>`
[INFO] [stdout]   --> src/utils/uom.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 34 | macro_rules! modulo {
[INFO] [stdout] ...
[INFO] [stdout] 37 |         while ret > ($modval/2.0).into() {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/gnc/navigation.rs:45:30
[INFO] [stdout]    |
[INFO] [stdout] 45 |     spacecraft.cur.ang_pos = modulo!(spacecraft.cur.ang_pos, Angle::new::<degree>(360.0));
[INFO] [stdout]    |                              ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<Quantity<_, _, f64> as Into<Quantity<_, _, f64>>::into(val) to avoid triggering this lint
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/moon_lander/1321163a02288ba3/out/moon_lander-1321163a02288ba3.long-type-12284099890618455128.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Quantity<_, _, f64>`
[INFO] [stdout]   --> src/utils/uom.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 34 | macro_rules! modulo {
[INFO] [stdout] ...
[INFO] [stdout] 40 |         while ret < (-$modval/2.0).into() {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/gnc/navigation.rs:45:30
[INFO] [stdout]    |
[INFO] [stdout] 45 |     spacecraft.cur.ang_pos = modulo!(spacecraft.cur.ang_pos, Angle::new::<degree>(360.0));
[INFO] [stdout]    |                              ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<Quantity<_, _, f64> as Into<Quantity<_, _, f64>>::into(val) to avoid triggering this lint
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/moon_lander/1321163a02288ba3/out/moon_lander-1321163a02288ba3.long-type-12284099890618455128.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `moon_lander` (bin "moon_lander" test) due to 4 previous errors; 17 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "209f3b790f05b6697d8714c46f9c943b8559a959fa9b3ba7438e920e07906883", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "209f3b790f05b6697d8714c46f9c943b8559a959fa9b3ba7438e920e07906883", kill_on_drop: false }`
[INFO] [stdout] 209f3b790f05b6697d8714c46f9c943b8559a959fa9b3ba7438e920e07906883
