[INFO] fetching crate shakti_riscv_hal 0.1.2...
[INFO] testing shakti_riscv_hal-0.1.2 against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] extracting crate shakti_riscv_hal 0.1.2 into /workspace/builds/worker-5-tc2/source
[INFO] removed /workspace/builds/worker-5-tc2/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-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate shakti_riscv_hal 0.1.2 on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f2fc2f0d374871a5fa67640f738431415736df17e973a465aa0a41fb6ef1b6d5
[INFO] running `Command { std: "docker" "start" "-a" "f2fc2f0d374871a5fa67640f738431415736df17e973a465aa0a41fb6ef1b6d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f2fc2f0d374871a5fa67640f738431415736df17e973a465aa0a41fb6ef1b6d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f2fc2f0d374871a5fa67640f738431415736df17e973a465aa0a41fb6ef1b6d5", kill_on_drop: false }`
[INFO] [stdout] f2fc2f0d374871a5fa67640f738431415736df17e973a465aa0a41fb6ef1b6d5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4121cc13cd38a1ef7bc7cbf9c1cee5127d5e6184dd33e2fa6f3ad8e9cf3fb66e
[INFO] running `Command { std: "docker" "start" "-a" "4121cc13cd38a1ef7bc7cbf9c1cee5127d5e6184dd33e2fa6f3ad8e9cf3fb66e", 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 critical-section v1.2.0
[INFO] [stderr]    Compiling bit_field v0.10.3
[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 tock-registers v0.9.0
[INFO] [stderr]    Compiling panic-halt v0.2.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 11.63s
[INFO] running `Command { std: "docker" "inspect" "4121cc13cd38a1ef7bc7cbf9c1cee5127d5e6184dd33e2fa6f3ad8e9cf3fb66e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4121cc13cd38a1ef7bc7cbf9c1cee5127d5e6184dd33e2fa6f3ad8e9cf3fb66e", kill_on_drop: false }`
[INFO] [stdout] 4121cc13cd38a1ef7bc7cbf9c1cee5127d5e6184dd33e2fa6f3ad8e9cf3fb66e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4694ec0a0452be5d3d1da0a1f82a51dc96b0d13a4da30c63a60dc4202ce23501
[INFO] running `Command { std: "docker" "start" "-a" "4694ec0a0452be5d3d1da0a1f82a51dc96b0d13a4da30c63a60dc4202ce23501", 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.85s
[INFO] running `Command { std: "docker" "inspect" "4694ec0a0452be5d3d1da0a1f82a51dc96b0d13a4da30c63a60dc4202ce23501", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4694ec0a0452be5d3d1da0a1f82a51dc96b0d13a4da30c63a60dc4202ce23501", kill_on_drop: false }`
[INFO] [stdout] 4694ec0a0452be5d3d1da0a1f82a51dc96b0d13a4da30c63a60dc4202ce23501
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 58804dd2cb41bad890ee7ae016486a13e5c3e7f54d5b0e430f876d86126dd83e
[INFO] running `Command { std: "docker" "start" "-a" "58804dd2cb41bad890ee7ae016486a13e5c3e7f54d5b0e430f876d86126dd83e", 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.05s
[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 (line 59) ... FAILED
[INFO] [stdout] test src/i2c.rs - i2c::STATUS::I2C_STS::Value (line 59) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[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] ---- 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] 
[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.20s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "58804dd2cb41bad890ee7ae016486a13e5c3e7f54d5b0e430f876d86126dd83e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "58804dd2cb41bad890ee7ae016486a13e5c3e7f54d5b0e430f876d86126dd83e", kill_on_drop: false }`
[INFO] [stdout] 58804dd2cb41bad890ee7ae016486a13e5c3e7f54d5b0e430f876d86126dd83e
