[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] testing jmatyas/NEO6 against 1.97.0-beta.6 for beta-1.98-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjmatyas%2FNEO6" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc1/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-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jmatyas/NEO6 on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "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" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded vcell v0.1.3
[INFO] [stderr]   Downloaded cortex-m-rt-macros v0.1.8
[INFO] [stderr]   Downloaded r0 v0.2.2
[INFO] [stderr]   Downloaded cast v0.2.3
[INFO] [stderr]   Downloaded volatile-register v0.2.0
[INFO] [stderr]   Downloaded embedded-dma v0.1.2
[INFO] [stderr]   Downloaded panic-semihosting v0.5.6
[INFO] [stderr]   Downloaded bare-metal v0.2.5
[INFO] [stderr]   Downloaded as-slice v0.1.5
[INFO] [stderr]   Downloaded version_check v0.9.2
[INFO] [stderr]   Downloaded defmt-macros v0.1.1
[INFO] [stderr]   Downloaded defmt-parser v0.1.0
[INFO] [stderr]   Downloaded nb v0.1.3
[INFO] [stderr]   Downloaded nb v1.0.0
[INFO] [stderr]   Downloaded aligned v0.3.4
[INFO] [stderr]   Downloaded hash32 v0.1.1
[INFO] [stderr]   Downloaded panic-halt v0.2.0
[INFO] [stderr]   Downloaded bitfield v0.13.2
[INFO] [stderr]   Downloaded cortex-m-semihosting v0.3.7
[INFO] [stderr]   Downloaded embedded-can v0.3.0
[INFO] [stderr]   Downloaded byteorder v1.4.2
[INFO] [stderr]   Downloaded cortex-m-rt v0.6.13
[INFO] [stderr]   Downloaded embedded-hal v0.2.4
[INFO] [stderr]   Downloaded cortex-m v0.6.7
[INFO] [stderr]   Downloaded bxcan v0.4.0
[INFO] [stderr]   Downloaded defmt v0.1.3
[INFO] [stderr]   Downloaded typenum v1.12.0
[INFO] [stderr]   Downloaded heapless v0.5.6
[INFO] [stderr]   Downloaded cortex-m v0.7.1
[INFO] [stderr]   Downloaded syn v1.0.61
[INFO] [stderr]   Downloaded stm32f1 v0.11.0
[INFO] [stderr]   Downloaded stm32f1 v0.13.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] bda997c17b28761057d22ee6673c3ae7249eb85f0aea3ebe9248f41aab8acd2f
[INFO] running `Command { std: "docker" "start" "bda997c17b28761057d22ee6673c3ae7249eb85f0aea3ebe9248f41aab8acd2f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bda997c17b28761057d22ee6673c3ae7249eb85f0aea3ebe9248f41aab8acd2f", 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" "bda997c17b28761057d22ee6673c3ae7249eb85f0aea3ebe9248f41aab8acd2f" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bda997c17b28761057d22ee6673c3ae7249eb85f0aea3ebe9248f41aab8acd2f", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bda997c17b28761057d22ee6673c3ae7249eb85f0aea3ebe9248f41aab8acd2f" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", 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 nb v1.0.0
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]    Compiling cortex-m v0.7.1
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.61
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling vcell v0.1.3
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling ucd-trie v0.1.3
[INFO] [stderr]    Compiling bitfield v0.13.2
[INFO] [stderr]    Compiling cortex-m-rt v0.6.13
[INFO] [stderr]    Compiling heapless v0.5.6
[INFO] [stderr]    Compiling byteorder v1.4.2
[INFO] [stderr]    Compiling cortex-m v0.6.7
[INFO] [stderr]    Compiling volatile-register v0.2.0
[INFO] [stderr]    Compiling r0 v0.2.2
[INFO] [stderr]    Compiling nb v0.1.3
[INFO] [stderr]    Compiling defmt-parser v0.1.0
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling embedded-hal v0.2.4
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling pest v2.1.3
[INFO] [stderr]    Compiling cortex-m-semihosting v0.3.7
[INFO] [stderr]    Compiling stm32f1 v0.11.0
[INFO] [stderr]    Compiling embedded-can v0.3.0
[INFO] [stderr]    Compiling stm32f1 v0.13.0
[INFO] [stderr]    Compiling hash32 v0.1.1
[INFO] [stderr]    Compiling embedded-dma v0.1.2
[INFO] [stderr]    Compiling bare-metal v0.2.5
[INFO] [stderr]    Compiling cast v0.2.3
[INFO] [stderr]    Compiling panic-halt v0.2.0
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]    Compiling panic-semihosting v0.5.6
[INFO] [stderr]    Compiling semver-parser v0.10.2
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling semver v0.11.0
[INFO] [stderr]    Compiling generic-array v0.13.3
[INFO] [stderr]    Compiling generic-array v0.12.4
[INFO] [stderr]    Compiling defmt v0.1.3
[INFO] [stderr]    Compiling as-slice v0.1.5
[INFO] [stderr]    Compiling aligned v0.3.4
[INFO] [stderr]    Compiling cortex-m-rt-macros v0.1.8
[INFO] [stderr]    Compiling defmt-macros v0.1.1
[INFO] [stderr]    Compiling bxcan v0.4.0
[INFO] [stderr]    Compiling stm32f1xx-hal v0.7.0 (https://github.com/jmatyas/stm32f1xx-hal?branch=jma-dev#89275630)
[INFO] [stderr]    Compiling 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)]` (part of `#[warn(nonstandard_style)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `i` is assigned to, but never used
[INFO] [stdout]    --> src/neo.rs:393:25
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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: 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: 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: 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(nonstandard_style)]`) 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:50
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn new(buf: &'a mut [u8], rx: Rx, tx: Tx) -> NEO6<Rx, Tx>;
[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)]` (part of `#[warn(unused)]`) 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] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note:  "cc" "-m64" "/opt/rustwide/target/debug/deps/rustcUqhjoY/symbols.o" "<3 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/{libstm32f1xx_hal-89040bc93d818233,libbxcan-0d5d687aac7edfbd,libbitflags-2412f83d0e675323,libembedded_can-689b33360a286e89,libdefmt-ee4a021abe6c0f69,libheapless-d220283c1d921c5e,libhash32-40c1b8cf9dbfdd62,libbyteorder-0e883c94195406fc,libcast-e7b47c0f616ec729,libembedded_dma-e2f246c13a3fd1df,libstm32f1-940c0da0d00ff0b1,libcortex_m-e6716b1892f05dd4,libaligned-68fa32c363c0b7d1,libas_slice-5528837644642142,libstable_deref_trait-932cd180c9d6b0f0,libgeneric_array-c449a2212e1857a0,libgeneric_array-0d9ffe1ca0463863,libgeneric_array-1c7b461ade8d86a9,libtypenum-319c96d88abfe1e3,libcortex_m-a034ad8e037c4adf,libvolatile_register-94fa6a7c2ee568a3,libvcell-0eaad7c905f5a0e7,libbare_metal-042e3feb6b03abf6,libcortex_m_rt-50eafd2cf87d39fb,libr0-1a653440b77f6b79,libpanic_semihosting-532ae5efa903b8b9}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*}.rlib" "/opt/rustwide/target/debug/deps/{libembedded_hal-e60b78814a9503b2,libvoid-6336667ff9ef9cc5,libnb-ef957bb1701d249b,libnb-33c70c8e0c38e960}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/opt/rustwide/target/debug/deps/rustcUqhjoY/raw-dylibs" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/target/debug/build/cortex-m-rt-adfd3737ea7d33d4/out" "-L" "/opt/rustwide/target/debug/build/stm32f1-a2da3c2d18603711/out" "-L" "/opt/rustwide/target/debug/build/defmt-f0e25a077953a87d/out" "-L" "/opt/rustwide/target/debug/build/stm32f1-b98dde48a1601255/out" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/stm_tracker-75597db4378c77ad" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: rust-lld: error: undefined symbol: __cpsie
[INFO] [stdout]           >>> referenced by call_asm.rs:19 (/opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cortex-m-0.7.1/src/call_asm.rs:19)
[INFO] [stdout]           >>>               /opt/rustwide/target/debug/deps/stm_tracker-75597db4378c77ad.stm_tracker.c45cc94ccfe128d6-cgu.0.rcgu.o:(cortex_m::interrupt::enable)
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: __cpsid
[INFO] [stdout]           >>> referenced by call_asm.rs:19 (/opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cortex-m-0.7.1/src/call_asm.rs:19)
[INFO] [stdout]           >>>               /opt/rustwide/target/debug/deps/stm_tracker-75597db4378c77ad.stm_tracker.c45cc94ccfe128d6-cgu.0.rcgu.o:(cortex_m::interrupt::disable)
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: __primask_r
[INFO] [stdout]           >>> referenced by call_asm.rs:19 (src/call_asm.rs:19)
[INFO] [stdout]           >>>               cortex_m-a034ad8e037c4adf.cortex_m.9ff900e41fa3c9c-cgu.0.rcgu.o:(cortex_m::register::primask::read::read_raw) in archive /opt/rustwide/target/debug/deps/libcortex_m-a034ad8e037c4adf.rlib
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stm_tracker` (bin "stm_tracker") due to 1 previous error; 24 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "bda997c17b28761057d22ee6673c3ae7249eb85f0aea3ebe9248f41aab8acd2f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bda997c17b28761057d22ee6673c3ae7249eb85f0aea3ebe9248f41aab8acd2f", kill_on_drop: false }`
[INFO] [stdout] bda997c17b28761057d22ee6673c3ae7249eb85f0aea3ebe9248f41aab8acd2f
