[INFO] fetching crate shakti_riscv_hal 0.1.2...
[INFO] testing shakti_riscv_hal-0.1.2 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] extracting crate shakti_riscv_hal 0.1.2 into /workspace/builds/worker-5-tc1/source
[INFO] removed /workspace/builds/worker-5-tc1/source/.cargo/config.toml
[INFO] started tweaking crates.io crate shakti_riscv_hal 0.1.2
[INFO] finished tweaking crates.io crate shakti_riscv_hal 0.1.2
[INFO] tweaked toml for crates.io crate shakti_riscv_hal 0.1.2 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate shakti_riscv_hal 0.1.2 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 25 packages to latest compatible versions
[INFO] [stderr]       Adding panic-halt v0.2.0 (available: v1.0.0)
[INFO] [stderr]       Adding riscv v0.10.1 (available: v0.16.0)
[INFO] [stderr]       Adding riscv-rt v0.11.0 (available: v0.17.0)
[INFO] [stderr]       Adding tock-registers v0.9.0 (available: v0.10.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded riscv-target v0.1.2
[INFO] [stderr]   Downloaded riscv v0.10.1
[INFO] [stderr]   Downloaded panic-halt v0.2.0
[INFO] [stderr]   Downloaded tock-registers v0.9.0
[INFO] [stderr]   Downloaded r0 v1.0.0
[INFO] [stderr]   Downloaded riscv-rt v0.11.0
[INFO] [stderr]   Downloaded riscv-rt-macros v0.2.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 72a2ef053d7117d1de6bf0047abbaa1a88bd3c7417bf2a7e12eeb36ea6006876
[INFO] running `Command { std: "docker" "start" "-a" "72a2ef053d7117d1de6bf0047abbaa1a88bd3c7417bf2a7e12eeb36ea6006876", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "72a2ef053d7117d1de6bf0047abbaa1a88bd3c7417bf2a7e12eeb36ea6006876", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "72a2ef053d7117d1de6bf0047abbaa1a88bd3c7417bf2a7e12eeb36ea6006876", kill_on_drop: false }`
[INFO] [stdout] 72a2ef053d7117d1de6bf0047abbaa1a88bd3c7417bf2a7e12eeb36ea6006876
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8479105875b3953282fdd398de253df9a42b0e1a98b62d1adfbe6cb0a3de8b7d
[INFO] running `Command { std: "docker" "start" "-a" "8479105875b3953282fdd398de253df9a42b0e1a98b62d1adfbe6cb0a3de8b7d", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling nb v1.1.0
[INFO] [stderr]    Compiling riscv v0.10.1
[INFO] [stderr]    Compiling bit_field v0.10.3
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling shakti_riscv_hal v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling riscv-rt-macros v0.2.2
[INFO] [stderr]    Compiling nb v0.1.3
[INFO] [stderr]    Compiling r0 v1.0.0
[INFO] [stderr]    Compiling embedded-hal v0.2.7
[INFO] [stderr]    Compiling vcell v0.1.3
[INFO] [stderr]    Compiling panic-halt v0.2.0
[INFO] [stderr]    Compiling tock-registers v0.9.0
[INFO] [stderr]    Compiling volatile-register v0.2.2
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling riscv-target v0.1.2
[INFO] [stderr]    Compiling riscv-rt v0.11.0
[INFO] [stdout] warning: unused imports: `delay`, `nop`, and `register`
[INFO] [stdout]  --> src/gpio.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 |     asm::{delay, nop},
[INFO] [stdout]   |           ^^^^^  ^^^
[INFO] [stdout] 5 |     register,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReadOnly`, `Readable`, and `WriteOnly`
[INFO] [stdout]   --> src/gpio.rs:8:18
[INFO] [stdout]    |
[INFO] [stdout]  8 |     interfaces::{Readable, Writeable},
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout]  9 |     register_bitfields, register_structs,
[INFO] [stdout] 10 |     registers::{ReadOnly, ReadWrite, WriteOnly},
[INFO] [stdout]    |                 ^^^^^^^^             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `delay`, `nop`, and `register`
[INFO] [stdout]   --> src/uart.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 |     asm::{delay, nop},
[INFO] [stdout]    |           ^^^^^  ^^^
[INFO] [stdout] 11 |     register,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WriteOnly` and `fields::FieldValue`
[INFO] [stdout]   --> src/spi.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     fields::FieldValue,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     registers::{ReadOnly, ReadWrite, WriteOnly},
[INFO] [stdout]    |                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::SPI_CR1::SPI_TOTAL_BITS_TX`
[INFO] [stdout]   --> src/spi.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use self::SPI_CR1::SPI_TOTAL_BITS_TX;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `delay`, `nop`, and `register`
[INFO] [stdout]   --> src/i2c.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 |     asm::{delay, nop},
[INFO] [stdout]    |           ^^^^^  ^^^
[INFO] [stdout] 13 |     register,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReadOnly`, `Readable`, `WriteOnly`, and `Writeable`
[INFO] [stdout]   --> src/i2c.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 |     interfaces::{Readable, Writeable},
[INFO] [stdout]    |                  ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 17 |     register_bitfields, register_structs,
[INFO] [stdout] 18 |     registers::{ReadOnly, ReadWrite, WriteOnly},
[INFO] [stdout]    |                 ^^^^^^^^             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/pwm.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | / ///Note:
[INFO] [stdout] 52 | | ///PWM Frequency = system clock / (2 * prescaler reg * period reg )
[INFO] [stdout] 53 | | ///= 50000000/(2 * 61440 * 240)
[INFO] [stdout] 54 | | ///= 1.688Hz
[INFO] [stdout] ...  |
[INFO] [stdout] 57 | | ///PWM On time = (PWM Duty reg * PWM period ) / ( PWM Period reg)
[INFO] [stdout] 58 | | ///= 128 * 0.589824 / 240 = 0.3145728 seconds
[INFO] [stdout]    | |_--------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `delay`, `nop`, and `register`
[INFO] [stdout]   --> src/pwm.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 |     asm::{delay, nop},
[INFO] [stdout]    |           ^^^^^  ^^^
[INFO] [stdout] 13 |     register,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReadOnly`, `Readable`, `WriteOnly`, and `Writeable`
[INFO] [stdout]   --> src/pwm.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 |     interfaces::{Readable, Writeable},
[INFO] [stdout]    |                  ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 17 |     register_bitfields, register_structs,
[INFO] [stdout] 18 |     registers::{ReadOnly, ReadWrite, WriteOnly},
[INFO] [stdout]    |                 ^^^^^^^^             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/ext_flash.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::spi::{self, SPIInner};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/uart.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/uart.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 223 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `address2` is never read
[INFO] [stdout]    --> src/spi.rs:537:9
[INFO] [stdout]     |
[INFO] [stdout] 537 |         address2 = address2 << 24;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> src/ext_flash.rs:56:38
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn flash_cmd_addr(&mut self, command: u32, addr: u32) {}
[INFO] [stdout]    |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/ext_flash.rs:56:52
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn flash_cmd_addr(&mut self, command: u32, addr: u32) {}
[INFO] [stdout]    |                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> src/ext_flash.rs:67:43
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn flash_cmd_addr_data(&mut self, command: u32, addr: u32, data: u32) {
[INFO] [stdout]    |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/ext_flash.rs:67:57
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn flash_cmd_addr_data(&mut self, command: u32, addr: u32, data: u32) {
[INFO] [stdout]    |                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ext_flash.rs:67:68
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn flash_cmd_addr_data(&mut self, command: u32, addr: u32, data: u32) {
[INFO] [stdout]    |                                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]   --> src/ext_flash.rs:80:35
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn flash_write(&mut self, address: u32, data: u32) {}
[INFO] [stdout]    |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ext_flash.rs:80:49
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn flash_write(&mut self, address: u32, data: u32) {}
[INFO] [stdout]    |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> src/ext_flash.rs:93:41
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn flash_cmd_to_read(&mut self, command: u32, addr: u32) {}
[INFO] [stdout]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/ext_flash.rs:93:55
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn flash_cmd_to_read(&mut self, command: u32, addr: u32) {}
[INFO] [stdout]    |                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/ext_flash.rs:101:34
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn flash_read(&mut self, address: u32) {}
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]    --> src/ext_flash.rs:110:38
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn flash_cmd_read(&mut self, command: u32) {}
[INFO] [stdout]     |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/ext_flash.rs:123:35
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn flash_erase(&mut self, address: u32) {}
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `registers` is never read
[INFO] [stdout]    --> src/i2c.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct I2CInner {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 150 |     registers: Registers,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `registers` is never read
[INFO] [stdout]    --> src/pwm.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct PWMInner {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 123 |     registers: Registers,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `spi` is never read
[INFO] [stdout]  --> src/ext_flash.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Flash {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] 5 |     spi: SPIInner,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `bitEXtracted` should have a snake case name
[INFO] [stdout]    --> src/spi.rs:602:12
[INFO] [stdout]     |
[INFO] [stdout] 602 |     pub fn bitEXtracted(&mut self, number: u32, k: u32, p: u32) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `bit_extracted`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `bitEXtracted` should have a snake case name
[INFO] [stdout]    --> src/ext_flash.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn bitEXtracted(&mut self, number: u32, k: u32, p: u32) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `bit_extracted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.25s
[INFO] running `Command { std: "docker" "inspect" "8479105875b3953282fdd398de253df9a42b0e1a98b62d1adfbe6cb0a3de8b7d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8479105875b3953282fdd398de253df9a42b0e1a98b62d1adfbe6cb0a3de8b7d", kill_on_drop: false }`
[INFO] [stdout] 8479105875b3953282fdd398de253df9a42b0e1a98b62d1adfbe6cb0a3de8b7d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a1e72a8695d21bb15d37a48f18a9a950aecc20dff461e783dcf70722b93cef24
[INFO] running `Command { std: "docker" "start" "-a" "a1e72a8695d21bb15d37a48f18a9a950aecc20dff461e783dcf70722b93cef24", kill_on_drop: false }`
[INFO] [stdout] warning: unused imports: `delay`, `nop`, and `register`
[INFO] [stdout]  --> src/gpio.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 |     asm::{delay, nop},
[INFO] [stdout]   |           ^^^^^  ^^^
[INFO] [stdout] 5 |     register,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReadOnly`, `Readable`, and `WriteOnly`
[INFO] [stdout]   --> src/gpio.rs:8:18
[INFO] [stdout]    |
[INFO] [stdout]  8 |     interfaces::{Readable, Writeable},
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout]  9 |     register_bitfields, register_structs,
[INFO] [stdout] 10 |     registers::{ReadOnly, ReadWrite, WriteOnly},
[INFO] [stdout]    |                 ^^^^^^^^             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `delay`, `nop`, and `register`
[INFO] [stdout]   --> src/uart.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 |     asm::{delay, nop},
[INFO] [stdout]    |           ^^^^^  ^^^
[INFO] [stdout] 11 |     register,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WriteOnly` and `fields::FieldValue`
[INFO] [stdout]   --> src/spi.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     fields::FieldValue,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     registers::{ReadOnly, ReadWrite, WriteOnly},
[INFO] [stdout]    |                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::SPI_CR1::SPI_TOTAL_BITS_TX`
[INFO] [stdout]   --> src/spi.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use self::SPI_CR1::SPI_TOTAL_BITS_TX;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `delay`, `nop`, and `register`
[INFO] [stdout]   --> src/i2c.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 |     asm::{delay, nop},
[INFO] [stdout]    |           ^^^^^  ^^^
[INFO] [stdout] 13 |     register,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReadOnly`, `Readable`, `WriteOnly`, and `Writeable`
[INFO] [stdout]   --> src/i2c.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 |     interfaces::{Readable, Writeable},
[INFO] [stdout]    |                  ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 17 |     register_bitfields, register_structs,
[INFO] [stdout] 18 |     registers::{ReadOnly, ReadWrite, WriteOnly},
[INFO] [stdout]    |                 ^^^^^^^^             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/pwm.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | / ///Note:
[INFO] [stdout] 52 | | ///PWM Frequency = system clock / (2 * prescaler reg * period reg )
[INFO] [stdout] 53 | | ///= 50000000/(2 * 61440 * 240)
[INFO] [stdout] 54 | | ///= 1.688Hz
[INFO] [stdout] ...  |
[INFO] [stdout] 57 | | ///PWM On time = (PWM Duty reg * PWM period ) / ( PWM Period reg)
[INFO] [stdout] 58 | | ///= 128 * 0.589824 / 240 = 0.3145728 seconds
[INFO] [stdout]    | |_--------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `delay`, `nop`, and `register`
[INFO] [stdout]   --> src/pwm.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 |     asm::{delay, nop},
[INFO] [stdout]    |           ^^^^^  ^^^
[INFO] [stdout] 13 |     register,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReadOnly`, `Readable`, `WriteOnly`, and `Writeable`
[INFO] [stdout]   --> src/pwm.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 |     interfaces::{Readable, Writeable},
[INFO] [stdout]    |                  ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 17 |     register_bitfields, register_structs,
[INFO] [stdout] 18 |     registers::{ReadOnly, ReadWrite, WriteOnly},
[INFO] [stdout]    |                 ^^^^^^^^             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/ext_flash.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::spi::{self, SPIInner};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/uart.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/uart.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 223 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `address2` is never read
[INFO] [stdout]    --> src/spi.rs:537:9
[INFO] [stdout]     |
[INFO] [stdout] 537 |         address2 = address2 << 24;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> src/ext_flash.rs:56:38
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn flash_cmd_addr(&mut self, command: u32, addr: u32) {}
[INFO] [stdout]    |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/ext_flash.rs:56:52
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn flash_cmd_addr(&mut self, command: u32, addr: u32) {}
[INFO] [stdout]    |                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> src/ext_flash.rs:67:43
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn flash_cmd_addr_data(&mut self, command: u32, addr: u32, data: u32) {
[INFO] [stdout]    |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/ext_flash.rs:67:57
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn flash_cmd_addr_data(&mut self, command: u32, addr: u32, data: u32) {
[INFO] [stdout]    |                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ext_flash.rs:67:68
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn flash_cmd_addr_data(&mut self, command: u32, addr: u32, data: u32) {
[INFO] [stdout]    |                                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]   --> src/ext_flash.rs:80:35
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn flash_write(&mut self, address: u32, data: u32) {}
[INFO] [stdout]    |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ext_flash.rs:80:49
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn flash_write(&mut self, address: u32, data: u32) {}
[INFO] [stdout]    |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> src/ext_flash.rs:93:41
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn flash_cmd_to_read(&mut self, command: u32, addr: u32) {}
[INFO] [stdout]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/ext_flash.rs:93:55
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn flash_cmd_to_read(&mut self, command: u32, addr: u32) {}
[INFO] [stdout]    |                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/ext_flash.rs:101:34
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn flash_read(&mut self, address: u32) {}
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]    --> src/ext_flash.rs:110:38
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn flash_cmd_read(&mut self, command: u32) {}
[INFO] [stdout]     |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/ext_flash.rs:123:35
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn flash_erase(&mut self, address: u32) {}
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `registers` is never read
[INFO] [stdout]    --> src/i2c.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct I2CInner {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 150 |     registers: Registers,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `registers` is never read
[INFO] [stdout]    --> src/pwm.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct PWMInner {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 123 |     registers: Registers,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `spi` is never read
[INFO] [stdout]  --> src/ext_flash.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Flash {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] 5 |     spi: SPIInner,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `bitEXtracted` should have a snake case name
[INFO] [stdout]    --> src/spi.rs:602:12
[INFO] [stdout]     |
[INFO] [stdout] 602 |     pub fn bitEXtracted(&mut self, number: u32, k: u32, p: u32) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `bit_extracted`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `bitEXtracted` should have a snake case name
[INFO] [stdout]    --> src/ext_flash.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn bitEXtracted(&mut self, number: u32, k: u32, p: u32) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `bit_extracted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling shakti_riscv_hal v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `delay`, `nop`, and `register`
[INFO] [stdout]  --> src/gpio.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 |     asm::{delay, nop},
[INFO] [stdout]   |           ^^^^^  ^^^
[INFO] [stdout] 5 |     register,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReadOnly`, `Readable`, and `WriteOnly`
[INFO] [stdout]   --> src/gpio.rs:8:18
[INFO] [stdout]    |
[INFO] [stdout]  8 |     interfaces::{Readable, Writeable},
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout]  9 |     register_bitfields, register_structs,
[INFO] [stdout] 10 |     registers::{ReadOnly, ReadWrite, WriteOnly},
[INFO] [stdout]    |                 ^^^^^^^^             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `delay`, `nop`, and `register`
[INFO] [stdout]   --> src/uart.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 |     asm::{delay, nop},
[INFO] [stdout]    |           ^^^^^  ^^^
[INFO] [stdout] 11 |     register,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WriteOnly` and `fields::FieldValue`
[INFO] [stdout]   --> src/spi.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     fields::FieldValue,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     registers::{ReadOnly, ReadWrite, WriteOnly},
[INFO] [stdout]    |                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::SPI_CR1::SPI_TOTAL_BITS_TX`
[INFO] [stdout]   --> src/spi.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use self::SPI_CR1::SPI_TOTAL_BITS_TX;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `delay`, `nop`, and `register`
[INFO] [stdout]   --> src/i2c.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 |     asm::{delay, nop},
[INFO] [stdout]    |           ^^^^^  ^^^
[INFO] [stdout] 13 |     register,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReadOnly`, `Readable`, `WriteOnly`, and `Writeable`
[INFO] [stdout]   --> src/i2c.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 |     interfaces::{Readable, Writeable},
[INFO] [stdout]    |                  ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 17 |     register_bitfields, register_structs,
[INFO] [stdout] 18 |     registers::{ReadOnly, ReadWrite, WriteOnly},
[INFO] [stdout]    |                 ^^^^^^^^             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/pwm.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | / ///Note:
[INFO] [stdout] 52 | | ///PWM Frequency = system clock / (2 * prescaler reg * period reg )
[INFO] [stdout] 53 | | ///= 50000000/(2 * 61440 * 240)
[INFO] [stdout] 54 | | ///= 1.688Hz
[INFO] [stdout] ...  |
[INFO] [stdout] 57 | | ///PWM On time = (PWM Duty reg * PWM period ) / ( PWM Period reg)
[INFO] [stdout] 58 | | ///= 128 * 0.589824 / 240 = 0.3145728 seconds
[INFO] [stdout]    | |_--------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `delay`, `nop`, and `register`
[INFO] [stdout]   --> src/pwm.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 |     asm::{delay, nop},
[INFO] [stdout]    |           ^^^^^  ^^^
[INFO] [stdout] 13 |     register,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReadOnly`, `Readable`, `WriteOnly`, and `Writeable`
[INFO] [stdout]   --> src/pwm.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 |     interfaces::{Readable, Writeable},
[INFO] [stdout]    |                  ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 17 |     register_bitfields, register_structs,
[INFO] [stdout] 18 |     registers::{ReadOnly, ReadWrite, WriteOnly},
[INFO] [stdout]    |                 ^^^^^^^^             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/ext_flash.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::spi::{self, SPIInner};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/uart.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/uart.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 223 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `address2` is never read
[INFO] [stdout]    --> src/spi.rs:537:9
[INFO] [stdout]     |
[INFO] [stdout] 537 |         address2 = address2 << 24;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> src/ext_flash.rs:56:38
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn flash_cmd_addr(&mut self, command: u32, addr: u32) {}
[INFO] [stdout]    |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/ext_flash.rs:56:52
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn flash_cmd_addr(&mut self, command: u32, addr: u32) {}
[INFO] [stdout]    |                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> src/ext_flash.rs:67:43
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn flash_cmd_addr_data(&mut self, command: u32, addr: u32, data: u32) {
[INFO] [stdout]    |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/ext_flash.rs:67:57
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn flash_cmd_addr_data(&mut self, command: u32, addr: u32, data: u32) {
[INFO] [stdout]    |                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ext_flash.rs:67:68
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn flash_cmd_addr_data(&mut self, command: u32, addr: u32, data: u32) {
[INFO] [stdout]    |                                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]   --> src/ext_flash.rs:80:35
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn flash_write(&mut self, address: u32, data: u32) {}
[INFO] [stdout]    |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ext_flash.rs:80:49
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn flash_write(&mut self, address: u32, data: u32) {}
[INFO] [stdout]    |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> src/ext_flash.rs:93:41
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn flash_cmd_to_read(&mut self, command: u32, addr: u32) {}
[INFO] [stdout]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/ext_flash.rs:93:55
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn flash_cmd_to_read(&mut self, command: u32, addr: u32) {}
[INFO] [stdout]    |                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/ext_flash.rs:101:34
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn flash_read(&mut self, address: u32) {}
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]    --> src/ext_flash.rs:110:38
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn flash_cmd_read(&mut self, command: u32) {}
[INFO] [stdout]     |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/ext_flash.rs:123:35
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn flash_erase(&mut self, address: u32) {}
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `registers` is never read
[INFO] [stdout]    --> src/i2c.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct I2CInner {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 150 |     registers: Registers,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `registers` is never read
[INFO] [stdout]    --> src/pwm.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct PWMInner {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 123 |     registers: Registers,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `spi` is never read
[INFO] [stdout]  --> src/ext_flash.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Flash {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] 5 |     spi: SPIInner,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `bitEXtracted` should have a snake case name
[INFO] [stdout]    --> src/spi.rs:602:12
[INFO] [stdout]     |
[INFO] [stdout] 602 |     pub fn bitEXtracted(&mut self, number: u32, k: u32, p: u32) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `bit_extracted`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `bitEXtracted` should have a snake case name
[INFO] [stdout]    --> src/ext_flash.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn bitEXtracted(&mut self, number: u32, k: u32, p: u32) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `bit_extracted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.86s
[INFO] running `Command { std: "docker" "inspect" "a1e72a8695d21bb15d37a48f18a9a950aecc20dff461e783dcf70722b93cef24", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a1e72a8695d21bb15d37a48f18a9a950aecc20dff461e783dcf70722b93cef24", kill_on_drop: false }`
[INFO] [stdout] a1e72a8695d21bb15d37a48f18a9a950aecc20dff461e783dcf70722b93cef24
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c105e5fe0e2c59bf14cef788d16dee3f495fe8b748186be3ea858847514e0901
[INFO] running `Command { std: "docker" "start" "-a" "c105e5fe0e2c59bf14cef788d16dee3f495fe8b748186be3ea858847514e0901", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `delay`, `nop`, and `register`
[INFO] [stderr]  --> src/gpio.rs:4:11
[INFO] [stderr]   |
[INFO] [stderr] 4 |     asm::{delay, nop},
[INFO] [stderr]   |           ^^^^^  ^^^
[INFO] [stderr] 5 |     register,
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ReadOnly`, `Readable`, and `WriteOnly`
[INFO] [stderr]   --> src/gpio.rs:8:18
[INFO] [stderr]    |
[INFO] [stderr]  8 |     interfaces::{Readable, Writeable},
[INFO] [stderr]    |                  ^^^^^^^^
[INFO] [stderr]  9 |     register_bitfields, register_structs,
[INFO] [stderr] 10 |     registers::{ReadOnly, ReadWrite, WriteOnly},
[INFO] [stderr]    |                 ^^^^^^^^             ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `delay`, `nop`, and `register`
[INFO] [stderr]   --> src/uart.rs:10:11
[INFO] [stderr]    |
[INFO] [stderr] 10 |     asm::{delay, nop},
[INFO] [stderr]    |           ^^^^^  ^^^
[INFO] [stderr] 11 |     register,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `WriteOnly` and `fields::FieldValue`
[INFO] [stderr]   --> src/spi.rs:9:5
[INFO] [stderr]    |
[INFO] [stderr]  9 |     fields::FieldValue,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 12 |     registers::{ReadOnly, ReadWrite, WriteOnly},
[INFO] [stderr]    |                                      ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self::SPI_CR1::SPI_TOTAL_BITS_TX`
[INFO] [stderr]   --> src/spi.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use self::SPI_CR1::SPI_TOTAL_BITS_TX;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `delay`, `nop`, and `register`
[INFO] [stderr]   --> src/i2c.rs:12:11
[INFO] [stderr]    |
[INFO] [stderr] 12 |     asm::{delay, nop},
[INFO] [stderr]    |           ^^^^^  ^^^
[INFO] [stderr] 13 |     register,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ReadOnly`, `Readable`, `WriteOnly`, and `Writeable`
[INFO] [stderr]   --> src/i2c.rs:16:18
[INFO] [stderr]    |
[INFO] [stderr] 16 |     interfaces::{Readable, Writeable},
[INFO] [stderr]    |                  ^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 17 |     register_bitfields, register_structs,
[INFO] [stderr] 18 |     registers::{ReadOnly, ReadWrite, WriteOnly},
[INFO] [stderr]    |                 ^^^^^^^^             ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/pwm.rs:51:1
[INFO] [stderr]    |
[INFO] [stderr] 51 | / ///Note:
[INFO] [stderr] 52 | | ///PWM Frequency = system clock / (2 * prescaler reg * period reg )
[INFO] [stderr] 53 | | ///= 50000000/(2 * 61440 * 240)
[INFO] [stderr] 54 | | ///= 1.688Hz
[INFO] [stderr] ...  |
[INFO] [stderr] 57 | | ///PWM On time = (PWM Duty reg * PWM period ) / ( PWM Period reg)
[INFO] [stderr] 58 | | ///= 128 * 0.589824 / 240 = 0.3145728 seconds
[INFO] [stderr]    | |_--------------------------------------------^
[INFO] [stderr]    |   |
[INFO] [stderr]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stderr]    |
[INFO] [stderr]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `delay`, `nop`, and `register`
[INFO] [stderr]   --> src/pwm.rs:12:11
[INFO] [stderr]    |
[INFO] [stderr] 12 |     asm::{delay, nop},
[INFO] [stderr]    |           ^^^^^  ^^^
[INFO] [stderr] 13 |     register,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ReadOnly`, `Readable`, `WriteOnly`, and `Writeable`
[INFO] [stderr]   --> src/pwm.rs:16:18
[INFO] [stderr]    |
[INFO] [stderr] 16 |     interfaces::{Readable, Writeable},
[INFO] [stderr]    |                  ^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 17 |     register_bitfields, register_structs,
[INFO] [stderr] 18 |     registers::{ReadOnly, ReadWrite, WriteOnly},
[INFO] [stderr]    |                 ^^^^^^^^             ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self`
[INFO] [stderr]  --> src/ext_flash.rs:2:18
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::spi::{self, SPIInner};
[INFO] [stderr]   |                  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/uart.rs:195:9
[INFO] [stderr]     |
[INFO] [stderr] 195 |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/uart.rs:223:9
[INFO] [stderr]     |
[INFO] [stderr] 223 |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `address2` is never read
[INFO] [stderr]    --> src/spi.rs:537:9
[INFO] [stderr]     |
[INFO] [stderr] 537 |         address2 = address2 << 24;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> src/ext_flash.rs:56:38
[INFO] [stderr]    |
[INFO] [stderr] 56 |     pub fn flash_cmd_addr(&mut self, command: u32, addr: u32) {}
[INFO] [stderr]    |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `addr`
[INFO] [stderr]   --> src/ext_flash.rs:56:52
[INFO] [stderr]    |
[INFO] [stderr] 56 |     pub fn flash_cmd_addr(&mut self, command: u32, addr: u32) {}
[INFO] [stderr]    |                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> src/ext_flash.rs:67:43
[INFO] [stderr]    |
[INFO] [stderr] 67 |     pub fn flash_cmd_addr_data(&mut self, command: u32, addr: u32, data: u32) {
[INFO] [stderr]    |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `addr`
[INFO] [stderr]   --> src/ext_flash.rs:67:57
[INFO] [stderr]    |
[INFO] [stderr] 67 |     pub fn flash_cmd_addr_data(&mut self, command: u32, addr: u32, data: u32) {
[INFO] [stderr]    |                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/ext_flash.rs:67:68
[INFO] [stderr]    |
[INFO] [stderr] 67 |     pub fn flash_cmd_addr_data(&mut self, command: u32, addr: u32, data: u32) {
[INFO] [stderr]    |                                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `address`
[INFO] [stderr]   --> src/ext_flash.rs:80:35
[INFO] [stderr]    |
[INFO] [stderr] 80 |     pub fn flash_write(&mut self, address: u32, data: u32) {}
[INFO] [stderr]    |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/ext_flash.rs:80:49
[INFO] [stderr]    |
[INFO] [stderr] 80 |     pub fn flash_write(&mut self, address: u32, data: u32) {}
[INFO] [stderr]    |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> src/ext_flash.rs:93:41
[INFO] [stderr]    |
[INFO] [stderr] 93 |     pub fn flash_cmd_to_read(&mut self, command: u32, addr: u32) {}
[INFO] [stderr]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `addr`
[INFO] [stderr]   --> src/ext_flash.rs:93:55
[INFO] [stderr]    |
[INFO] [stderr] 93 |     pub fn flash_cmd_to_read(&mut self, command: u32, addr: u32) {}
[INFO] [stderr]    |                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `address`
[INFO] [stderr]    --> src/ext_flash.rs:101:34
[INFO] [stderr]     |
[INFO] [stderr] 101 |     pub fn flash_read(&mut self, address: u32) {}
[INFO] [stderr]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]    --> src/ext_flash.rs:110:38
[INFO] [stderr]     |
[INFO] [stderr] 110 |     pub fn flash_cmd_read(&mut self, command: u32) {}
[INFO] [stderr]     |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `address`
[INFO] [stderr]    --> src/ext_flash.rs:123:35
[INFO] [stderr]     |
[INFO] [stderr] 123 |     pub fn flash_erase(&mut self, address: u32) {}
[INFO] [stderr]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stderr] 
[INFO] [stderr] warning: field `registers` is never read
[INFO] [stderr]    --> src/i2c.rs:150:5
[INFO] [stderr]     |
[INFO] [stderr] 149 | pub struct I2CInner {
[INFO] [stderr]     |            -------- field in this struct
[INFO] [stderr] 150 |     registers: Registers,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `registers` is never read
[INFO] [stderr]    --> src/pwm.rs:123:5
[INFO] [stderr]     |
[INFO] [stderr] 122 | pub struct PWMInner {
[INFO] [stderr]     |            -------- field in this struct
[INFO] [stderr] 123 |     registers: Registers,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `spi` is never read
[INFO] [stderr]  --> src/ext_flash.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct Flash {
[INFO] [stderr]   |            ----- field in this struct
[INFO] [stderr] 5 |     spi: SPIInner,
[INFO] [stderr]   |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `bitEXtracted` should have a snake case name
[INFO] [stderr]    --> src/spi.rs:602:12
[INFO] [stderr]     |
[INFO] [stderr] 602 |     pub fn bitEXtracted(&mut self, number: u32, k: u32, p: u32) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `bit_extracted`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `bitEXtracted` should have a snake case name
[INFO] [stderr]    --> src/ext_flash.rs:112:12
[INFO] [stderr]     |
[INFO] [stderr] 112 |     pub fn bitEXtracted(&mut self, number: u32, k: u32, p: u32) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `bit_extracted`
[INFO] [stderr] 
[INFO] [stderr] warning: `shakti_riscv_hal` (lib) generated 31 warnings (run `cargo fix --lib -p shakti_riscv_hal` to apply 22 suggestions)
[INFO] [stderr] warning: `shakti_riscv_hal` (lib test) generated 31 warnings (31 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/shakti_riscv_hal-acbda9e1d0d02388)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests shakti_riscv_hal
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/i2c.rs - i2c::STATUS::I2C_STS::Value (line 59) ... FAILED
[INFO] [stdout] test src/i2c.rs - i2c::STATUS::I2C_STS (line 59) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/i2c.rs - i2c::STATUS::I2C_STS::Value (line 59) stdout ----
[INFO] [stdout] error: expected one of `!` or `::`, found keyword `in`
[INFO] [stdout]   --> src/i2c.rs:60:6
[INFO] [stdout]    |
[INFO] [stdout] 60 | When in slave receiver mode, this flag is asserted when an
[INFO] [stdout]    |      ^^ expected one of `!` or `::`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/i2c.rs - i2c::STATUS::I2C_STS (line 59) stdout ----
[INFO] [stdout] error: expected one of `!` or `::`, found keyword `in`
[INFO] [stdout]   --> src/i2c.rs:60:6
[INFO] [stdout]    |
[INFO] [stdout] 60 | When in slave receiver mode, this flag is asserted when an
[INFO] [stdout]    |      ^^ expected one of `!` or `::`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/i2c.rs - i2c::STATUS::I2C_STS (line 59)
[INFO] [stdout]     src/i2c.rs - i2c::STATUS::I2C_STS::Value (line 59)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "c105e5fe0e2c59bf14cef788d16dee3f495fe8b748186be3ea858847514e0901", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c105e5fe0e2c59bf14cef788d16dee3f495fe8b748186be3ea858847514e0901", kill_on_drop: false }`
[INFO] [stdout] c105e5fe0e2c59bf14cef788d16dee3f495fe8b748186be3ea858847514e0901
