[INFO] cloning repository https://github.com/ncsurobotics/SW8S-Rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ncsurobotics/SW8S-Rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fncsurobotics%2FSW8S-Rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fncsurobotics%2FSW8S-Rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] adb263ee070976b046e0afef1fa8afe9d2c91972
[INFO] documenting ncsurobotics/SW8S-Rust/adb263ee070976b046e0afef1fa8afe9d2c91972 against 1.90.0 for beta-rustdoc-1.91-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fncsurobotics%2FSW8S-Rust" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:   9% (100/1039)
Updating files:  10% (104/1039)
Updating files:  11% (115/1039)
Updating files:  12% (125/1039)
Updating files:  13% (136/1039)
Updating files:  14% (146/1039)
Updating files:  15% (156/1039)
Updating files:  16% (167/1039)
Updating files:  17% (177/1039)
Updating files:  18% (188/1039)
Updating files:  19% (198/1039)
Updating files:  20% (208/1039)
Updating files:  21% (219/1039)
Updating files:  22% (229/1039)
Updating files:  23% (239/1039)
Updating files:  24% (250/1039)
Updating files:  25% (260/1039)
Updating files:  26% (271/1039)
Updating files:  27% (281/1039)
Updating files:  28% (291/1039)
Updating files:  29% (302/1039)
Updating files:  30% (312/1039)
Updating files:  31% (323/1039)
Updating files:  32% (333/1039)
Updating files:  33% (343/1039)
Updating files:  34% (354/1039)
Updating files:  35% (364/1039)
Updating files:  36% (375/1039)
Updating files:  37% (385/1039)
Updating files:  38% (395/1039)
Updating files:  39% (406/1039)
Updating files:  40% (416/1039)
Updating files:  41% (426/1039)
Updating files:  42% (437/1039)
Updating files:  43% (447/1039)
Updating files:  44% (458/1039)
Updating files:  45% (468/1039)
Updating files:  46% (478/1039)
Updating files:  47% (489/1039)
Updating files:  48% (499/1039)
Updating files:  49% (510/1039)
Updating files:  50% (520/1039)
Updating files:  51% (530/1039)
Updating files:  52% (541/1039)
Updating files:  53% (551/1039)
Updating files:  54% (562/1039)
Updating files:  55% (572/1039)
Updating files:  56% (582/1039)
Updating files:  57% (593/1039)
Updating files:  58% (603/1039)
Updating files:  59% (614/1039)
Updating files:  60% (624/1039)
Updating files:  61% (634/1039)
Updating files:  62% (645/1039)
Updating files:  63% (655/1039)
Updating files:  64% (665/1039)
Updating files:  65% (676/1039)
Updating files:  66% (686/1039)
Updating files:  67% (697/1039)
Updating files:  68% (707/1039)
Updating files:  69% (717/1039)
Updating files:  70% (728/1039)
Updating files:  71% (738/1039)
Updating files:  72% (749/1039)
Updating files:  73% (759/1039)
Updating files:  74% (769/1039)
Updating files:  75% (780/1039)
Updating files:  76% (790/1039)
Updating files:  77% (801/1039)
Updating files:  78% (811/1039)
Updating files:  79% (821/1039)
Updating files:  80% (832/1039)
Updating files:  81% (842/1039)
Updating files:  82% (852/1039)
Updating files:  83% (863/1039)
Updating files:  84% (873/1039)
Updating files:  85% (884/1039)
Updating files:  86% (894/1039)
Updating files:  87% (904/1039)
Updating files:  88% (915/1039)
Updating files:  89% (925/1039)
Updating files:  90% (936/1039)
Updating files:  91% (946/1039)
Updating files:  92% (956/1039)
Updating files:  93% (967/1039)
Updating files:  94% (977/1039)
Updating files:  95% (988/1039)
Updating files:  96% (998/1039)
Updating files:  97% (1008/1039)
Updating files:  98% (1019/1039)
Updating files:  99% (1029/1039)
Updating files: 100% (1039/1039)
Updating files: 100% (1039/1039), done.
[INFO] removed /workspace/builds/worker-4-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/ncsurobotics/SW8S-Rust
[INFO] finished tweaking git repo https://github.com/ncsurobotics/SW8S-Rust
[INFO] tweaked toml for git repo https://github.com/ncsurobotics/SW8S-Rust written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ncsurobotics/SW8S-Rust on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ncsurobotics/SW8S-Rust 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" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded xattr v1.4.0
[INFO] [stderr]   Downloaded httparse v1.10.0
[INFO] [stderr]   Downloaded plotters-backend v0.3.7
[INFO] [stderr]   Downloaded native-tls v0.2.13
[INFO] [stderr]   Downloaded clap v4.5.40
[INFO] [stderr]   Downloaded geographiclib-rs v0.2.5
[INFO] [stderr]   Downloaded plotters-svg v0.3.7
[INFO] [stderr]   Downloaded float_next_after v1.0.0
[INFO] [stderr]   Downloaded assert_approx_eq v1.1.0
[INFO] [stderr]   Downloaded is-terminal v0.4.15
[INFO] [stderr]   Downloaded graphviz-rust v0.9.3
[INFO] [stderr]   Downloaded i_shape v1.7.0
[INFO] [stderr]   Downloaded i_overlay v2.0.5
[INFO] [stderr]   Downloaded clang v2.0.0
[INFO] [stderr]   Downloaded dot-structures v0.1.1
[INFO] [stderr]   Downloaded pest_meta v2.7.15
[INFO] [stderr]   Downloaded pest_generator v2.7.15
[INFO] [stderr]   Downloaded nonzero v0.2.0
[INFO] [stderr]   Downloaded rstar v0.12.2
[INFO] [stderr]   Downloaded opencv v0.94.2
[INFO] [stderr]   Downloaded clap_builder v4.5.40
[INFO] [stderr]   Downloaded kdtree v0.7.0
[INFO] [stderr]   Downloaded pest v2.7.15
[INFO] [stderr]   Downloaded clap_derive v4.5.40
[INFO] [stderr]   Downloaded windows-interface v0.59.0
[INFO] [stderr]   Downloaded geo v0.30.0
[INFO] [stderr]   Downloaded i_float v1.7.0
[INFO] [stderr]   Downloaded i_tree v0.8.3
[INFO] [stderr]   Downloaded into-attr-derive v0.2.1
[INFO] [stderr]   Downloaded i_key_sort v0.2.0
[INFO] [stderr]   Downloaded plotters v0.3.7
[INFO] [stderr]   Downloaded into-attr v0.1.1
[INFO] [stderr]   Downloaded windows-result v0.3.0
[INFO] [stderr]   Downloaded bluerobotics-ping v0.3.5
[INFO] [stderr]   Downloaded earcutr v0.4.3
[INFO] [stderr]   Downloaded spade v2.14.0
[INFO] [stderr]   Downloaded robust v1.2.0
[INFO] [stderr]   Downloaded dot-generator v0.2.0
[INFO] [stderr]   Downloaded opencv-binding-generator v0.95.0
[INFO] [stderr]   Downloaded zip-extract v0.1.3
[INFO] [stderr]   Downloaded tar v0.4.43
[INFO] [stderr]   Downloaded serialport v4.7.0
[INFO] [stderr]   Downloaded tokio-serial v5.4.5
[INFO] [stderr]   Downloaded pest_derive v2.7.15
[INFO] [stderr]   Downloaded hdbscan v0.10.1
[INFO] [stderr]   Downloaded unescaper v0.1.5
[INFO] [stderr]   Downloaded derive-getters v0.4.0
[INFO] [stderr]   Downloaded windows-strings v0.3.0
[INFO] [stderr]   Downloaded mio-serial v5.0.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e566013c4845ba73d42037349b473f16f8fac2ef419b90a3044ad55e178333b9
[INFO] running `Command { std: "docker" "start" "-a" "e566013c4845ba73d42037349b473f16f8fac2ef419b90a3044ad55e178333b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e566013c4845ba73d42037349b473f16f8fac2ef419b90a3044ad55e178333b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e566013c4845ba73d42037349b473f16f8fac2ef419b90a3044ad55e178333b9", kill_on_drop: false }`
[INFO] [stdout] e566013c4845ba73d42037349b473f16f8fac2ef419b90a3044ad55e178333b9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 921baf18ceee1cd2166fc770419374a0ee4a82b8ccb9772c1e20bb56639d2a92
[INFO] running `Command { std: "docker" "start" "-a" "921baf18ceee1cd2166fc770419374a0ee4a82b8ccb9772c1e20bb56639d2a92", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.16
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling glob v0.3.2
[INFO] [stderr]     Checking log v0.4.25
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling getrandom v0.3.1
[INFO] [stderr]    Compiling zerocopy v0.8.17
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking bitflags v2.8.0
[INFO] [stderr]    Compiling semver v1.0.25
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]    Compiling heapless v0.8.0
[INFO] [stderr]    Compiling clang v2.0.0
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]     Checking hash32 v0.3.1
[INFO] [stderr]     Checking once_cell v1.20.3
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking socket2 v0.5.8
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]    Compiling ryu v1.0.19
[INFO] [stderr]    Compiling itoa v1.0.14
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]     Checking anstream v0.6.19
[INFO] [stderr]    Compiling convert_case v0.8.0
[INFO] [stderr]    Compiling cc v1.2.13
[INFO] [stderr]     Checking rand_core v0.9.0
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]     Checking parking v2.2.1
[INFO] [stderr]     Checking clap_builder v4.5.40
[INFO] [stderr]     Checking event-listener v5.4.0
[INFO] [stderr]     Checking rstar v0.12.2
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking indexmap v2.7.1
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]     Checking winnow v0.7.1
[INFO] [stderr]     Checking robust v1.2.0
[INFO] [stderr]     Checking i_tree v0.8.3
[INFO] [stderr]     Checking i_key_sort v0.2.0
[INFO] [stderr]     Checking spade v2.14.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]     Checking earcutr v0.4.3
[INFO] [stderr]     Checking geo-types v0.7.16
[INFO] [stderr]     Checking event-listener-strategy v0.5.3
[INFO] [stderr]     Checking geographiclib-rs v0.2.5
[INFO] [stderr]     Checking crossbeam-channel v0.5.14
[INFO] [stderr]    Compiling opencv-binding-generator v0.95.0
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking float_next_after v1.0.0
[INFO] [stderr]    Compiling sw8s_rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking chrono v0.4.39
[INFO] [stderr]     Checking async-channel v2.3.1
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling derive_arbitrary v1.4.1
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tokio v1.45.1
[INFO] [stderr]    Compiling arbitrary v1.4.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking unescaper v0.1.5
[INFO] [stderr]     Checking serialport v4.7.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling clap_derive v4.5.40
[INFO] [stderr]     Checking mio-serial v5.0.6
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]     Checking rand v0.9.0
[INFO] [stderr]     Checking kdtree v0.7.0
[INFO] [stderr]     Checking hdbscan v0.10.1
[INFO] [stderr]     Checking uuid v1.13.1
[INFO] [stderr]    Compiling derive-getters v0.4.0
[INFO] [stderr]    Compiling nonzero v0.2.0
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking clap v4.5.40
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]    Compiling opencv v0.94.2
[INFO] [stderr]     Checking tokio-serial v5.4.5
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]     Checking i_float v1.7.0
[INFO] [stderr]     Checking serde_spanned v0.6.8
[INFO] [stderr]     Checking toml_datetime v0.6.8
[INFO] [stderr]     Checking i_shape v1.7.0
[INFO] [stderr]     Checking toml_edit v0.22.23
[INFO] [stderr]     Checking i_overlay v2.0.5
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]     Checking serde_bytes v0.11.17
[INFO] [stderr]     Checking geo v0.30.0
[INFO] [stderr]    Compiling bluerobotics-ping v0.3.5
[INFO] [stderr]     Checking toml v0.8.20
[INFO] [stderr]  Documenting sw8s_rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `opencv::core::AlgorithmHint`
[INFO] [stdout]  --> src/vision/path.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 |     core::{in_range, AlgorithmHint, Size, VecN},
[INFO] [stdout]   |                      ^^^^^^^^^^^^^
[INFO] [stdout]   |                      |
[INFO] [stdout]   |                      no `AlgorithmHint` in `opencv::hub::core`
[INFO] [stdout]   |                      help: a similar name exists in the module: `Algorithm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `opencv::core::AlgorithmHint`
[INFO] [stdout]  --> src/vision/path.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 |     core::{in_range, AlgorithmHint, Size, VecN},
[INFO] [stdout]   |                      ^^^^^^^^^^^^^
[INFO] [stdout]   |                      |
[INFO] [stdout]   |                      no `AlgorithmHint` in `opencv::hub::core`
[INFO] [stdout]   |                      help: a similar name exists in the module: `Algorithm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `unblocked_logging`
[INFO] [stdout]    --> src/comms/auv_control_board/response.rs:108:44
[INFO] [stdout]     |
[INFO] [stdout] 108 |         #[cfg(all(feature = "logging", not(feature = "unblocked_logging")))]
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `annotated_streams`, `cuda`, `cuda_f16`, `default`, `graphing`, `logging`, `networked_testing`, and `reqwest`
[INFO] [stdout]     = help: consider adding `unblocked_logging` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/missions/coinflip.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |         if (shark.len() > 0 || sawfish.len() > 0 || !leftPole.is_empty()) {
[INFO] [stdout]    |            ^                                                            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 99 -         if (shark.len() > 0 || sawfish.len() > 0 || !leftPole.is_empty()) {
[INFO] [stdout] 99 +         if shark.len() > 0 || sawfish.len() > 0 || !leftPole.is_empty() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/missions/gate.rs:281:30
[INFO] [stdout]     |
[INFO] [stdout] 281 |                 yaw_target = (yaw_target
[INFO] [stdout]     |                              ^
[INFO] [stdout] ...
[INFO] [stdout] 286 |                     }));
[INFO] [stdout]     |                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 281 ~                 yaw_target = yaw_target
[INFO] [stdout] 282 |                     + (if let Side::Left = config.side {
[INFO] [stdout] ...
[INFO] [stdout] 285 |                         -config.yaw_adjustment
[INFO] [stdout] 286 ~                     });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/missions/gate.rs:438:33
[INFO] [stdout]     |
[INFO] [stdout] 438 |                     let avg_x = (sawfish
[INFO] [stdout]     |                                 ^
[INFO] [stdout] ...
[INFO] [stdout] 442 |                         / sawfish.len() as f32);
[INFO] [stdout]     |                                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 438 ~                     let avg_x = sawfish
[INFO] [stdout] 439 |                         .iter()
[INFO] [stdout] 440 |                         .map(|d| *d.position().x() as f32)
[INFO] [stdout] 441 |                         .sum::<f32>()
[INFO] [stdout] 442 ~                         / sawfish.len() as f32;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/missions/graph.rs:121:38
[INFO] [stdout]     |
[INFO] [stdout] 121 |     .fold(String::new(), |acc, line| (acc + &line + "\n"))
[INFO] [stdout]     |                                      ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 121 -     .fold(String::new(), |acc, line| (acc + &line + "\n"))
[INFO] [stdout] 121 +     .fold(String::new(), |acc, line| acc + &line + "\n")
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/missions/graph.rs:145:42
[INFO] [stdout]     |
[INFO] [stdout] 145 |         .fold(String::new(), |acc, line| (acc + &line + "\n"))
[INFO] [stdout]     |                                          ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 145 -         .fold(String::new(), |acc, line| (acc + &line + "\n"))
[INFO] [stdout] 145 +         .fold(String::new(), |acc, line| acc + &line + "\n")
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/missions/slalom.rs:181:30
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 yaw_target = (yaw_target
[INFO] [stdout]     |                              ^
[INFO] [stdout] ...
[INFO] [stdout] 186 |                     }));
[INFO] [stdout]     |                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 181 ~                 yaw_target = yaw_target
[INFO] [stdout] 182 |                     + (if let Left = config.side {
[INFO] [stdout] ...
[INFO] [stdout] 185 |                         -config.yaw_adjustment
[INFO] [stdout] 186 ~                     });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cuda_min_max_loc`
[INFO] [stdout]   --> src/vision/nn_cv2.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[cfg(feature = "cuda_min_max_loc")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `annotated_streams`, `cuda`, `cuda_f16`, `default`, `graphing`, `logging`, `networked_testing`, and `reqwest`
[INFO] [stdout]    = help: consider adding `cuda_min_max_loc` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/vision/mod.rs:306:33
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let center = Point::new((self.x as i32), (self.y as i32));
[INFO] [stdout]     |                                 ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 306 -         let center = Point::new((self.x as i32), (self.y as i32));
[INFO] [stdout] 306 +         let center = Point::new(self.x as i32, (self.y as i32));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/vision/mod.rs:306:50
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let center = Point::new((self.x as i32), (self.y as i32));
[INFO] [stdout]     |                                                  ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 306 -         let center = Point::new((self.x as i32), (self.y as i32));
[INFO] [stdout] 306 +         let center = Point::new((self.x as i32), self.y as i32);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `unblocked_logging`
[INFO] [stdout]    --> src/comms/auv_control_board/response.rs:108:44
[INFO] [stdout]     |
[INFO] [stdout] 108 |         #[cfg(all(feature = "logging", not(feature = "unblocked_logging")))]
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `annotated_streams`, `cuda`, `cuda_f16`, `default`, `graphing`, `logging`, `networked_testing`, and `reqwest`
[INFO] [stdout]     = help: consider adding `unblocked_logging` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `sleep`
[INFO] [stdout]  --> src/missions/coinflip.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::time::{sleep, Duration};
[INFO] [stdout]   |                   ^^^^^  ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/missions/coinflip.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |         if (shark.len() > 0 || sawfish.len() > 0 || !leftPole.is_empty()) {
[INFO] [stdout]    |            ^                                                            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 99 -         if (shark.len() > 0 || sawfish.len() > 0 || !leftPole.is_empty()) {
[INFO] [stdout] 99 +         if shark.len() > 0 || sawfish.len() > 0 || !leftPole.is_empty() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/missions/gate.rs:281:30
[INFO] [stdout]     |
[INFO] [stdout] 281 |                 yaw_target = (yaw_target
[INFO] [stdout]     |                              ^
[INFO] [stdout] ...
[INFO] [stdout] 286 |                     }));
[INFO] [stdout]     |                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 281 ~                 yaw_target = yaw_target
[INFO] [stdout] 282 |                     + (if let Side::Left = config.side {
[INFO] [stdout] ...
[INFO] [stdout] 285 |                         -config.yaw_adjustment
[INFO] [stdout] 286 ~                     });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/missions/gate.rs:438:33
[INFO] [stdout]     |
[INFO] [stdout] 438 |                     let avg_x = (sawfish
[INFO] [stdout]     |                                 ^
[INFO] [stdout] ...
[INFO] [stdout] 442 |                         / sawfish.len() as f32);
[INFO] [stdout]     |                                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 438 ~                     let avg_x = sawfish
[INFO] [stdout] 439 |                         .iter()
[INFO] [stdout] 440 |                         .map(|d| *d.position().x() as f32)
[INFO] [stdout] 441 |                         .sum::<f32>()
[INFO] [stdout] 442 ~                         / sawfish.len() as f32;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/missions/graph.rs:121:38
[INFO] [stdout]     |
[INFO] [stdout] 121 |     .fold(String::new(), |acc, line| (acc + &line + "\n"))
[INFO] [stdout]     |                                      ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 121 -     .fold(String::new(), |acc, line| (acc + &line + "\n"))
[INFO] [stdout] 121 +     .fold(String::new(), |acc, line| acc + &line + "\n")
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/missions/graph.rs:145:42
[INFO] [stdout]     |
[INFO] [stdout] 145 |         .fold(String::new(), |acc, line| (acc + &line + "\n"))
[INFO] [stdout]     |                                          ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 145 -         .fold(String::new(), |acc, line| (acc + &line + "\n"))
[INFO] [stdout] 145 +         .fold(String::new(), |acc, line| acc + &line + "\n")
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Center` and `Hdbscan`
[INFO] [stdout]  --> src/missions/slalom.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use hdbscan::{Center, Hdbscan};
[INFO] [stdout]   |               ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/missions/slalom.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::consts::PI`
[INFO] [stdout]  --> src/missions/slalom.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::f64::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `select`
[INFO] [stdout]  --> src/missions/slalom.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     select,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SerialPortBuilderExt` and `SerialPort`
[INFO] [stdout]   --> src/missions/slalom.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio_serial::{SerialPort, SerialPortBuilderExt, SerialStream};
[INFO] [stdout]    |                    ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio_util::sync::CancellationToken`
[INFO] [stdout]   --> src/missions/slalom.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio_util::sync::CancellationToken;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Ping360`, `PingDevice`, and `ping360::AutoDeviceDataStruct`
[INFO] [stdout]   --> src/missions/slalom.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 |     device::{Ping360, PingDevice},
[INFO] [stdout]    |              ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 15 |     ping360::AutoDeviceDataStruct,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `VisionNorm` and `sonar::Config as SonarConfig`
[INFO] [stdout]   --> src/missions/slalom.rs:20:30
[INFO] [stdout]    |
[INFO] [stdout] 20 |     config::{slalom::Config, sonar::Config as SonarConfig, ColorProfile, Side::*},
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |         vision::{VisionNorm, VisionNormAngle},
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/missions/slalom.rs:181:30
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 yaw_target = (yaw_target
[INFO] [stdout]     |                              ^
[INFO] [stdout] ...
[INFO] [stdout] 186 |                     }));
[INFO] [stdout]     |                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 181 ~                 yaw_target = yaw_target
[INFO] [stdout] 182 |                     + (if let Left = config.side {
[INFO] [stdout] ...
[INFO] [stdout] 185 |                         -config.yaw_adjustment
[INFO] [stdout] 186 ~                     });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/vision/mod.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Side`
[INFO] [stdout]  --> src/vision/gate_cv.rs:1:35
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::config::{ColorProfile, Side};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `box_points`
[INFO] [stdout]  --> src/vision/gate_cv.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         box_points, contour_area_def, cvt_color_def, find_contours_def, min_area_rect,
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::MergeJoinBy`
[INFO] [stdout]  --> src/vision/gate_poles.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use itertools::MergeJoinBy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MatTraitManual` and `multiply_def`
[INFO] [stdout]  --> src/vision/gate_poles.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | use opencv::core::{multiply, multiply_def, MatTraitManual, BORDER_CONSTANT, CV_8U};
[INFO] [stdout]   |                              ^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MORPH_RECT`, `dilate_def`, and `get_structuring_element`
[INFO] [stdout]  --> src/vision/gate_poles.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     dilate_def, get_structuring_element, morphology_default_border_value, MORPH_RECT,
[INFO] [stdout]   |     ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CHAIN_APPROX_SIMPLE`, `COLOR_BGR2YUV`, `LINE_8`, `MatTraitConstManual`, `RETR_EXTERNAL`, `Scalar`, `contour_area_def`, `cvt_color_def`, `find_contours_def`, `in_range`, `min_area_rect`, and `self`
[INFO] [stdout]   --> src/vision/gate_poles.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  9 |     core::{in_range, merge, split, Point, Scalar, Size, Vector},
[INFO] [stdout]    |            ^^^^^^^^                       ^^^^^^
[INFO] [stdout] 10 |     imgproc::{
[INFO] [stdout] 11 |         self, contour_area_def, cvt_color_def, dilate, find_contours_def, min_area_rect,
[INFO] [stdout]    |         ^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^          ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 12 |         CHAIN_APPROX_SIMPLE, COLOR_BGR2YUV, LINE_8, RETR_EXTERNAL,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 13 |     },
[INFO] [stdout] 14 |     prelude::{Mat, MatTraitConst, MatTraitConstManual},
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cuda_min_max_loc`
[INFO] [stdout]   --> src/vision/nn_cv2.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[cfg(feature = "cuda_min_max_loc")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `annotated_streams`, `cuda`, `cuda_f16`, `default`, `graphing`, `logging`, `networked_testing`, and `reqwest`
[INFO] [stdout]    = help: consider adding `cuda_min_max_loc` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/vision/mod.rs:306:33
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let center = Point::new((self.x as i32), (self.y as i32));
[INFO] [stdout]     |                                 ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 306 -         let center = Point::new((self.x as i32), (self.y as i32));
[INFO] [stdout] 306 +         let center = Point::new(self.x as i32, (self.y as i32));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/vision/mod.rs:306:50
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let center = Point::new((self.x as i32), (self.y as i32));
[INFO] [stdout]     |                                                  ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 306 -         let center = Point::new((self.x as i32), (self.y as i32));
[INFO] [stdout] 306 +         let center = Point::new((self.x as i32), self.y as i32);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not document `sw8s_rust`
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/missions/bin.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     config: &Config,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `detections`
[INFO] [stdout]   --> src/missions/bin.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout] 31 |         if let Ok(detections) = vision.execute().await {
[INFO] [stdout]    |                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_detections`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_yaw`
[INFO] [stdout]   --> src/missions/coinflip.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut target_yaw = initial_yaw;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_yaw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `angle_correction`
[INFO] [stdout]   --> src/missions/coinflip.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let angle_correction = config.angle_correction;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_angle_correction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rightPole`
[INFO] [stdout]   --> src/missions/coinflip.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let rightPole = detections
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rightPole`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/missions/coinflip.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut target_yaw = initial_yaw;
[INFO] [stdout]    |         ----^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color_profile`
[INFO] [stdout]   --> src/missions/gate.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     color_profile: &ColorProfile,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_profile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/missions/gate.rs:161:29
[INFO] [stdout]     |
[INFO] [stdout] 161 |                         let mut correction;
[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/missions/gate.rs:211:29
[INFO] [stdout]     |
[INFO] [stdout] 211 |                         let mut correction;
[INFO] [stdout]     |                             ----^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rightPole`
[INFO] [stdout]    --> src/missions/gate.rs:346:13
[INFO] [stdout]     |
[INFO] [stdout] 346 |         let rightPole = detections
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rightPole`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/missions/octagon.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     config: &Config,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color_profile`
[INFO] [stdout]   --> src/missions/octagon.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     color_profile: &ColorProfile,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_profile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `init_timer`
[INFO] [stdout]   --> src/missions/slalom.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let mut init_timer = DelayAction::new(config.init_duration);
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_init_timer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `traversal_timer`
[INFO] [stdout]   --> src/missions/slalom.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let mut traversal_timer = DelayAction::new(config.traversal_duration); // forward duration in second
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_traversal_timer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `strafe_timer`
[INFO] [stdout]   --> src/missions/slalom.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let mut strafe_timer = DelayAction::new(config.strafe_duration);
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strafe_timer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `correction` is never read
[INFO] [stdout]    --> src/missions/slalom.rs:110:29
[INFO] [stdout]     |
[INFO] [stdout] 110 |                     let mut correction = 0.0;
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `correction` is never read
[INFO] [stdout]    --> src/missions/slalom.rs:114:29
[INFO] [stdout]     |
[INFO] [stdout] 114 | ...                   correction = 0.0;
[INFO] [stdout]     |                       ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/missions/slalom.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let mut init_timer = DelayAction::new(config.init_duration);
[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/missions/slalom.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let mut traversal_timer = DelayAction::new(config.traversal_duration); // forward duration in second
[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/missions/slalom.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let mut strafe_timer = DelayAction::new(config.strafe_duration);
[INFO] [stdout]    |         ----^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 5 arguments were supplied
[INFO] [stdout]     --> src/vision/path.rs:127:9
[INFO] [stdout]      |
[INFO] [stdout]  127 |         cvt_color(
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  132 |             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout]      |             -------------------------------- unexpected argument #5
[INFO] [stdout]      |
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/opencv-d2b2aa8473010d18/out/opencv/imgproc.rs:5889:9
[INFO] [stdout]      |
[INFO] [stdout] 5889 |     pub fn cvt_color(src: &impl ToInputArray, dst: &mut impl ToOutputArray, code: i32, dst_cn: i32) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]      |
[INFO] [stdout]  131 -             0,
[INFO] [stdout]  132 -             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout]  131 +             0,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 5 arguments were supplied
[INFO] [stdout]     --> src/vision/path.rs:138:9
[INFO] [stdout]      |
[INFO] [stdout]  138 |         cvt_color(
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  143 |             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout]      |             -------------------------------- unexpected argument #5
[INFO] [stdout]      |
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/opencv-d2b2aa8473010d18/out/opencv/imgproc.rs:5889:9
[INFO] [stdout]      |
[INFO] [stdout] 5889 |     pub fn cvt_color(src: &impl ToInputArray, dst: &mut impl ToOutputArray, code: i32, dst_cn: i32) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]      |
[INFO] [stdout]  142 -             0,
[INFO] [stdout]  143 -             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout]  142 +             0,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 5 arguments were supplied
[INFO] [stdout]     --> src/vision/path.rs:238:9
[INFO] [stdout]      |
[INFO] [stdout]  238 |         cvt_color(
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  243 |             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout]      |             -------------------------------- unexpected argument #5
[INFO] [stdout]      |
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/opencv-d2b2aa8473010d18/out/opencv/imgproc.rs:5889:9
[INFO] [stdout]      |
[INFO] [stdout] 5889 |     pub fn cvt_color(src: &impl ToInputArray, dst: &mut impl ToOutputArray, code: i32, dst_cn: i32) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]      |
[INFO] [stdout]  242 -             0,
[INFO] [stdout]  243 -             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout]  242 +             0,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 5 arguments were supplied
[INFO] [stdout]     --> src/vision/path.rs:249:9
[INFO] [stdout]      |
[INFO] [stdout]  249 |         cvt_color(
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  254 |             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout]      |             -------------------------------- unexpected argument #5
[INFO] [stdout]      |
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/opencv-d2b2aa8473010d18/out/opencv/imgproc.rs:5889:9
[INFO] [stdout]      |
[INFO] [stdout] 5889 |     pub fn cvt_color(src: &impl ToInputArray, dst: &mut impl ToOutputArray, code: i32, dst_cn: i32) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]      |
[INFO] [stdout]  253 -             0,
[INFO] [stdout]  254 -             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout]  253 +             0,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MatTraitConstManual`
[INFO] [stdout]   --> src/vision/gate_cv.rs:10:35
[INFO] [stdout]    |
[INFO] [stdout] 10 |     prelude::{Mat, MatTraitConst, MatTraitConstManual},
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sw8s_rust` (lib) due to 5 previous errors; 47 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "921baf18ceee1cd2166fc770419374a0ee4a82b8ccb9772c1e20bb56639d2a92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "921baf18ceee1cd2166fc770419374a0ee4a82b8ccb9772c1e20bb56639d2a92", kill_on_drop: false }`
[INFO] [stdout] 921baf18ceee1cd2166fc770419374a0ee4a82b8ccb9772c1e20bb56639d2a92
