[INFO] fetching crate rustuino 0.1.0... [INFO] testing rustuino-0.1.0 against beta-2022-04-10 for beta-1.61-1 [INFO] extracting crate rustuino 0.1.0 into /workspace/builds/worker-29/source [INFO] validating manifest of crates.io crate rustuino 0.1.0 on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate rustuino 0.1.0 [INFO] finished tweaking crates.io crate rustuino 0.1.0 [INFO] tweaked toml for crates.io crate rustuino 0.1.0 written to /workspace/builds/worker-29/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c91cf8ac27f13d744e9350e4c8876c1ea2cce0258bf2cb1a4f7d027c51e9ad9d [INFO] running `Command { std: "docker" "start" "-a" "c91cf8ac27f13d744e9350e4c8876c1ea2cce0258bf2cb1a4f7d027c51e9ad9d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c91cf8ac27f13d744e9350e4c8876c1ea2cce0258bf2cb1a4f7d027c51e9ad9d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c91cf8ac27f13d744e9350e4c8876c1ea2cce0258bf2cb1a4f7d027c51e9ad9d", kill_on_drop: false }` [INFO] [stdout] c91cf8ac27f13d744e9350e4c8876c1ea2cce0258bf2cb1a4f7d027c51e9ad9d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1502ff36311aa09486e0f51d5dfa3fe35a6d9224300318add142f8e4f36e62dd [INFO] running `Command { std: "docker" "start" "-a" "1502ff36311aa09486e0f51d5dfa3fe35a6d9224300318add142f8e4f36e62dd", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.91 [INFO] [stderr] Compiling cortex-m v0.7.4 [INFO] [stderr] Compiling nb v1.0.0 [INFO] [stderr] Compiling cortex-m-rt v0.7.1 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling bitfield v0.13.2 [INFO] [stderr] Compiling libm v0.2.2 [INFO] [stderr] Compiling heapless v0.7.10 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling stm32f4 v0.14.0 [INFO] [stderr] Compiling bare-metal v1.0.0 [INFO] [stderr] Compiling ufmt-write v0.1.0 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Compiling paste v1.0.7 [INFO] [stderr] Compiling lock_api v0.4.7 [INFO] [stderr] Compiling volatile-register v0.2.1 [INFO] [stderr] Compiling bare-metal v0.2.5 [INFO] [stderr] Compiling nb v0.1.3 [INFO] [stderr] Compiling hash32 v0.2.1 [INFO] [stderr] Compiling embedded-hal v0.2.7 [INFO] [stderr] Compiling spin v0.9.2 [INFO] [stderr] Compiling rtt-target v0.3.1 [INFO] [stderr] Compiling cortex-m-rt-macros v0.7.0 [INFO] [stderr] Compiling rustuino v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:162:33 [INFO] [stdout] | [INFO] [stdout] 152 | pub unsafe fn pinmode_input_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ----------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 162 | gpioa.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | #![deny(warnings)] [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_unsafe)]` implied by `#[warn(warnings)]` [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] = note: `#[allow(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:167:33 [INFO] [stdout] | [INFO] [stdout] 152 | pub unsafe fn pinmode_input_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ----------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 167 | gpiob.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:172:33 [INFO] [stdout] | [INFO] [stdout] 152 | pub unsafe fn pinmode_input_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ----------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 172 | gpioc.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:177:33 [INFO] [stdout] | [INFO] [stdout] 152 | pub unsafe fn pinmode_input_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ----------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 177 | gpiod.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:182:33 [INFO] [stdout] | [INFO] [stdout] 152 | pub unsafe fn pinmode_input_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ----------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 182 | gpioh.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:270:33 [INFO] [stdout] | [INFO] [stdout] 260 | pub unsafe fn pinmode_output_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 270 | gpioa.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (1 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:275:33 [INFO] [stdout] | [INFO] [stdout] 260 | pub unsafe fn pinmode_output_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 275 | gpiob.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (1 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:280:33 [INFO] [stdout] | [INFO] [stdout] 260 | pub unsafe fn pinmode_output_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 280 | gpioc.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (1 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:285:33 [INFO] [stdout] | [INFO] [stdout] 260 | pub unsafe fn pinmode_output_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 285 | gpiod.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (1 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:290:33 [INFO] [stdout] | [INFO] [stdout] 260 | pub unsafe fn pinmode_output_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 290 | gpioh.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (1 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:396:33 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 396 | gpioa.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:397:46 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 397 | if pin.1 > 7 {gpioa.afrh.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * (pin.1 - 8))))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:398:38 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 398 | else {gpioa.afrl.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * pin.1)))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:403:33 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 403 | gpiob.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:404:46 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 404 | if pin.1 > 7 {gpiob.afrh.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * (pin.1 - 8))))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:405:38 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 405 | else {gpiob.afrl.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * pin.1)))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:410:33 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 410 | gpioc.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:411:46 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 411 | if pin.1 > 7 {gpioc.afrh.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * (pin.1 - 8))))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:412:38 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 412 | else {gpioc.afrl.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * pin.1)))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:417:33 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 417 | gpiod.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:418:46 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 418 | if pin.1 > 7 {gpiod.afrh.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * (pin.1 - 8))))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:419:38 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 419 | else {gpiod.afrl.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * pin.1)))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:424:33 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 424 | gpioh.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:425:46 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 425 | if pin.1 > 7 {gpioh.afrh.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * (pin.1 - 8))))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:426:38 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 426 | else {gpioh.afrl.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * pin.1)))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:544:33 [INFO] [stdout] | [INFO] [stdout] 531 | pub unsafe fn pinmode_analog_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 544 | gpioa.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (3 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:553:33 [INFO] [stdout] | [INFO] [stdout] 531 | pub unsafe fn pinmode_analog_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 553 | gpiob.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (3 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:562:33 [INFO] [stdout] | [INFO] [stdout] 531 | pub unsafe fn pinmode_analog_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 562 | gpioc.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (3 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:571:33 [INFO] [stdout] | [INFO] [stdout] 531 | pub unsafe fn pinmode_analog_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 571 | gpiod.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (3 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:580:33 [INFO] [stdout] | [INFO] [stdout] 531 | pub unsafe fn pinmode_analog_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 580 | gpioh.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (3 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:706:33 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 706 | gpioa.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:707:46 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 707 | if pin.1 > 7 {gpioa.afrh.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * (pin.1 - 8))))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:708:38 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 708 | else {gpioa.afrl.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * pin.1)))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:713:33 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 713 | gpiob.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:714:46 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 714 | if pin.1 > 7 {gpiob.afrh.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * (pin.1 - 8))))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:715:38 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 715 | else {gpiob.afrl.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * pin.1)))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:720:33 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 720 | gpioc.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:721:46 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 721 | if pin.1 > 7 {gpioc.afrh.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * (pin.1 - 8))))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:722:38 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 722 | else {gpioc.afrl.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * pin.1)))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:727:33 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 727 | gpiod.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:728:46 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 728 | if pin.1 > 7 {gpiod.afrh.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * (pin.1 - 8))))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:729:38 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 729 | else {gpiod.afrl.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * pin.1)))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:734:33 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 734 | gpioh.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:735:46 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 735 | if pin.1 > 7 {gpioh.afrh.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * (pin.1 - 8))))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:736:38 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 736 | else {gpioh.afrl.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * pin.1)))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 45 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 26.57s [INFO] running `Command { std: "docker" "inspect" "1502ff36311aa09486e0f51d5dfa3fe35a6d9224300318add142f8e4f36e62dd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1502ff36311aa09486e0f51d5dfa3fe35a6d9224300318add142f8e4f36e62dd", kill_on_drop: false }` [INFO] [stdout] 1502ff36311aa09486e0f51d5dfa3fe35a6d9224300318add142f8e4f36e62dd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9d0c8ff3e3c2729c86c7648b0e3272dd95fbbeb96aaa3e326777ee533a49bdcb [INFO] running `Command { std: "docker" "start" "-a" "9d0c8ff3e3c2729c86c7648b0e3272dd95fbbeb96aaa3e326777ee533a49bdcb", kill_on_drop: false }` [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:162:33 [INFO] [stdout] | [INFO] [stdout] 152 | pub unsafe fn pinmode_input_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ----------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 162 | gpioa.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | #![deny(warnings)] [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_unsafe)]` implied by `#[warn(warnings)]` [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] = note: `#[allow(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:167:33 [INFO] [stdout] | [INFO] [stdout] 152 | pub unsafe fn pinmode_input_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ----------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 167 | gpiob.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:172:33 [INFO] [stdout] | [INFO] [stdout] 152 | pub unsafe fn pinmode_input_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ----------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 172 | gpioc.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:177:33 [INFO] [stdout] | [INFO] [stdout] 152 | pub unsafe fn pinmode_input_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ----------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 177 | gpiod.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:182:33 [INFO] [stdout] | [INFO] [stdout] 152 | pub unsafe fn pinmode_input_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ----------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 182 | gpioh.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:270:33 [INFO] [stdout] | [INFO] [stdout] 260 | pub unsafe fn pinmode_output_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 270 | gpioa.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (1 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:275:33 [INFO] [stdout] | [INFO] [stdout] 260 | pub unsafe fn pinmode_output_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 275 | gpiob.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (1 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:280:33 [INFO] [stdout] | [INFO] [stdout] 260 | pub unsafe fn pinmode_output_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 280 | gpioc.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (1 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:285:33 [INFO] [stdout] | [INFO] [stdout] 260 | pub unsafe fn pinmode_output_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 285 | gpiod.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (1 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:290:33 [INFO] [stdout] | [INFO] [stdout] 260 | pub unsafe fn pinmode_output_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 290 | gpioh.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (1 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:396:33 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 396 | gpioa.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:397:46 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 397 | if pin.1 > 7 {gpioa.afrh.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * (pin.1 - 8))))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:398:38 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 398 | else {gpioa.afrl.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * pin.1)))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:403:33 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 403 | gpiob.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:404:46 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 404 | if pin.1 > 7 {gpiob.afrh.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * (pin.1 - 8))))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:405:38 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 405 | else {gpiob.afrl.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * pin.1)))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:410:33 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 410 | gpioc.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:411:46 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 411 | if pin.1 > 7 {gpioc.afrh.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * (pin.1 - 8))))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:412:38 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 412 | else {gpioc.afrl.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * pin.1)))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:417:33 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 417 | gpiod.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:418:46 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 418 | if pin.1 > 7 {gpiod.afrh.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * (pin.1 - 8))))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:419:38 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 419 | else {gpiod.afrl.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * pin.1)))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:424:33 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 424 | gpioh.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:425:46 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 425 | if pin.1 > 7 {gpioh.afrh.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * (pin.1 - 8))))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:426:38 [INFO] [stdout] | [INFO] [stdout] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 426 | else {gpioh.afrl.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * pin.1)))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:544:33 [INFO] [stdout] | [INFO] [stdout] 531 | pub unsafe fn pinmode_analog_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 544 | gpioa.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (3 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:553:33 [INFO] [stdout] | [INFO] [stdout] 531 | pub unsafe fn pinmode_analog_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 553 | gpiob.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (3 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:562:33 [INFO] [stdout] | [INFO] [stdout] 531 | pub unsafe fn pinmode_analog_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 562 | gpioc.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (3 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:571:33 [INFO] [stdout] | [INFO] [stdout] 531 | pub unsafe fn pinmode_analog_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 571 | gpiod.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (3 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:580:33 [INFO] [stdout] | [INFO] [stdout] 531 | pub unsafe fn pinmode_analog_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 580 | gpioh.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (3 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:706:33 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 706 | gpioa.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:707:46 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 707 | if pin.1 > 7 {gpioa.afrh.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * (pin.1 - 8))))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:708:38 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 708 | else {gpioa.afrl.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * pin.1)))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:713:33 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 713 | gpiob.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:714:46 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 714 | if pin.1 > 7 {gpiob.afrh.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * (pin.1 - 8))))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:715:38 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 715 | else {gpiob.afrl.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * pin.1)))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:720:33 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 720 | gpioc.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:721:46 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 721 | if pin.1 > 7 {gpioc.afrh.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * (pin.1 - 8))))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:722:38 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 722 | else {gpioc.afrl.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * pin.1)))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:727:33 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 727 | gpiod.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:728:46 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 728 | if pin.1 > 7 {gpiod.afrh.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * (pin.1 - 8))))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:729:38 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 729 | else {gpiod.afrl.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * pin.1)))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:734:33 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 734 | gpioh.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:735:46 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 735 | if pin.1 > 7 {gpioh.afrh.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * (pin.1 - 8))))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/gpio.rs:736:38 [INFO] [stdout] | [INFO] [stdout] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stdout] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 736 | else {gpioh.afrl.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * pin.1)))});} [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 45 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "9d0c8ff3e3c2729c86c7648b0e3272dd95fbbeb96aaa3e326777ee533a49bdcb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9d0c8ff3e3c2729c86c7648b0e3272dd95fbbeb96aaa3e326777ee533a49bdcb", kill_on_drop: false }` [INFO] [stdout] 9d0c8ff3e3c2729c86c7648b0e3272dd95fbbeb96aaa3e326777ee533a49bdcb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] d61e35ac1306f0b3d6f62812789d5804fd22cfd057de8a8c0b678129ab8d56c9 [INFO] running `Command { std: "docker" "start" "-a" "d61e35ac1306f0b3d6f62812789d5804fd22cfd057de8a8c0b678129ab8d56c9", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:162:33 [INFO] [stderr] | [INFO] [stderr] 152 | pub unsafe fn pinmode_input_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ----------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 162 | gpioa.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: `#[warn(unused_unsafe)]` implied by `#[warn(warnings)]` [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] = note: `#[allow(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:167:33 [INFO] [stderr] | [INFO] [stderr] 152 | pub unsafe fn pinmode_input_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ----------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 167 | gpiob.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:172:33 [INFO] [stderr] | [INFO] [stderr] 152 | pub unsafe fn pinmode_input_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ----------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 172 | gpioc.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:177:33 [INFO] [stderr] | [INFO] [stderr] 152 | pub unsafe fn pinmode_input_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ----------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 177 | gpiod.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:182:33 [INFO] [stderr] | [INFO] [stderr] 152 | pub unsafe fn pinmode_input_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ----------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 182 | gpioh.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:270:33 [INFO] [stderr] | [INFO] [stderr] 260 | pub unsafe fn pinmode_output_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 270 | gpioa.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (1 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:275:33 [INFO] [stderr] | [INFO] [stderr] 260 | pub unsafe fn pinmode_output_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 275 | gpiob.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (1 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:280:33 [INFO] [stderr] | [INFO] [stderr] 260 | pub unsafe fn pinmode_output_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 280 | gpioc.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (1 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:285:33 [INFO] [stderr] | [INFO] [stderr] 260 | pub unsafe fn pinmode_output_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 285 | gpiod.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (1 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:290:33 [INFO] [stderr] | [INFO] [stderr] 260 | pub unsafe fn pinmode_output_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 290 | gpioh.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (1 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:396:33 [INFO] [stderr] | [INFO] [stderr] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stderr] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 396 | gpioa.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:397:46 [INFO] [stderr] | [INFO] [stderr] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stderr] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 397 | if pin.1 > 7 {gpioa.afrh.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * (pin.1 - 8))))});} [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:398:38 [INFO] [stderr] | [INFO] [stderr] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stderr] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 398 | else {gpioa.afrl.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * pin.1)))});} [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:403:33 [INFO] [stderr] | [INFO] [stderr] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stderr] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 403 | gpiob.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:404:46 [INFO] [stderr] | [INFO] [stderr] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stderr] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 404 | if pin.1 > 7 {gpiob.afrh.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * (pin.1 - 8))))});} [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:405:38 [INFO] [stderr] | [INFO] [stderr] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stderr] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 405 | else {gpiob.afrl.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * pin.1)))});} [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:410:33 [INFO] [stderr] | [INFO] [stderr] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stderr] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 410 | gpioc.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:411:46 [INFO] [stderr] | [INFO] [stderr] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stderr] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 411 | if pin.1 > 7 {gpioc.afrh.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * (pin.1 - 8))))});} [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:412:38 [INFO] [stderr] | [INFO] [stderr] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stderr] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 412 | else {gpioc.afrl.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * pin.1)))});} [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:417:33 [INFO] [stderr] | [INFO] [stderr] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stderr] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 417 | gpiod.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:418:46 [INFO] [stderr] | [INFO] [stderr] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stderr] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 418 | if pin.1 > 7 {gpiod.afrh.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * (pin.1 - 8))))});} [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:419:38 [INFO] [stderr] | [INFO] [stderr] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stderr] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 419 | else {gpiod.afrl.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * pin.1)))});} [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:424:33 [INFO] [stderr] | [INFO] [stderr] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stderr] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 424 | gpioh.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:425:46 [INFO] [stderr] | [INFO] [stderr] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stderr] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 425 | if pin.1 > 7 {gpioh.afrh.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * (pin.1 - 8))))});} [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:426:38 [INFO] [stderr] | [INFO] [stderr] 382 | pub unsafe fn pinmode_alternate_function_force(pin: (char, u8), af: u32) -> Result, ProgError> { [INFO] [stderr] | --------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 426 | else {gpioh.afrl.modify(|r, w| unsafe {w.bits(r.bits() | (af << (4 * pin.1)))});} [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:544:33 [INFO] [stderr] | [INFO] [stderr] 531 | pub unsafe fn pinmode_analog_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 544 | gpioa.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (3 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:553:33 [INFO] [stderr] | [INFO] [stderr] 531 | pub unsafe fn pinmode_analog_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 553 | gpiob.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (3 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:562:33 [INFO] [stderr] | [INFO] [stderr] 531 | pub unsafe fn pinmode_analog_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 562 | gpioc.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (3 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:571:33 [INFO] [stderr] | [INFO] [stderr] 531 | pub unsafe fn pinmode_analog_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 571 | gpiod.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (3 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:580:33 [INFO] [stderr] | [INFO] [stderr] 531 | pub unsafe fn pinmode_analog_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 580 | gpioh.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (3 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:706:33 [INFO] [stderr] | [INFO] [stderr] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 706 | gpioa.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:707:46 [INFO] [stderr] | [INFO] [stderr] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 707 | if pin.1 > 7 {gpioa.afrh.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * (pin.1 - 8))))});} [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:708:38 [INFO] [stderr] | [INFO] [stderr] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 708 | else {gpioa.afrl.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * pin.1)))});} [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:713:33 [INFO] [stderr] | [INFO] [stderr] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 713 | gpiob.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:714:46 [INFO] [stderr] | [INFO] [stderr] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 714 | if pin.1 > 7 {gpiob.afrh.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * (pin.1 - 8))))});} [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:715:38 [INFO] [stderr] | [INFO] [stderr] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 715 | else {gpiob.afrl.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * pin.1)))});} [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:720:33 [INFO] [stderr] | [INFO] [stderr] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 720 | gpioc.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:721:46 [INFO] [stderr] | [INFO] [stderr] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 721 | if pin.1 > 7 {gpioc.afrh.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * (pin.1 - 8))))});} [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:722:38 [INFO] [stderr] | [INFO] [stderr] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 722 | else {gpioc.afrl.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * pin.1)))});} [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:727:33 [INFO] [stderr] | [INFO] [stderr] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 727 | gpiod.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:728:46 [INFO] [stderr] | [INFO] [stderr] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 728 | if pin.1 > 7 {gpiod.afrh.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * (pin.1 - 8))))});} [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:729:38 [INFO] [stderr] | [INFO] [stderr] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 729 | else {gpiod.afrl.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * pin.1)))});} [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:734:33 [INFO] [stderr] | [INFO] [stderr] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 734 | gpioh.moder.modify(|r, w| unsafe {w.bits(r.bits() & !(3 << (2 * pin.1)) | (2 << (2 * pin.1)))}); [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:735:46 [INFO] [stderr] | [INFO] [stderr] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 735 | if pin.1 > 7 {gpioh.afrh.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * (pin.1 - 8))))});} [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/gpio.rs:736:38 [INFO] [stderr] | [INFO] [stderr] 685 | pub unsafe fn pinmode_pwm_force(pin: (char, u8)) -> Result, ProgError> { [INFO] [stderr] | ------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 736 | else {gpioh.afrl.modify(|r, w| unsafe {w.bits(r.bits() | ((returns.2 as u32) << (4 * pin.1)))});} [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: `rustuino` (lib) generated 45 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.13s [INFO] [stderr] Doc-tests rustuino [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test src/time.rs - time::millis (line 299) - compile ... FAILED [INFO] [stdout] test src/time.rs - time::start_time (line 257) - compile ... FAILED [INFO] [stdout] test src/uart.rs - uart (line 7) - compile ... FAILED [INFO] [stdout] test src/analog.rs - analog (line 7) - compile ... FAILED [INFO] [stdout] test src/time.rs - time (line 7) - compile ... FAILED [INFO] [stdout] test src/gpio.rs - gpio (line 5) - compile ... FAILED [INFO] [stdout] test src/i2c.rs - i2c (line 7) - compile ... FAILED [INFO] [stdout] test src/time.rs - time::pwm_write (line 132) - compile ... FAILED [INFO] [stdout] test src/time.rs - time::delay (line 216) - compile ... FAILED [INFO] [stdout] test src/analog.rs - analog::analog_read (line 131) - compile ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/time.rs - time::millis (line 299) stdout ---- [INFO] [stdout] error: duplicate lang item in crate `rustuino` (which `rust_out` depends on): `panic_impl`. [INFO] [stdout] | [INFO] [stdout] = note: the lang item is first defined in crate `std` (which `rust_out` depends on) [INFO] [stdout] = note: first definition in `std` loaded from /opt/rustwide/rustup-home/toolchains/beta-2022-04-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-ff9290e971253a38.rlib [INFO] [stdout] = note: second definition in `rustuino` loaded from /opt/rustwide/target/debug/deps/librustuino-71efdcb17ba6f697.rlib [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/time.rs - time::start_time (line 257) stdout ---- [INFO] [stdout] error: duplicate lang item in crate `rustuino` (which `rust_out` depends on): `panic_impl`. [INFO] [stdout] | [INFO] [stdout] = note: the lang item is first defined in crate `std` (which `rust_out` depends on) [INFO] [stdout] = note: first definition in `std` loaded from /opt/rustwide/rustup-home/toolchains/beta-2022-04-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-ff9290e971253a38.rlib [INFO] [stdout] = note: second definition in `rustuino` loaded from /opt/rustwide/target/debug/deps/librustuino-71efdcb17ba6f697.rlib [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/uart.rs - uart (line 7) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `UART` [INFO] [stdout] --> src/uart.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 11 | let uart = UART::new(2, PA2, PA3, 115200).unwrap(); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 6 | use crate::uart::UART; [INFO] [stdout] | [INFO] [stdout] 6 | use rustuino::uart::UART; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `PA2` in this scope [INFO] [stdout] --> src/uart.rs:16:27 [INFO] [stdout] | [INFO] [stdout] 11 | let uart = UART::new(2, PA2, PA3, 115200).unwrap(); [INFO] [stdout] | ^^^ help: a constant with a similar name exists: `A2` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/include.rs:22:3 [INFO] [stdout] | [INFO] [stdout] 22 | / generate_pins![ [INFO] [stdout] 23 | | ['a', 0], [INFO] [stdout] 24 | | ['a', 1], [INFO] [stdout] 25 | | ['a', 2], [INFO] [stdout] ... | [INFO] [stdout] 77 | | ['h', 1] [INFO] [stdout] 78 | | ]; [INFO] [stdout] | |___- similarly named constant `A2` defined here [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `PA3` in this scope [INFO] [stdout] --> src/uart.rs:16:32 [INFO] [stdout] | [INFO] [stdout] 11 | let uart = UART::new(2, PA2, PA3, 115200).unwrap(); [INFO] [stdout] | ^^^ help: a constant with a similar name exists: `A3` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/include.rs:22:3 [INFO] [stdout] | [INFO] [stdout] 22 | / generate_pins![ [INFO] [stdout] 23 | | ['a', 0], [INFO] [stdout] 24 | | ['a', 1], [INFO] [stdout] 25 | | ['a', 2], [INFO] [stdout] ... | [INFO] [stdout] 77 | | ['h', 1] [INFO] [stdout] 78 | | ]; [INFO] [stdout] | |___- similarly named constant `A3` defined here [INFO] [stdout] [INFO] [stdout] error: language item required, but not found: `eh_personality` [INFO] [stdout] | [INFO] [stdout] = note: this can occur when a binary crate with `#![no_std]` is compiled for a target where `eh_personality` is defined in the standard library [INFO] [stdout] = help: you may be able to compile for a target that doesn't need `eh_personality`, specify a target with `--target` or in `.cargo/config` [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/analog.rs - analog (line 7) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `PA0` in this scope [INFO] [stdout] --> src/analog.rs:16:31 [INFO] [stdout] | [INFO] [stdout] 11 | let in_pin = pinmode_analog(PA0).unwrap(); [INFO] [stdout] | ^^^ help: a constant with a similar name exists: `A0` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/include.rs:22:3 [INFO] [stdout] | [INFO] [stdout] 22 | / generate_pins![ [INFO] [stdout] 23 | | ['a', 0], [INFO] [stdout] 24 | | ['a', 1], [INFO] [stdout] 25 | | ['a', 2], [INFO] [stdout] ... | [INFO] [stdout] 77 | | ['h', 1] [INFO] [stdout] 78 | | ]; [INFO] [stdout] | |___- similarly named constant `A0` defined here [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `PA1` in this scope [INFO] [stdout] --> src/analog.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 12 | let led_pin = pinmode_output(PA1).unwrap(); [INFO] [stdout] | ^^^ help: a constant with a similar name exists: `A1` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/include.rs:22:3 [INFO] [stdout] | [INFO] [stdout] 22 | / generate_pins![ [INFO] [stdout] 23 | | ['a', 0], [INFO] [stdout] 24 | | ['a', 1], [INFO] [stdout] 25 | | ['a', 2], [INFO] [stdout] ... | [INFO] [stdout] 77 | | ['h', 1] [INFO] [stdout] 78 | | ]; [INFO] [stdout] | |___- similarly named constant `A1` defined here [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `analog_resolution` in this scope [INFO] [stdout] --> src/analog.rs:23:3 [INFO] [stdout] | [INFO] [stdout] 18 | analog_resolution(12); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: a function with a similar name exists: `adc_resolution` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/analog.rs:101:1 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn adc_resolution(res: u8) -> Result<(), ProgError> { [INFO] [stdout] | ------------------------------------------------------- similarly named function `adc_resolution` defined here [INFO] [stdout] [INFO] [stdout] error: language item required, but not found: `eh_personality` [INFO] [stdout] | [INFO] [stdout] = note: this can occur when a binary crate with `#![no_std]` is compiled for a target where `eh_personality` is defined in the standard library [INFO] [stdout] = help: you may be able to compile for a target that doesn't need `eh_personality`, specify a target with `--target` or in `.cargo/config` [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/time.rs - time (line 7) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `PA8` in this scope [INFO] [stdout] --> src/time.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 11 | let pwm_pin = pinmode_pwm(PA8).unwrap(); [INFO] [stdout] | ^^^ help: a constant with a similar name exists: `A8` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/include.rs:22:3 [INFO] [stdout] | [INFO] [stdout] 22 | / generate_pins![ [INFO] [stdout] 23 | | ['a', 0], [INFO] [stdout] 24 | | ['a', 1], [INFO] [stdout] 25 | | ['a', 2], [INFO] [stdout] ... | [INFO] [stdout] 77 | | ['h', 1] [INFO] [stdout] 78 | | ]; [INFO] [stdout] | |___- similarly named constant `A8` defined here [INFO] [stdout] [INFO] [stdout] error: language item required, but not found: `eh_personality` [INFO] [stdout] | [INFO] [stdout] = note: this can occur when a binary crate with `#![no_std]` is compiled for a target where `eh_personality` is defined in the standard library [INFO] [stdout] = help: you may be able to compile for a target that doesn't need `eh_personality`, specify a target with `--target` or in `.cargo/config` [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/gpio.rs - gpio (line 5) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `PA0` in this scope [INFO] [stdout] --> src/gpio.rs:14:30 [INFO] [stdout] | [INFO] [stdout] 11 | let in_pin = pinmode_input(PA0).unwrap(); [INFO] [stdout] | ^^^ help: a constant with a similar name exists: `A0` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/include.rs:22:3 [INFO] [stdout] | [INFO] [stdout] 22 | / generate_pins![ [INFO] [stdout] 23 | | ['a', 0], [INFO] [stdout] 24 | | ['a', 1], [INFO] [stdout] 25 | | ['a', 2], [INFO] [stdout] ... | [INFO] [stdout] 77 | | ['h', 1] [INFO] [stdout] 78 | | ]; [INFO] [stdout] | |___- similarly named constant `A0` defined here [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `PA1` in this scope [INFO] [stdout] --> src/gpio.rs:15:32 [INFO] [stdout] | [INFO] [stdout] 12 | let out_pin = pinmode_output(PA1).unwrap(); [INFO] [stdout] | ^^^ help: a constant with a similar name exists: `A1` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/include.rs:22:3 [INFO] [stdout] | [INFO] [stdout] 22 | / generate_pins![ [INFO] [stdout] 23 | | ['a', 0], [INFO] [stdout] 24 | | ['a', 1], [INFO] [stdout] 25 | | ['a', 2], [INFO] [stdout] ... | [INFO] [stdout] 77 | | ['h', 1] [INFO] [stdout] 78 | | ]; [INFO] [stdout] | |___- similarly named constant `A1` defined here [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `PA2` in this scope [INFO] [stdout] --> src/gpio.rs:16:43 [INFO] [stdout] | [INFO] [stdout] 13 | let af_pin = pinmode_alternate_function(PA2, 7).unwrap(); [INFO] [stdout] | ^^^ help: a constant with a similar name exists: `A2` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/include.rs:22:3 [INFO] [stdout] | [INFO] [stdout] 22 | / generate_pins![ [INFO] [stdout] 23 | | ['a', 0], [INFO] [stdout] 24 | | ['a', 1], [INFO] [stdout] 25 | | ['a', 2], [INFO] [stdout] ... | [INFO] [stdout] 77 | | ['h', 1] [INFO] [stdout] 78 | | ]; [INFO] [stdout] | |___- similarly named constant `A2` defined here [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `PA4` in this scope [INFO] [stdout] --> src/gpio.rs:17:35 [INFO] [stdout] | [INFO] [stdout] 14 | let analog_pin = pinmode_analog(PA4).unwrap(); [INFO] [stdout] | ^^^ help: a constant with a similar name exists: `A4` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/include.rs:22:3 [INFO] [stdout] | [INFO] [stdout] 22 | / generate_pins![ [INFO] [stdout] 23 | | ['a', 0], [INFO] [stdout] 24 | | ['a', 1], [INFO] [stdout] 25 | | ['a', 2], [INFO] [stdout] ... | [INFO] [stdout] 77 | | ['h', 1] [INFO] [stdout] 78 | | ]; [INFO] [stdout] | |___- similarly named constant `A4` defined here [INFO] [stdout] [INFO] [stdout] error: language item required, but not found: `eh_personality` [INFO] [stdout] | [INFO] [stdout] = note: this can occur when a binary crate with `#![no_std]` is compiled for a target where `eh_personality` is defined in the standard library [INFO] [stdout] = help: you may be able to compile for a target that doesn't need `eh_personality`, specify a target with `--target` or in `.cargo/config` [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/i2c.rs - i2c (line 7) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `I2C` [INFO] [stdout] --> src/i2c.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 11 | let i2c = I2C::new::<16>(1, PB6, PB7, true).unwrap(); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 6 | use crate::i2c::I2C; [INFO] [stdout] | [INFO] [stdout] 6 | use rustuino::i2c::I2C; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `PB6` in this scope [INFO] [stdout] --> src/i2c.rs:16:31 [INFO] [stdout] | [INFO] [stdout] 11 | let i2c = I2C::new::<16>(1, PB6, PB7, true).unwrap(); [INFO] [stdout] | ^^^ help: a constant with a similar name exists: `B6` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/include.rs:22:3 [INFO] [stdout] | [INFO] [stdout] 22 | / generate_pins![ [INFO] [stdout] 23 | | ['a', 0], [INFO] [stdout] 24 | | ['a', 1], [INFO] [stdout] 25 | | ['a', 2], [INFO] [stdout] ... | [INFO] [stdout] 77 | | ['h', 1] [INFO] [stdout] 78 | | ]; [INFO] [stdout] | |___- similarly named constant `B6` defined here [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `PB7` in this scope [INFO] [stdout] --> src/i2c.rs:16:36 [INFO] [stdout] | [INFO] [stdout] 11 | let i2c = I2C::new::<16>(1, PB6, PB7, true).unwrap(); [INFO] [stdout] | ^^^ help: a constant with a similar name exists: `B7` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/include.rs:22:3 [INFO] [stdout] | [INFO] [stdout] 22 | / generate_pins![ [INFO] [stdout] 23 | | ['a', 0], [INFO] [stdout] 24 | | ['a', 1], [INFO] [stdout] 25 | | ['a', 2], [INFO] [stdout] ... | [INFO] [stdout] 77 | | ['h', 1] [INFO] [stdout] 78 | | ]; [INFO] [stdout] | |___- similarly named constant `B7` defined here [INFO] [stdout] [INFO] [stdout] error: language item required, but not found: `eh_personality` [INFO] [stdout] | [INFO] [stdout] = note: this can occur when a binary crate with `#![no_std]` is compiled for a target where `eh_personality` is defined in the standard library [INFO] [stdout] = help: you may be able to compile for a target that doesn't need `eh_personality`, specify a target with `--target` or in `.cargo/config` [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/time.rs - time::pwm_write (line 132) stdout ---- [INFO] [stdout] error[E0425]: cannot find function `pinmode_pwm` in this scope [INFO] [stdout] --> src/time.rs:134:11 [INFO] [stdout] | [INFO] [stdout] 4 | let pin = pinmode_pwm(PA8).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 3 | use rustuino::pinmode_pwm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `PA8` in this scope [INFO] [stdout] --> src/time.rs:134:23 [INFO] [stdout] | [INFO] [stdout] 4 | let pin = pinmode_pwm(PA8).unwrap(); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `pwm_write` in this scope [INFO] [stdout] --> src/time.rs:137:22 [INFO] [stdout] | [INFO] [stdout] 7 | let mut value: u16 = pwm_write(&pin, 128).unwrap(); [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 3 | use rustuino::pwm_write; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: duplicate lang item in crate `rustuino`: `panic_impl`. [INFO] [stdout] | [INFO] [stdout] = note: the lang item is first defined in crate `std` (which `rust_out` depends on) [INFO] [stdout] = note: first definition in `std` loaded from /opt/rustwide/rustup-home/toolchains/beta-2022-04-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-ff9290e971253a38.rlib [INFO] [stdout] = note: second definition in `rustuino` loaded from /opt/rustwide/target/debug/deps/librustuino-71efdcb17ba6f697.rlib [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/time.rs - time::delay (line 216) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PA0` [INFO] [stdout] --> src/time.rs:219:11 [INFO] [stdout] | [INFO] [stdout] 6 | let pin = PA0::output(); [INFO] [stdout] | ^^^ use of undeclared type `PA0` [INFO] [stdout] [INFO] [stdout] error: duplicate lang item in crate `rustuino` (which `rust_out` depends on): `panic_impl`. [INFO] [stdout] | [INFO] [stdout] = note: the lang item is first defined in crate `std` (which `rust_out` depends on) [INFO] [stdout] = note: first definition in `std` loaded from /opt/rustwide/rustup-home/toolchains/beta-2022-04-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-ff9290e971253a38.rlib [INFO] [stdout] = note: second definition in `rustuino` loaded from /opt/rustwide/target/debug/deps/librustuino-71efdcb17ba6f697.rlib [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0433`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/analog.rs - analog::analog_read (line 131) stdout ---- [INFO] [stdout] error[E0425]: cannot find function `pinmode_analog` in this scope [INFO] [stdout] --> src/analog.rs:133:11 [INFO] [stdout] | [INFO] [stdout] 4 | let pin = pinmode_analog(PA0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 3 | use rustuino::pinmode_analog; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `PA0` in this scope [INFO] [stdout] --> src/analog.rs:133:26 [INFO] [stdout] | [INFO] [stdout] 4 | let pin = pinmode_analog(PA0).unwrap(); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `analog_read` in this scope [INFO] [stdout] --> src/analog.rs:136:22 [INFO] [stdout] | [INFO] [stdout] 7 | let mut value: u16 = analog_read(&pin); [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 3 | use rustuino::analog_read; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: duplicate lang item in crate `rustuino`: `panic_impl`. [INFO] [stdout] | [INFO] [stdout] = note: the lang item is first defined in crate `std` (which `rust_out` depends on) [INFO] [stdout] = note: first definition in `std` loaded from /opt/rustwide/rustup-home/toolchains/beta-2022-04-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-ff9290e971253a38.rlib [INFO] [stderr] error: test failed, to rerun pass '--doc' [INFO] [stdout] = note: second definition in `rustuino` loaded from /opt/rustwide/target/debug/deps/librustuino-71efdcb17ba6f697.rlib [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/analog.rs - analog (line 7) [INFO] [stdout] src/analog.rs - analog::analog_read (line 131) [INFO] [stdout] src/gpio.rs - gpio (line 5) [INFO] [stdout] src/i2c.rs - i2c (line 7) [INFO] [stdout] src/time.rs - time (line 7) [INFO] [stdout] src/time.rs - time::delay (line 216) [INFO] [stdout] src/time.rs - time::millis (line 299) [INFO] [stdout] src/time.rs - time::pwm_write (line 132) [INFO] [stdout] src/time.rs - time::start_time (line 257) [INFO] [stdout] src/uart.rs - uart (line 7) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 10 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "d61e35ac1306f0b3d6f62812789d5804fd22cfd057de8a8c0b678129ab8d56c9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d61e35ac1306f0b3d6f62812789d5804fd22cfd057de8a8c0b678129ab8d56c9", kill_on_drop: false }` [INFO] [stdout] d61e35ac1306f0b3d6f62812789d5804fd22cfd057de8a8c0b678129ab8d56c9