[INFO] cloning repository https://github.com/jmatyas/NEO6 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jmatyas/NEO6" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjmatyas%2FNEO6", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjmatyas%2FNEO6'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6ea8a1190a2906a09ed69d625e5ce78f11c2aa7a [INFO] checking jmatyas/NEO6 against try#c659ee110de67e82444e4b6c8407c1a9af9c2cf6 for pr-145608 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjmatyas%2FNEO6" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-1-tc2/source/.cargo/config [INFO] started tweaking git repo https://github.com/jmatyas/NEO6 [INFO] finished tweaking git repo https://github.com/jmatyas/NEO6 [INFO] tweaked toml for git repo https://github.com/jmatyas/NEO6 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/jmatyas/NEO6 on toolchain c659ee110de67e82444e4b6c8407c1a9af9c2cf6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c659ee110de67e82444e4b6c8407c1a9af9c2cf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/jmatyas/NEO6 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" "+c659ee110de67e82444e4b6c8407c1a9af9c2cf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating git repository `https://github.com/jmatyas/stm32f1xx-hal` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 2 packages to latest compatible versions [INFO] [stderr] Adding stm32f1 v0.13.0 (available: v0.16.0) [INFO] [stderr] Adding stm32f1xx-hal v0.7.0 (https://github.com/jmatyas/stm32f1xx-hal?branch=jma-dev#89275630) [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+c659ee110de67e82444e4b6c8407c1a9af9c2cf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3aa4967672464d77b4a311eb59d55a30a83906bfdd38d41228dbc4329863b0f7 [INFO] running `Command { std: "docker" "start" "-a" "3aa4967672464d77b4a311eb59d55a30a83906bfdd38d41228dbc4329863b0f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3aa4967672464d77b4a311eb59d55a30a83906bfdd38d41228dbc4329863b0f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3aa4967672464d77b4a311eb59d55a30a83906bfdd38d41228dbc4329863b0f7", kill_on_drop: false }` [INFO] [stdout] 3aa4967672464d77b4a311eb59d55a30a83906bfdd38d41228dbc4329863b0f7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+c659ee110de67e82444e4b6c8407c1a9af9c2cf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 21d0e8dc914b2dc433d2d4993468f615fded98145c90c76dcccd7d85a6536de7 [INFO] running `Command { std: "docker" "start" "-a" "21d0e8dc914b2dc433d2d4993468f615fded98145c90c76dcccd7d85a6536de7", kill_on_drop: false }` [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling typenum v1.12.0 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling cortex-m v0.7.1 [INFO] [stderr] Checking nb v1.0.0 [INFO] [stderr] Compiling version_check v0.9.2 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling syn v1.0.61 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking vcell v0.1.3 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Compiling ucd-trie v0.1.3 [INFO] [stderr] Checking bitfield v0.13.2 [INFO] [stderr] Compiling cortex-m-rt v0.6.13 [INFO] [stderr] Checking byteorder v1.4.2 [INFO] [stderr] Compiling heapless v0.5.6 [INFO] [stderr] Checking nb v0.1.3 [INFO] [stderr] Compiling cortex-m v0.6.7 [INFO] [stderr] Compiling defmt-parser v0.1.0 [INFO] [stderr] Checking volatile-register v0.2.0 [INFO] [stderr] Checking hash32 v0.1.1 [INFO] [stderr] Checking embedded-hal v0.2.4 [INFO] [stderr] Checking r0 v0.2.2 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling pest v2.1.3 [INFO] [stderr] Compiling stm32f1 v0.11.0 [INFO] [stderr] Compiling cortex-m-semihosting v0.3.7 [INFO] [stderr] Checking embedded-can v0.3.0 [INFO] [stderr] Compiling stm32f1 v0.13.0 [INFO] [stderr] Checking embedded-dma v0.1.2 [INFO] [stderr] Checking panic-halt v0.2.0 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling generic-array v0.14.4 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling bare-metal v0.2.5 [INFO] [stderr] Compiling cast v0.2.3 [INFO] [stderr] Compiling semver-parser v0.10.2 [INFO] [stderr] Checking generic-array v0.12.4 [INFO] [stderr] Checking generic-array v0.13.3 [INFO] [stderr] Checking panic-semihosting v0.5.6 [INFO] [stderr] Compiling semver v0.11.0 [INFO] [stderr] Checking as-slice v0.1.5 [INFO] [stderr] Compiling defmt v0.1.3 [INFO] [stderr] Checking aligned v0.3.4 [INFO] [stderr] Compiling cortex-m-rt-macros v0.1.8 [INFO] [stderr] Compiling defmt-macros v0.1.1 [INFO] [stderr] Checking bxcan v0.4.0 [INFO] [stderr] Checking stm32f1xx-hal v0.7.0 (https://github.com/jmatyas/stm32f1xx-hal?branch=jma-dev#89275630) [INFO] [stderr] Checking stm_tracker v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: type `GPS_Statement` should have an upper camel case name [INFO] [stdout] --> src/neo.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum GPS_Statement { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GpsStatement` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `GPS_Data` should have an upper camel case name [INFO] [stdout] --> src/neo.rs:259:12 [INFO] [stdout] | [INFO] [stdout] 259 | pub struct GPS_Data { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `GpsData` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Rx1`, `Tx3`, `USART1`, and `USART2` [INFO] [stdout] --> src/main.rs:27:36 [INFO] [stdout] | [INFO] [stdout] 27 | serial::{self, Serial, Config, Rx1, Rx3, Tx1, Tx3}, [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] 28 | stm32::{interrupt, NVIC, USART1, USART2, USART3}, [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `GPS_Statement` should have an upper camel case name [INFO] [stdout] --> src/neo.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum GPS_Statement { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GpsStatement` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `GPS_Data` should have an upper camel case name [INFO] [stdout] --> src/neo.rs:259:12 [INFO] [stdout] | [INFO] [stdout] 259 | pub struct GPS_Data { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `GpsData` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Rx1`, `Tx3`, `USART1`, and `USART2` [INFO] [stdout] --> src/main.rs:27:36 [INFO] [stdout] | [INFO] [stdout] 27 | serial::{self, Serial, Config, Rx1, Rx3, Tx1, Tx3}, [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] 28 | stm32::{interrupt, NVIC, USART1, USART2, USART3}, [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/neo.rs:238:17 [INFO] [stdout] | [INFO] [stdout] 238 | let mut data = match self.last_read { [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: variable `i` is assigned to, but never used [INFO] [stdout] --> src/neo.rs:393:29 [INFO] [stdout] | [INFO] [stdout] 393 | let mut i = 0; [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 642 | / neo! { [INFO] [stdout] 643 | | NEO6: ( [INFO] [stdout] 644 | | USART1, [INFO] [stdout] 645 | | Rx1, [INFO] [stdout] ... | [INFO] [stdout] 664 | | ), [INFO] [stdout] 665 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: consider using `_i` instead [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] = note: this warning originates in the macro `neo` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/neo.rs:402:37 [INFO] [stdout] | [INFO] [stdout] 402 | i += 1; [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 642 | / neo! { [INFO] [stdout] 643 | | NEO6: ( [INFO] [stdout] 644 | | USART1, [INFO] [stdout] 645 | | Rx1, [INFO] [stdout] ... | [INFO] [stdout] 664 | | ), [INFO] [stdout] 665 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = note: this warning originates in the macro `neo` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/neo.rs:422:30 [INFO] [stdout] | [INFO] [stdout] 422 | let (mut cmd, mut info) = self.get_line(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 642 | / neo! { [INFO] [stdout] 643 | | NEO6: ( [INFO] [stdout] 644 | | USART1, [INFO] [stdout] 645 | | Rx1, [INFO] [stdout] ... | [INFO] [stdout] 664 | | ), [INFO] [stdout] 665 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `neo` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/neo.rs:422:39 [INFO] [stdout] | [INFO] [stdout] 422 | let (mut cmd, mut info) = self.get_line(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 642 | / neo! { [INFO] [stdout] 643 | | NEO6: ( [INFO] [stdout] 644 | | USART1, [INFO] [stdout] 645 | | Rx1, [INFO] [stdout] ... | [INFO] [stdout] 664 | | ), [INFO] [stdout] 665 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `neo` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log_rx` [INFO] [stdout] --> src/main.rs:79:22 [INFO] [stdout] | [INFO] [stdout] 79 | let (mut log_tx, log_rx) = serial.split(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_rx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gps_tx` [INFO] [stdout] --> src/main.rs:103:10 [INFO] [stdout] | [INFO] [stdout] 103 | let (gps_tx, gps_rx) = gps_serial.split(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_gps_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | let mut serial = Serial::usart1( [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/main.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | let mut tx_pin = gpiob.pb10.into_alternate_push_pull(&mut gpiob.crh); [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/main.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let mut rx_pin = gpiob.pb11.into_floating_input(&mut gpiob.crh); [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/main.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | let mut neo = NEO6::new(tx_buff, gps_rx, log_tx); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GPGSV` is never constructed [INFO] [stdout] --> src/neo.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum GPS_Statement { [INFO] [stdout] | ------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 36 | GPGSV, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GPS_Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GPSSatellite` is never constructed [INFO] [stdout] --> src/neo.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | pub struct GPSSatellite { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `satellites_no` is never used [INFO] [stdout] --> src/neo.rs:312:12 [INFO] [stdout] | [INFO] [stdout] 279 | impl GPS_Data { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 312 | pub fn satellites_no(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/neo.rs:383:24 [INFO] [stdout] | [INFO] [stdout] 382 | impl <'a> NEO6 <'a, $rxX, $txX> { [INFO] [stdout] | ------------------------------- methods in this implementation [INFO] [stdout] 383 | pub fn listen(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | pub fn unlisten(&mut self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 389 | pub fn data_valid(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 392 | pub fn receive(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 411 | pub fn get_line(&self) -> (GPS_Statement, &[u8]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 414 | pub fn buffer_is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 417 | pub fn clear_buffer(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 420 | pub fn parse(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 443 | pub fn parse_rmc(&self, data: &[u8]) -> RMC { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 504 | pub fn parse_gsa(&self, data: &[u8]) -> GSA { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 558 | pub fn parse_gga(&self, data: &[u8]) -> GGA { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 624 | pub fn get_data(&self) -> GPS_Data { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 627 | pub fn report(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 642 | / neo! { [INFO] [stdout] 643 | | NEO6: ( [INFO] [stdout] 644 | | USART1, [INFO] [stdout] 645 | | Rx1, [INFO] [stdout] ... | [INFO] [stdout] 664 | | ), [INFO] [stdout] 665 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `neo` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `buffer_is_empty` and `clear_buffer` are never used [INFO] [stdout] --> src/neo.rs:414:24 [INFO] [stdout] | [INFO] [stdout] 382 | impl <'a> NEO6 <'a, $rxX, $txX> { [INFO] [stdout] | ------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 414 | pub fn buffer_is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 417 | pub fn clear_buffer(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 642 | / neo! { [INFO] [stdout] 643 | | NEO6: ( [INFO] [stdout] 644 | | USART1, [INFO] [stdout] 645 | | Rx1, [INFO] [stdout] ... | [INFO] [stdout] 664 | | ), [INFO] [stdout] 665 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `neo` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `GPS_VALID` should have a snake case name [INFO] [stdout] --> src/main.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | let mut GPS_VALID=false; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `gps_valid` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/neo.rs:238:17 [INFO] [stdout] | [INFO] [stdout] 238 | let mut data = match self.last_read { [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: structure field `ID` should have a snake case name [INFO] [stdout] --> src/neo.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | ID: u8, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SNR` should have a snake case name [INFO] [stdout] --> src/neo.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | SNR: u8, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `snr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/neo.rs:356:18 [INFO] [stdout] | [INFO] [stdout] 356 | fn new(buf: &'a mut [u8], rx: Rx, tx: Tx) -> NEO6; [INFO] [stdout] | ^^ the lifetime is named here ------------ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 356 | fn new(buf: &'a mut [u8], rx: Rx, tx: Tx) -> NEO6<'a, Rx, Tx>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `i` is assigned to, but never used [INFO] [stdout] --> src/neo.rs:393:29 [INFO] [stdout] | [INFO] [stdout] 393 | let mut i = 0; [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 642 | / neo! { [INFO] [stdout] 643 | | NEO6: ( [INFO] [stdout] 644 | | USART1, [INFO] [stdout] 645 | | Rx1, [INFO] [stdout] ... | [INFO] [stdout] 664 | | ), [INFO] [stdout] 665 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: consider using `_i` instead [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] = note: this warning originates in the macro `neo` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/neo.rs:402:37 [INFO] [stdout] | [INFO] [stdout] 402 | i += 1; [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 642 | / neo! { [INFO] [stdout] 643 | | NEO6: ( [INFO] [stdout] 644 | | USART1, [INFO] [stdout] 645 | | Rx1, [INFO] [stdout] ... | [INFO] [stdout] 664 | | ), [INFO] [stdout] 665 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = note: this warning originates in the macro `neo` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/neo.rs:422:30 [INFO] [stdout] | [INFO] [stdout] 422 | let (mut cmd, mut info) = self.get_line(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 642 | / neo! { [INFO] [stdout] 643 | | NEO6: ( [INFO] [stdout] 644 | | USART1, [INFO] [stdout] 645 | | Rx1, [INFO] [stdout] ... | [INFO] [stdout] 664 | | ), [INFO] [stdout] 665 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `neo` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/neo.rs:422:39 [INFO] [stdout] | [INFO] [stdout] 422 | let (mut cmd, mut info) = self.get_line(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 642 | / neo! { [INFO] [stdout] 643 | | NEO6: ( [INFO] [stdout] 644 | | USART1, [INFO] [stdout] 645 | | Rx1, [INFO] [stdout] ... | [INFO] [stdout] 664 | | ), [INFO] [stdout] 665 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `neo` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/neo.rs:642:1 [INFO] [stdout] | [INFO] [stdout] 642 | / neo! { [INFO] [stdout] 643 | | NEO6: ( [INFO] [stdout] 644 | | USART1, [INFO] [stdout] 645 | | Rx1, [INFO] [stdout] ... | [INFO] [stdout] 664 | | ), [INFO] [stdout] 665 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 642 | let _ = neo! { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log_rx` [INFO] [stdout] --> src/main.rs:79:22 [INFO] [stdout] | [INFO] [stdout] 79 | let (mut log_tx, log_rx) = serial.split(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_rx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gps_tx` [INFO] [stdout] --> src/main.rs:103:10 [INFO] [stdout] | [INFO] [stdout] 103 | let (gps_tx, gps_rx) = gps_serial.split(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_gps_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | let mut serial = Serial::usart1( [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/main.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | let mut tx_pin = gpiob.pb10.into_alternate_push_pull(&mut gpiob.crh); [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/main.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let mut rx_pin = gpiob.pb11.into_floating_input(&mut gpiob.crh); [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/main.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | let mut neo = NEO6::new(tx_buff, gps_rx, log_tx); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GPGSV` is never constructed [INFO] [stdout] --> src/neo.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum GPS_Statement { [INFO] [stdout] | ------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 36 | GPGSV, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GPS_Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GPSSatellite` is never constructed [INFO] [stdout] --> src/neo.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | pub struct GPSSatellite { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `satellites_no` is never used [INFO] [stdout] --> src/neo.rs:312:12 [INFO] [stdout] | [INFO] [stdout] 279 | impl GPS_Data { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 312 | pub fn satellites_no(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/neo.rs:383:24 [INFO] [stdout] | [INFO] [stdout] 382 | impl <'a> NEO6 <'a, $rxX, $txX> { [INFO] [stdout] | ------------------------------- methods in this implementation [INFO] [stdout] 383 | pub fn listen(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | pub fn unlisten(&mut self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 389 | pub fn data_valid(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 392 | pub fn receive(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 411 | pub fn get_line(&self) -> (GPS_Statement, &[u8]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 414 | pub fn buffer_is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 417 | pub fn clear_buffer(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 420 | pub fn parse(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 443 | pub fn parse_rmc(&self, data: &[u8]) -> RMC { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 504 | pub fn parse_gsa(&self, data: &[u8]) -> GSA { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 558 | pub fn parse_gga(&self, data: &[u8]) -> GGA { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 624 | pub fn get_data(&self) -> GPS_Data { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 627 | pub fn report(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 642 | / neo! { [INFO] [stdout] 643 | | NEO6: ( [INFO] [stdout] 644 | | USART1, [INFO] [stdout] 645 | | Rx1, [INFO] [stdout] ... | [INFO] [stdout] 664 | | ), [INFO] [stdout] 665 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `neo` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `buffer_is_empty` and `clear_buffer` are never used [INFO] [stdout] --> src/neo.rs:414:24 [INFO] [stdout] | [INFO] [stdout] 382 | impl <'a> NEO6 <'a, $rxX, $txX> { [INFO] [stdout] | ------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 414 | pub fn buffer_is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 417 | pub fn clear_buffer(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 642 | / neo! { [INFO] [stdout] 643 | | NEO6: ( [INFO] [stdout] 644 | | USART1, [INFO] [stdout] 645 | | Rx1, [INFO] [stdout] ... | [INFO] [stdout] 664 | | ), [INFO] [stdout] 665 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `neo` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `GPS_VALID` should have a snake case name [INFO] [stdout] --> src/main.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | let mut GPS_VALID=false; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `gps_valid` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `ID` should have a snake case name [INFO] [stdout] --> src/neo.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | ID: u8, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SNR` should have a snake case name [INFO] [stdout] --> src/neo.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | SNR: u8, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `snr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/neo.rs:356:18 [INFO] [stdout] | [INFO] [stdout] 356 | fn new(buf: &'a mut [u8], rx: Rx, tx: Tx) -> NEO6; [INFO] [stdout] | ^^ the lifetime is named here ------------ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 356 | fn new(buf: &'a mut [u8], rx: Rx, tx: Tx) -> NEO6<'a, Rx, Tx>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/neo.rs:642:1 [INFO] [stdout] | [INFO] [stdout] 642 | / neo! { [INFO] [stdout] 643 | | NEO6: ( [INFO] [stdout] 644 | | USART1, [INFO] [stdout] 645 | | Rx1, [INFO] [stdout] ... | [INFO] [stdout] 664 | | ), [INFO] [stdout] 665 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 642 | let _ = neo! { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 26.21s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: stm32f1xx-hal v0.7.0 (https://github.com/jmatyas/stm32f1xx-hal?branch=jma-dev#89275630) [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "21d0e8dc914b2dc433d2d4993468f615fded98145c90c76dcccd7d85a6536de7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "21d0e8dc914b2dc433d2d4993468f615fded98145c90c76dcccd7d85a6536de7", kill_on_drop: false }` [INFO] [stdout] 21d0e8dc914b2dc433d2d4993468f615fded98145c90c76dcccd7d85a6536de7