[INFO] cloning repository https://github.com/jacquetc/ardoise [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jacquetc/ardoise" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjacquetc%2Fardoise", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjacquetc%2Fardoise'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 82067680323d8dcdadcb6c616d7d063914d789cf [INFO] checking jacquetc/ardoise against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjacquetc%2Fardoise" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jacquetc/ardoise on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jacquetc/ardoise [INFO] finished tweaking git repo https://github.com/jacquetc/ardoise [INFO] tweaked toml for git repo https://github.com/jacquetc/ardoise written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/jacquetc/ardoise already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded x11cap v0.4.1 [INFO] [stderr] Downloaded png v0.16.8 [INFO] [stderr] Downloaded adler32 v1.2.0 [INFO] [stderr] Downloaded dxgcap v0.2.1 [INFO] [stderr] Downloaded gif v0.11.3 [INFO] [stderr] Downloaded deflate v0.8.6 [INFO] [stderr] Downloaded x11 v2.18.2 [INFO] [stderr] Downloaded bytemuck v1.7.3 [INFO] [stderr] Downloaded crc32fast v1.3.0 [INFO] [stderr] Downloaded image v0.23.14 [INFO] [stderr] Downloaded jpeg-decoder v0.1.22 [INFO] [stderr] Downloaded miniz_oxide v0.3.7 [INFO] [stderr] Downloaded weezl v0.1.5 [INFO] [stderr] Downloaded tiff v0.6.1 [INFO] [stderr] Downloaded captrs v0.3.0 [INFO] [stderr] Downloaded custom_error v1.7.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9a1082d0b593bd110348c83c4d5bdb9fc53a86b78bfaf3d9dd4044d57e8ed40b [INFO] running `Command { std: "docker" "start" "-a" "9a1082d0b593bd110348c83c4d5bdb9fc53a86b78bfaf3d9dd4044d57e8ed40b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9a1082d0b593bd110348c83c4d5bdb9fc53a86b78bfaf3d9dd4044d57e8ed40b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9a1082d0b593bd110348c83c4d5bdb9fc53a86b78bfaf3d9dd4044d57e8ed40b", kill_on_drop: false }` [INFO] [stdout] 9a1082d0b593bd110348c83c4d5bdb9fc53a86b78bfaf3d9dd4044d57e8ed40b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f3b7f70f25ecc5c221b2e63bb6c7f2c05176606d527a42fc7bd276569be383a5 [INFO] running `Command { std: "docker" "start" "-a" "f3b7f70f25ecc5c221b2e63bb6c7f2c05176606d527a42fc7bd276569be383a5", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.68 [INFO] [stderr] Compiling crossbeam-utils v0.8.5 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling crossbeam-epoch v0.9.5 [INFO] [stderr] Compiling rayon-core v1.9.1 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling rayon v1.5.1 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling pkg-config v0.3.17 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Checking adler32 v1.2.0 [INFO] [stderr] Compiling crc32fast v1.3.0 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Checking weezl v0.1.5 [INFO] [stderr] Compiling x11cap v0.4.1 [INFO] [stderr] Checking deflate v0.8.6 [INFO] [stderr] Checking miniz_oxide v0.3.7 [INFO] [stderr] Checking unicode-width v0.1.9 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking scoped_threadpool v0.1.9 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking bytemuck v1.7.3 [INFO] [stderr] Checking gif v0.11.3 [INFO] [stderr] Checking ansi_term v0.12.1 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking custom_error v1.7.1 [INFO] [stderr] Checking crossbeam-channel v0.5.1 [INFO] [stderr] Compiling x11 v2.18.2 [INFO] [stderr] Checking png v0.16.8 [INFO] [stderr] Checking crossbeam-deque v0.8.1 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Checking num_cpus v1.13.1 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking clap v2.34.0 [INFO] [stderr] Checking captrs v0.3.0 [INFO] [stderr] Compiling dlopen_derive v0.1.4 [INFO] [stderr] Checking dlopen v0.1.8 [INFO] [stderr] Checking jpeg-decoder v0.1.22 [INFO] [stderr] Checking tiff v0.6.1 [INFO] [stderr] Checking image v0.23.14 [INFO] [stderr] Checking ardoise v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Bgr8` [INFO] [stdout] --> src/main.rs:10:14 [INFO] [stdout] | [INFO] [stdout] 10 | use x11cap::{Bgr8, Image}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `captrs::Capturer` [INFO] [stdout] --> src/imagery.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use captrs::Capturer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/eink_interface.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/eink_interface.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x11cap::Image` [INFO] [stdout] --> src/eink_interface.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use x11cap::Image; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time` [INFO] [stdout] --> src/it8951.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/it8951.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/bcm_interface.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/bcm_interface.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::os::raw::c_char` [INFO] [stdout] --> src/bcm_interface.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::os::raw::c_char; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x11cap::Image` [INFO] [stdout] --> src/bcm_interface.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use x11cap::Image; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:82:24 [INFO] [stdout] | [INFO] [stdout] 82 | static LUT0EWHR: u16 = (DISPLAY_REG_BASE + 0x00); //LUT0 Engine Width Height Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 82 - static LUT0EWHR: u16 = (DISPLAY_REG_BASE + 0x00); //LUT0 Engine Width Height Reg [INFO] [stdout] 82 + static LUT0EWHR: u16 = DISPLAY_REG_BASE + 0x00; //LUT0 Engine Width Height Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:83:23 [INFO] [stdout] | [INFO] [stdout] 83 | static LUT0XYR: u16 = (DISPLAY_REG_BASE + 0x40); //LUT0 XY Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 83 - static LUT0XYR: u16 = (DISPLAY_REG_BASE + 0x40); //LUT0 XY Reg [INFO] [stdout] 83 + static LUT0XYR: u16 = DISPLAY_REG_BASE + 0x40; //LUT0 XY Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:84:25 [INFO] [stdout] | [INFO] [stdout] 84 | static LUT0BADDR: u16 = (DISPLAY_REG_BASE + 0x80); //LUT0 Base Address Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 84 - static LUT0BADDR: u16 = (DISPLAY_REG_BASE + 0x80); //LUT0 Base Address Reg [INFO] [stdout] 84 + static LUT0BADDR: u16 = DISPLAY_REG_BASE + 0x80; //LUT0 Base Address Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:85:23 [INFO] [stdout] | [INFO] [stdout] 85 | static LUT0MFN: u16 = (DISPLAY_REG_BASE + 0xC0); //LUT0 Mode and Frame number Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 85 - static LUT0MFN: u16 = (DISPLAY_REG_BASE + 0xC0); //LUT0 Mode and Frame number Reg [INFO] [stdout] 85 + static LUT0MFN: u16 = DISPLAY_REG_BASE + 0xC0; //LUT0 Mode and Frame number Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:86:23 [INFO] [stdout] | [INFO] [stdout] 86 | static LUT01AF: u16 = (DISPLAY_REG_BASE + 0x114); //LUT0 and LUT1 Active Flag Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 86 - static LUT01AF: u16 = (DISPLAY_REG_BASE + 0x114); //LUT0 and LUT1 Active Flag Reg [INFO] [stdout] 86 + static LUT01AF: u16 = DISPLAY_REG_BASE + 0x114; //LUT0 and LUT1 Active Flag Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:88:21 [INFO] [stdout] | [INFO] [stdout] 88 | static UP0SR: u16 = (DISPLAY_REG_BASE + 0x134); //Update Parameter0 Setting Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 88 - static UP0SR: u16 = (DISPLAY_REG_BASE + 0x134); //Update Parameter0 Setting Reg [INFO] [stdout] 88 + static UP0SR: u16 = DISPLAY_REG_BASE + 0x134; //Update Parameter0 Setting Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | static UP1SR: u16 = (DISPLAY_REG_BASE + 0x138); //Update Parameter1 Setting Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 90 - static UP1SR: u16 = (DISPLAY_REG_BASE + 0x138); //Update Parameter1 Setting Reg [INFO] [stdout] 90 + static UP1SR: u16 = DISPLAY_REG_BASE + 0x138; //Update Parameter1 Setting Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:91:25 [INFO] [stdout] | [INFO] [stdout] 91 | static LUT0ABFRV: u16 = (DISPLAY_REG_BASE + 0x13C); //LUT0 Alpha blend and Fill rectangle Value [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 91 - static LUT0ABFRV: u16 = (DISPLAY_REG_BASE + 0x13C); //LUT0 Alpha blend and Fill rectangle Value [INFO] [stdout] 91 + static LUT0ABFRV: u16 = DISPLAY_REG_BASE + 0x13C; //LUT0 Alpha blend and Fill rectangle Value [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:92:24 [INFO] [stdout] | [INFO] [stdout] 92 | static UPBBADDR: u16 = (DISPLAY_REG_BASE + 0x17C); //Update Buffer Base Address [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 92 - static UPBBADDR: u16 = (DISPLAY_REG_BASE + 0x17C); //Update Buffer Base Address [INFO] [stdout] 92 + static UPBBADDR: u16 = DISPLAY_REG_BASE + 0x17C; //Update Buffer Base Address [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:93:24 [INFO] [stdout] | [INFO] [stdout] 93 | static LUT0IMXY: u16 = (DISPLAY_REG_BASE + 0x180); //LUT0 Image buffer X/Y offset Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 93 - static LUT0IMXY: u16 = (DISPLAY_REG_BASE + 0x180); //LUT0 Image buffer X/Y offset Reg [INFO] [stdout] 93 + static LUT0IMXY: u16 = DISPLAY_REG_BASE + 0x180; //LUT0 Image buffer X/Y offset Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:94:23 [INFO] [stdout] | [INFO] [stdout] 94 | static LUTAFSR: u16 = (DISPLAY_REG_BASE + 0x224); //LUT Status Reg (status of All LUT Engines) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 94 - static LUTAFSR: u16 = (DISPLAY_REG_BASE + 0x224); //LUT Status Reg (status of All LUT Engines) [INFO] [stdout] 94 + static LUTAFSR: u16 = DISPLAY_REG_BASE + 0x224; //LUT Status Reg (status of All LUT Engines) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:95:20 [INFO] [stdout] | [INFO] [stdout] 95 | static BGVR: u16 = (DISPLAY_REG_BASE + 0x250); //Bitmap (1bpp) image color table [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 95 - static BGVR: u16 = (DISPLAY_REG_BASE + 0x250); //Bitmap (1bpp) image color table [INFO] [stdout] 95 + static BGVR: u16 = DISPLAY_REG_BASE + 0x250; //Bitmap (1bpp) image color table [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:100:23 [INFO] [stdout] | [INFO] [stdout] 100 | static I80CPCR: u16 = (SYS_REG_BASE + 0x04); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 100 - static I80CPCR: u16 = (SYS_REG_BASE + 0x04); [INFO] [stdout] 100 + static I80CPCR: u16 = SYS_REG_BASE + 0x04; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:103:20 [INFO] [stdout] | [INFO] [stdout] 103 | static MCSR: u16 = (MCSR_BASE_ADDR + 0x0000); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 103 - static MCSR: u16 = (MCSR_BASE_ADDR + 0x0000); [INFO] [stdout] 103 + static MCSR: u16 = MCSR_BASE_ADDR + 0x0000; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | static LISAR: u16 = (MCSR_BASE_ADDR + 0x0008); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 104 - static LISAR: u16 = (MCSR_BASE_ADDR + 0x0008); [INFO] [stdout] 104 + static LISAR: u16 = MCSR_BASE_ADDR + 0x0008; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/eink_interface.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/eink_interface.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x11cap::Image` [INFO] [stdout] --> src/eink_interface.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use x11cap::Image; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time` [INFO] [stdout] --> src/it8951.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/it8951.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/bcm_interface.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/bcm_interface.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::os::raw::c_char` [INFO] [stdout] --> src/bcm_interface.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::os::raw::c_char; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x11cap::Image` [INFO] [stdout] --> src/bcm_interface.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use x11cap::Image; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:82:24 [INFO] [stdout] | [INFO] [stdout] 82 | static LUT0EWHR: u16 = (DISPLAY_REG_BASE + 0x00); //LUT0 Engine Width Height Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 82 - static LUT0EWHR: u16 = (DISPLAY_REG_BASE + 0x00); //LUT0 Engine Width Height Reg [INFO] [stdout] 82 + static LUT0EWHR: u16 = DISPLAY_REG_BASE + 0x00; //LUT0 Engine Width Height Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:83:23 [INFO] [stdout] | [INFO] [stdout] 83 | static LUT0XYR: u16 = (DISPLAY_REG_BASE + 0x40); //LUT0 XY Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 83 - static LUT0XYR: u16 = (DISPLAY_REG_BASE + 0x40); //LUT0 XY Reg [INFO] [stdout] 83 + static LUT0XYR: u16 = DISPLAY_REG_BASE + 0x40; //LUT0 XY Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:84:25 [INFO] [stdout] | [INFO] [stdout] 84 | static LUT0BADDR: u16 = (DISPLAY_REG_BASE + 0x80); //LUT0 Base Address Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 84 - static LUT0BADDR: u16 = (DISPLAY_REG_BASE + 0x80); //LUT0 Base Address Reg [INFO] [stdout] 84 + static LUT0BADDR: u16 = DISPLAY_REG_BASE + 0x80; //LUT0 Base Address Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:85:23 [INFO] [stdout] | [INFO] [stdout] 85 | static LUT0MFN: u16 = (DISPLAY_REG_BASE + 0xC0); //LUT0 Mode and Frame number Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 85 - static LUT0MFN: u16 = (DISPLAY_REG_BASE + 0xC0); //LUT0 Mode and Frame number Reg [INFO] [stdout] 85 + static LUT0MFN: u16 = DISPLAY_REG_BASE + 0xC0; //LUT0 Mode and Frame number Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:86:23 [INFO] [stdout] | [INFO] [stdout] 86 | static LUT01AF: u16 = (DISPLAY_REG_BASE + 0x114); //LUT0 and LUT1 Active Flag Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 86 - static LUT01AF: u16 = (DISPLAY_REG_BASE + 0x114); //LUT0 and LUT1 Active Flag Reg [INFO] [stdout] 86 + static LUT01AF: u16 = DISPLAY_REG_BASE + 0x114; //LUT0 and LUT1 Active Flag Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:88:21 [INFO] [stdout] | [INFO] [stdout] 88 | static UP0SR: u16 = (DISPLAY_REG_BASE + 0x134); //Update Parameter0 Setting Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 88 - static UP0SR: u16 = (DISPLAY_REG_BASE + 0x134); //Update Parameter0 Setting Reg [INFO] [stdout] 88 + static UP0SR: u16 = DISPLAY_REG_BASE + 0x134; //Update Parameter0 Setting Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | static UP1SR: u16 = (DISPLAY_REG_BASE + 0x138); //Update Parameter1 Setting Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 90 - static UP1SR: u16 = (DISPLAY_REG_BASE + 0x138); //Update Parameter1 Setting Reg [INFO] [stdout] 90 + static UP1SR: u16 = DISPLAY_REG_BASE + 0x138; //Update Parameter1 Setting Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:91:25 [INFO] [stdout] | [INFO] [stdout] 91 | static LUT0ABFRV: u16 = (DISPLAY_REG_BASE + 0x13C); //LUT0 Alpha blend and Fill rectangle Value [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 91 - static LUT0ABFRV: u16 = (DISPLAY_REG_BASE + 0x13C); //LUT0 Alpha blend and Fill rectangle Value [INFO] [stdout] 91 + static LUT0ABFRV: u16 = DISPLAY_REG_BASE + 0x13C; //LUT0 Alpha blend and Fill rectangle Value [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:92:24 [INFO] [stdout] | [INFO] [stdout] 92 | static UPBBADDR: u16 = (DISPLAY_REG_BASE + 0x17C); //Update Buffer Base Address [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 92 - static UPBBADDR: u16 = (DISPLAY_REG_BASE + 0x17C); //Update Buffer Base Address [INFO] [stdout] 92 + static UPBBADDR: u16 = DISPLAY_REG_BASE + 0x17C; //Update Buffer Base Address [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:93:24 [INFO] [stdout] | [INFO] [stdout] 93 | static LUT0IMXY: u16 = (DISPLAY_REG_BASE + 0x180); //LUT0 Image buffer X/Y offset Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 93 - static LUT0IMXY: u16 = (DISPLAY_REG_BASE + 0x180); //LUT0 Image buffer X/Y offset Reg [INFO] [stdout] 93 + static LUT0IMXY: u16 = DISPLAY_REG_BASE + 0x180; //LUT0 Image buffer X/Y offset Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:94:23 [INFO] [stdout] | [INFO] [stdout] 94 | static LUTAFSR: u16 = (DISPLAY_REG_BASE + 0x224); //LUT Status Reg (status of All LUT Engines) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 94 - static LUTAFSR: u16 = (DISPLAY_REG_BASE + 0x224); //LUT Status Reg (status of All LUT Engines) [INFO] [stdout] 94 + static LUTAFSR: u16 = DISPLAY_REG_BASE + 0x224; //LUT Status Reg (status of All LUT Engines) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:95:20 [INFO] [stdout] | [INFO] [stdout] 95 | static BGVR: u16 = (DISPLAY_REG_BASE + 0x250); //Bitmap (1bpp) image color table [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 95 - static BGVR: u16 = (DISPLAY_REG_BASE + 0x250); //Bitmap (1bpp) image color table [INFO] [stdout] 95 + static BGVR: u16 = DISPLAY_REG_BASE + 0x250; //Bitmap (1bpp) image color table [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:100:23 [INFO] [stdout] | [INFO] [stdout] 100 | static I80CPCR: u16 = (SYS_REG_BASE + 0x04); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 100 - static I80CPCR: u16 = (SYS_REG_BASE + 0x04); [INFO] [stdout] 100 + static I80CPCR: u16 = SYS_REG_BASE + 0x04; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:103:20 [INFO] [stdout] | [INFO] [stdout] 103 | static MCSR: u16 = (MCSR_BASE_ADDR + 0x0000); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 103 - static MCSR: u16 = (MCSR_BASE_ADDR + 0x0000); [INFO] [stdout] 103 + static MCSR: u16 = MCSR_BASE_ADDR + 0x0000; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | static LISAR: u16 = (MCSR_BASE_ADDR + 0x0008); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 104 - static LISAR: u16 = (MCSR_BASE_ADDR + 0x0008); [INFO] [stdout] 104 + static LISAR: u16 = MCSR_BASE_ADDR + 0x0008; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/it8951.rs:126:36 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn new() -> Result> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 126 | pub fn new() -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/it8951.rs:163:33 [INFO] [stdout] | [INFO] [stdout] 163 | fn init() -> Result> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 163 | fn init() -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/it8951.rs:206:54 [INFO] [stdout] | [INFO] [stdout] 206 | fn get_system_info(&self) -> Result> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 206 | fn get_system_info(&self) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/it8951.rs:126:36 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn new() -> Result> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 126 | pub fn new() -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/it8951.rs:163:33 [INFO] [stdout] | [INFO] [stdout] 163 | fn init() -> Result> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 163 | fn init() -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/it8951.rs:206:54 [INFO] [stdout] | [INFO] [stdout] 206 | fn get_system_info(&self) -> Result> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 206 | fn get_system_info(&self) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:56:43 [INFO] [stdout] | [INFO] [stdout] 56 | let interface: Result> = it8951::IT::new(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 56 | let interface: Result> = it8951::IT::new(); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `read_data` is never read [INFO] [stdout] --> src/it8951.rs:349:17 [INFO] [stdout] | [INFO] [stdout] 349 | let mut read_data: u16 = self._bcm_interface.bcm2835_spi_transfer(0x00) as u16; //dummy [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `read_data` is never read [INFO] [stdout] --> src/it8951.rs:350:9 [INFO] [stdout] | [INFO] [stdout] 350 | read_data = self._bcm_interface.bcm2835_spi_transfer(0x00) as u16; //dummy [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/imagery.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | let mut imagery = Imagery { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `old_slice` is never read [INFO] [stdout] --> src/imagery.rs:107:15 [INFO] [stdout] | [INFO] [stdout] 107 | let mut old_slice: &[Bgr8] = &[]; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `white_vec` is never read [INFO] [stdout] --> src/imagery.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | let mut white_vec: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/imagery.rs:242:9 [INFO] [stdout] | [INFO] [stdout] 242 | mut interface: eink_interface::Interface, [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:56:43 [INFO] [stdout] | [INFO] [stdout] 56 | let interface: Result> = it8951::IT::new(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 56 | let interface: Result> = it8951::IT::new(); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/main.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | let now = Instant::now(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/main.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | let a = now2.elapsed().as_millis(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r1` [INFO] [stdout] --> src/main.rs:133:17 [INFO] [stdout] | [INFO] [stdout] 133 | let r1 = now2.elapsed().as_millis(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_r1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r2` [INFO] [stdout] --> src/main.rs:136:17 [INFO] [stdout] | [INFO] [stdout] 136 | let r2 = now2.elapsed().as_millis(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_r2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/main.rs:139:17 [INFO] [stdout] | [INFO] [stdout] 139 | let b = now2.elapsed().as_millis(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:190:43 [INFO] [stdout] | [INFO] [stdout] 190 | let interface: Result> = it8951::IT::new(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 190 | let interface: Result> = it8951::IT::new(); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_buffer` is never used [INFO] [stdout] --> src/main.rs:151:4 [INFO] [stdout] | [INFO] [stdout] 151 | fn draw_buffer(area: &Area, grey_vec: &Vec, mut interface: it8951::IT) -> it8951::IT { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `get_slice_adapted_to_eink_size`, `transform_to_grey`, and `draw_buffer_4bpp` are never used [INFO] [stdout] --> src/imagery.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Imagery { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn get_slice_adapted_to_eink_size(&self, image: &Option) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn transform_to_grey(bgr_vec: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | fn draw_buffer_4bpp( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Interface` is never constructed [INFO] [stdout] --> src/eink_interface.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct Interface { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `init`, `display`, `draw_buffer_pixel`, and `load_image` are never used [INFO] [stdout] --> src/eink_interface.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Interface { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 32 | pub fn new() -> Interface { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | fn init() -> Container { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn display(&self, x: u16, y: u16, rect_width: u16, rect_height: u16) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn draw_buffer_pixel(&self, x: u16, y: u16, width: u16, color: u8){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn load_image(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CS` is never used [INFO] [stdout] --> src/it8951.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static CS: u8 = 8; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `HRDY` is never used [INFO] [stdout] --> src/it8951.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | static HRDY: u8 = 24; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `RESET` is never used [INFO] [stdout] --> src/it8951.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | static RESET: u8 = 17; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `VCOM` is never used [INFO] [stdout] --> src/it8951.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | static VCOM: u16 = 1610; //e.g. -1.53 = 1530 = 0x5FA [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BCM2835_SPI_BIT_ORDER_MSBFIRST` is never used [INFO] [stdout] --> src/it8951.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | static BCM2835_SPI_BIT_ORDER_MSBFIRST: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BCM2835_SPI_MODE0` is never used [INFO] [stdout] --> src/it8951.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | static BCM2835_SPI_MODE0: u8 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BCM2835_SPI_CLOCK_DIVIDER_32` is never used [INFO] [stdout] --> src/it8951.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | static BCM2835_SPI_CLOCK_DIVIDER_32: u16 = 32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BCM2835_GPIO_FSEL_OUTP` is never used [INFO] [stdout] --> src/it8951.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | static BCM2835_GPIO_FSEL_OUTP: u8 = 0x01; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BCM2835_GPIO_FSEL_INPT` is never used [INFO] [stdout] --> src/it8951.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | static BCM2835_GPIO_FSEL_INPT: u8 = 0x00; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `HIGH` is never used [INFO] [stdout] --> src/it8951.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | static HIGH: u8 = 0x1; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LOW` is never used [INFO] [stdout] --> src/it8951.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | static LOW: u8 = 0x0; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_SYS_RUN` is never used [INFO] [stdout] --> src/it8951.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | static IT8951_TCON_SYS_RUN: u16 = 0x0001; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_STANDBY` is never used [INFO] [stdout] --> src/it8951.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | static IT8951_TCON_STANDBY: u16 = 0x0002; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_SLEEP` is never used [INFO] [stdout] --> src/it8951.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | static IT8951_TCON_SLEEP: u16 = 0x0003; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_REG_RD` is never used [INFO] [stdout] --> src/it8951.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | static IT8951_TCON_REG_RD: u16 = 0x0010; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_REG_WR` is never used [INFO] [stdout] --> src/it8951.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | static IT8951_TCON_REG_WR: u16 = 0x0011; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_MEM_BST_RD_T` is never used [INFO] [stdout] --> src/it8951.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | static IT8951_TCON_MEM_BST_RD_T: u16 = 0x0012; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_MEM_BST_RD_S` is never used [INFO] [stdout] --> src/it8951.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | static IT8951_TCON_MEM_BST_RD_S: u16 = 0x0013; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_MEM_BST_WR` is never used [INFO] [stdout] --> src/it8951.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | static IT8951_TCON_MEM_BST_WR: u16 = 0x0014; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_MEM_BST_END` is never used [INFO] [stdout] --> src/it8951.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | static IT8951_TCON_MEM_BST_END: u16 = 0x0015; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_LD_IMG` is never used [INFO] [stdout] --> src/it8951.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | static IT8951_TCON_LD_IMG: u16 = 0x0020; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_LD_IMG_AREA` is never used [INFO] [stdout] --> src/it8951.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | static IT8951_TCON_LD_IMG_AREA: u16 = 0x0021; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_LD_IMG_END` is never used [INFO] [stdout] --> src/it8951.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | static IT8951_TCON_LD_IMG_END: u16 = 0x0022; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `USDEF_I80_CMD_DPY_AREA` is never used [INFO] [stdout] --> src/it8951.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | static USDEF_I80_CMD_DPY_AREA: u16 = 0x0034; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `USDEF_I80_CMD_GET_DEV_INFO` is never used [INFO] [stdout] --> src/it8951.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | static USDEF_I80_CMD_GET_DEV_INFO: u16 = 0x0302; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `USDEF_I80_CMD_DPY_BUF_AREA` is never used [INFO] [stdout] --> src/it8951.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | static USDEF_I80_CMD_DPY_BUF_AREA: u16 = 0x0037; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `USDEF_I80_CMD_VCOM` is never used [INFO] [stdout] --> src/it8951.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | static USDEF_I80_CMD_VCOM: u16 = 0x0039; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_PANEL_WIDTH` is never used [INFO] [stdout] --> src/it8951.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | static IT8951_PANEL_WIDTH: u16 = 1024; //it Get Device information [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_PANEL_HEIGHT` is never used [INFO] [stdout] --> src/it8951.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | static IT8951_PANEL_HEIGHT: u16 = 758; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_ROTATE_0` is never used [INFO] [stdout] --> src/it8951.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | static IT8951_ROTATE_0: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_ROTATE_90` is never used [INFO] [stdout] --> src/it8951.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | static IT8951_ROTATE_90: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_ROTATE_180` is never used [INFO] [stdout] --> src/it8951.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | static IT8951_ROTATE_180: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_ROTATE_270` is never used [INFO] [stdout] --> src/it8951.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | static IT8951_ROTATE_270: u16 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_2BPP` is never used [INFO] [stdout] --> src/it8951.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | static IT8951_2BPP: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_3BPP` is never used [INFO] [stdout] --> src/it8951.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | static IT8951_3BPP: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_4BPP` is never used [INFO] [stdout] --> src/it8951.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | static IT8951_4BPP: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_8BPP` is never used [INFO] [stdout] --> src/it8951.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | static IT8951_8BPP: u16 = 3; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_MODE_0` is never used [INFO] [stdout] --> src/it8951.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | static IT8951_MODE_0: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_MODE_1` is never used [INFO] [stdout] --> src/it8951.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | static IT8951_MODE_1: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_MODE_2` is never used [INFO] [stdout] --> src/it8951.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | static IT8951_MODE_2: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_MODE_3` is never used [INFO] [stdout] --> src/it8951.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | static IT8951_MODE_3: u16 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_MODE_4` is never used [INFO] [stdout] --> src/it8951.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | static IT8951_MODE_4: u16 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_LDIMG_L_ENDIAN` is never used [INFO] [stdout] --> src/it8951.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 68 | static IT8951_LDIMG_L_ENDIAN: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_LDIMG_B_ENDIAN` is never used [INFO] [stdout] --> src/it8951.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | static IT8951_LDIMG_B_ENDIAN: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_DIS_AUTO_LUT` is never used [INFO] [stdout] --> src/it8951.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | static IT8951_DIS_AUTO_LUT: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_EN_AUTO_LUT` is never used [INFO] [stdout] --> src/it8951.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | static IT8951_EN_AUTO_LUT: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_ALL_LUTE_BUSY` is never used [INFO] [stdout] --> src/it8951.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | static IT8951_ALL_LUTE_BUSY: u16 = 0xFFFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DISPLAY_REG_BASE` is never used [INFO] [stdout] --> src/it8951.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | static DISPLAY_REG_BASE: u16 = 0x1000; //Register RW access for I80 only [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0EWHR` is never used [INFO] [stdout] --> src/it8951.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | static LUT0EWHR: u16 = (DISPLAY_REG_BASE + 0x00); //LUT0 Engine Width Height Reg [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0XYR` is never used [INFO] [stdout] --> src/it8951.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | static LUT0XYR: u16 = (DISPLAY_REG_BASE + 0x40); //LUT0 XY Reg [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0BADDR` is never used [INFO] [stdout] --> src/it8951.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 84 | static LUT0BADDR: u16 = (DISPLAY_REG_BASE + 0x80); //LUT0 Base Address Reg [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0MFN` is never used [INFO] [stdout] --> src/it8951.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | static LUT0MFN: u16 = (DISPLAY_REG_BASE + 0xC0); //LUT0 Mode and Frame number Reg [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT01AF` is never used [INFO] [stdout] --> src/it8951.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | static LUT01AF: u16 = (DISPLAY_REG_BASE + 0x114); //LUT0 and LUT1 Active Flag Reg [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `UP0SR` is never used [INFO] [stdout] --> src/it8951.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | static UP0SR: u16 = (DISPLAY_REG_BASE + 0x134); //Update Parameter0 Setting Reg [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `UP1SR` is never used [INFO] [stdout] --> src/it8951.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | static UP1SR: u16 = (DISPLAY_REG_BASE + 0x138); //Update Parameter1 Setting Reg [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0ABFRV` is never used [INFO] [stdout] --> src/it8951.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 91 | static LUT0ABFRV: u16 = (DISPLAY_REG_BASE + 0x13C); //LUT0 Alpha blend and Fill rectangle Value [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `UPBBADDR` is never used [INFO] [stdout] --> src/it8951.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 92 | static UPBBADDR: u16 = (DISPLAY_REG_BASE + 0x17C); //Update Buffer Base Address [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0IMXY` is never used [INFO] [stdout] --> src/it8951.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | static LUT0IMXY: u16 = (DISPLAY_REG_BASE + 0x180); //LUT0 Image buffer X/Y offset Reg [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUTAFSR` is never used [INFO] [stdout] --> src/it8951.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | static LUTAFSR: u16 = (DISPLAY_REG_BASE + 0x224); //LUT Status Reg (status of All LUT Engines) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BGVR` is never used [INFO] [stdout] --> src/it8951.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | static BGVR: u16 = (DISPLAY_REG_BASE + 0x250); //Bitmap (1bpp) image color table [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `SYS_REG_BASE` is never used [INFO] [stdout] --> src/it8951.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | static SYS_REG_BASE: u16 = 0x0000; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `I80CPCR` is never used [INFO] [stdout] --> src/it8951.rs:100:8 [INFO] [stdout] | [INFO] [stdout] 100 | static I80CPCR: u16 = (SYS_REG_BASE + 0x04); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MCSR_BASE_ADDR` is never used [INFO] [stdout] --> src/it8951.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | static MCSR_BASE_ADDR: u16 = 0x0200; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MCSR` is never used [INFO] [stdout] --> src/it8951.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | static MCSR: u16 = (MCSR_BASE_ADDR + 0x0000); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LISAR` is never used [INFO] [stdout] --> src/it8951.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | static LISAR: u16 = (MCSR_BASE_ADDR + 0x0008); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/it8951.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 125 | impl IT { [INFO] [stdout] | ------- associated items in this implementation [INFO] [stdout] 126 | pub fn new() -> Result> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | fn init() -> Result> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn size(&self) -> (u16, u16) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | fn get_system_info(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | fn read_reg(&self, reg_address: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | fn write_reg(&self, reg_address: u16, value: u16) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | fn get_VCOM(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | fn set_VCOM(&self, vcom: u16) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | fn lcd_write_cmd_code(&self, cmd_code: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | fn lcd_send_cmd_arg(&self, cmd_code: u16, arg: [u16; 5], arg_number: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | fn lcd_write_data(&self, data: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 308 | fn lcd_write_n_data(&self, word_count: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 338 | fn lcd_read_data(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 360 | fn lcd_read_n_data(&self, word_count: u32) -> Box<[u16]> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 390 | fn lcd_wait_for_ready(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 397 | fn load_image_area_start(&self, load_image_info: &LdImgInfo, area_image_info: &AreaImgInfo) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 411 | fn load_image_end(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 415 | fn write_host_area_packed_pixel( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 432 | fn wait_for_display_ready(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 436 | fn display_area(&self, x: u16, y: u16, width: u16, height: u16, dpy_mode: u16) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 447 | pub fn display(&self, x: u16, y: u16, rect_width: u16, rect_height: u16) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 485 | pub fn draw_buffer_pixel(&mut self, x: u16, y: u16, width: u16, color: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 491 | pub fn load_buffer_from_vec(&mut self, grey_vec: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LdImgInfo` is never constructed [INFO] [stdout] --> src/it8951.rs:496:8 [INFO] [stdout] | [INFO] [stdout] 496 | struct LdImgInfo { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AreaImgInfo` is never constructed [INFO] [stdout] --> src/it8951.rs:504:8 [INFO] [stdout] | [INFO] [stdout] 504 | struct AreaImgInfo { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `api` is never read [INFO] [stdout] --> src/bcm_interface.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct BCM { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 34 | api: Container, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/bcm_interface.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl BCM { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> BCM { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | fn init() -> Container { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn bcm2835_init(&self) -> Result{ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn bcm2835_spi_begin(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn bcm2835_spi_setBitOrder(&self, order: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn bcm2835_spi_setDataMode(&self, mode: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn bcm2835_spi_setClockDivider(&self, divider: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn bcm2835_gpio_fsel(&self, pin: u8, mode: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn bcm2835_gpio_write(&self, pin: u8, on: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn bcm2835_delay(&self, millis: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn bcm2835_spi_end(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn bcm2835_close(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn bcm2835_spi_transfer(&self, value: u8) -> u8{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn bcm2835_gpio_lev(&self, pin: u8) -> u8{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `read_reg` and `wait_for_display_ready` are never used [INFO] [stdout] --> src/it8951.rs:232:8 [INFO] [stdout] | [INFO] [stdout] 125 | impl IT { [INFO] [stdout] | ------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 232 | fn read_reg(&self, reg_address: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 432 | fn wait_for_display_ready(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `bcm2835_spi_end` and `bcm2835_close` are never used [INFO] [stdout] --> src/bcm_interface.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl BCM { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn bcm2835_spi_end(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn bcm2835_close(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951_Init` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | IT8951_Init: unsafe extern "C" fn() -> u8, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_init` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951_GUI_Example` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | IT8951_GUI_Example: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_gui_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951Display1bppExample` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | IT8951Display1bppExample: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_display1bpp_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951_GUI_Example2` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | IT8951_GUI_Example2: [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_gui_example2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951DisplayExample2` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | IT8951DisplayExample2: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_display_example2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951_BMP_Example` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | IT8951_BMP_Example: unsafe extern "C" fn(x: u32, y: u32, path: *const c_char), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_bmp_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `drawBufferPixel` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | drawBufferPixel: unsafe extern "C" fn(x: u16, y: u16, width: u16, color: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `draw_buffer_pixel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951_Init` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | IT8951_Init: unsafe extern "C" fn() -> u8, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_init` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951_GUI_Example` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | IT8951_GUI_Example: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_gui_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951Display1bppExample` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | IT8951Display1bppExample: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_display1bpp_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951_GUI_Example2` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | IT8951_GUI_Example2: [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_gui_example2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951DisplayExample2` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | IT8951DisplayExample2: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_display_example2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951_BMP_Example` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | IT8951_BMP_Example: unsafe extern "C" fn(x: u32, y: u32, path: *const c_char), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_bmp_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `drawBufferPixel` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | drawBufferPixel: unsafe extern "C" fn(x: u16, y: u16, width: u16, color: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `draw_buffer_pixel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_VCOM` should have a snake case name [INFO] [stdout] --> src/it8951.rs:246:8 [INFO] [stdout] | [INFO] [stdout] 246 | fn get_VCOM(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `get_vcom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_VCOM` should have a snake case name [INFO] [stdout] --> src/it8951.rs:253:8 [INFO] [stdout] | [INFO] [stdout] 253 | fn set_VCOM(&self, vcom: u16) { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `set_vcom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bcm2835_spi_setBitOrder` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | bcm2835_spi_setBitOrder: unsafe extern "C" fn(order: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_bit_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bcm2835_spi_setDataMode` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | bcm2835_spi_setDataMode: unsafe extern "C" fn(mode: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_data_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bcm2835_spi_setClockDivider` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | bcm2835_spi_setClockDivider: unsafe extern "C" fn(divider: u16), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_clock_divider` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setBitOrder` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | bcm2835_spi_setBitOrder: unsafe extern "C" fn(order: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_bit_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setDataMode` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | bcm2835_spi_setDataMode: unsafe extern "C" fn(mode: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_data_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setClockDivider` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | bcm2835_spi_setClockDivider: unsafe extern "C" fn(divider: u16), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_clock_divider` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setBitOrder` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn bcm2835_spi_setBitOrder(&self, order: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_bit_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setDataMode` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn bcm2835_spi_setDataMode(&self, mode: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_data_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setClockDivider` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn bcm2835_spi_setClockDivider(&self, divider: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_clock_divider` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 142 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `read_data` is never read [INFO] [stdout] --> src/it8951.rs:349:17 [INFO] [stdout] | [INFO] [stdout] 349 | let mut read_data: u16 = self._bcm_interface.bcm2835_spi_transfer(0x00) as u16; //dummy [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `read_data` is never read [INFO] [stdout] --> src/it8951.rs:350:9 [INFO] [stdout] | [INFO] [stdout] 350 | read_data = self._bcm_interface.bcm2835_spi_transfer(0x00) as u16; //dummy [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/imagery.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | let mut imagery = Imagery { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `old_slice` is never read [INFO] [stdout] --> src/imagery.rs:107:15 [INFO] [stdout] | [INFO] [stdout] 107 | let mut old_slice: &[Bgr8] = &[]; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `white_vec` is never read [INFO] [stdout] --> src/imagery.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | let mut white_vec: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/imagery.rs:242:9 [INFO] [stdout] | [INFO] [stdout] 242 | mut interface: eink_interface::Interface, [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `grey` [INFO] [stdout] --> src/imagery.rs:760:13 [INFO] [stdout] | [INFO] [stdout] 760 | for grey in grey_chunks.iter() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_grey` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/main.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | let now = Instant::now(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/main.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | let a = now2.elapsed().as_millis(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r1` [INFO] [stdout] --> src/main.rs:133:17 [INFO] [stdout] | [INFO] [stdout] 133 | let r1 = now2.elapsed().as_millis(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_r1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r2` [INFO] [stdout] --> src/main.rs:136:17 [INFO] [stdout] | [INFO] [stdout] 136 | let r2 = now2.elapsed().as_millis(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_r2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/main.rs:139:17 [INFO] [stdout] | [INFO] [stdout] 139 | let b = now2.elapsed().as_millis(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_buffer` is never used [INFO] [stdout] --> src/main.rs:151:4 [INFO] [stdout] | [INFO] [stdout] 151 | fn draw_buffer(area: &Area, grey_vec: &Vec, mut interface: it8951::IT) -> it8951::IT { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `get_slice_adapted_to_eink_size`, `transform_to_grey`, and `draw_buffer_4bpp` are never used [INFO] [stdout] --> src/imagery.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Imagery { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn get_slice_adapted_to_eink_size(&self, image: &Option) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn transform_to_grey(bgr_vec: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | fn draw_buffer_4bpp( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Interface` is never constructed [INFO] [stdout] --> src/eink_interface.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct Interface { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `init`, `display`, `draw_buffer_pixel`, and `load_image` are never used [INFO] [stdout] --> src/eink_interface.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Interface { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 32 | pub fn new() -> Interface { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | fn init() -> Container { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn display(&self, x: u16, y: u16, rect_width: u16, rect_height: u16) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn draw_buffer_pixel(&self, x: u16, y: u16, width: u16, color: u8){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn load_image(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_SYS_RUN` is never used [INFO] [stdout] --> src/it8951.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | static IT8951_TCON_SYS_RUN: u16 = 0x0001; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_STANDBY` is never used [INFO] [stdout] --> src/it8951.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | static IT8951_TCON_STANDBY: u16 = 0x0002; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_SLEEP` is never used [INFO] [stdout] --> src/it8951.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | static IT8951_TCON_SLEEP: u16 = 0x0003; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_REG_RD` is never used [INFO] [stdout] --> src/it8951.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | static IT8951_TCON_REG_RD: u16 = 0x0010; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_MEM_BST_RD_T` is never used [INFO] [stdout] --> src/it8951.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | static IT8951_TCON_MEM_BST_RD_T: u16 = 0x0012; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_MEM_BST_RD_S` is never used [INFO] [stdout] --> src/it8951.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | static IT8951_TCON_MEM_BST_RD_S: u16 = 0x0013; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_MEM_BST_WR` is never used [INFO] [stdout] --> src/it8951.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | static IT8951_TCON_MEM_BST_WR: u16 = 0x0014; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_MEM_BST_END` is never used [INFO] [stdout] --> src/it8951.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | static IT8951_TCON_MEM_BST_END: u16 = 0x0015; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_LD_IMG` is never used [INFO] [stdout] --> src/it8951.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | static IT8951_TCON_LD_IMG: u16 = 0x0020; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `USDEF_I80_CMD_DPY_BUF_AREA` is never used [INFO] [stdout] --> src/it8951.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | static USDEF_I80_CMD_DPY_BUF_AREA: u16 = 0x0037; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_PANEL_WIDTH` is never used [INFO] [stdout] --> src/it8951.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | static IT8951_PANEL_WIDTH: u16 = 1024; //it Get Device information [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_PANEL_HEIGHT` is never used [INFO] [stdout] --> src/it8951.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | static IT8951_PANEL_HEIGHT: u16 = 758; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_ROTATE_90` is never used [INFO] [stdout] --> src/it8951.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | static IT8951_ROTATE_90: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_ROTATE_180` is never used [INFO] [stdout] --> src/it8951.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | static IT8951_ROTATE_180: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_ROTATE_270` is never used [INFO] [stdout] --> src/it8951.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | static IT8951_ROTATE_270: u16 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_2BPP` is never used [INFO] [stdout] --> src/it8951.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | static IT8951_2BPP: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_3BPP` is never used [INFO] [stdout] --> src/it8951.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | static IT8951_3BPP: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_8BPP` is never used [INFO] [stdout] --> src/it8951.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | static IT8951_8BPP: u16 = 3; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_MODE_0` is never used [INFO] [stdout] --> src/it8951.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | static IT8951_MODE_0: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_MODE_1` is never used [INFO] [stdout] --> src/it8951.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | static IT8951_MODE_1: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_MODE_2` is never used [INFO] [stdout] --> src/it8951.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | static IT8951_MODE_2: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_MODE_3` is never used [INFO] [stdout] --> src/it8951.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | static IT8951_MODE_3: u16 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_MODE_4` is never used [INFO] [stdout] --> src/it8951.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | static IT8951_MODE_4: u16 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_LDIMG_B_ENDIAN` is never used [INFO] [stdout] --> src/it8951.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | static IT8951_LDIMG_B_ENDIAN: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_DIS_AUTO_LUT` is never used [INFO] [stdout] --> src/it8951.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | static IT8951_DIS_AUTO_LUT: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_EN_AUTO_LUT` is never used [INFO] [stdout] --> src/it8951.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | static IT8951_EN_AUTO_LUT: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_ALL_LUTE_BUSY` is never used [INFO] [stdout] --> src/it8951.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | static IT8951_ALL_LUTE_BUSY: u16 = 0xFFFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DISPLAY_REG_BASE` is never used [INFO] [stdout] --> src/it8951.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | static DISPLAY_REG_BASE: u16 = 0x1000; //Register RW access for I80 only [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0EWHR` is never used [INFO] [stdout] --> src/it8951.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | static LUT0EWHR: u16 = (DISPLAY_REG_BASE + 0x00); //LUT0 Engine Width Height Reg [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0XYR` is never used [INFO] [stdout] --> src/it8951.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | static LUT0XYR: u16 = (DISPLAY_REG_BASE + 0x40); //LUT0 XY Reg [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0BADDR` is never used [INFO] [stdout] --> src/it8951.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 84 | static LUT0BADDR: u16 = (DISPLAY_REG_BASE + 0x80); //LUT0 Base Address Reg [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0MFN` is never used [INFO] [stdout] --> src/it8951.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | static LUT0MFN: u16 = (DISPLAY_REG_BASE + 0xC0); //LUT0 Mode and Frame number Reg [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT01AF` is never used [INFO] [stdout] --> src/it8951.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | static LUT01AF: u16 = (DISPLAY_REG_BASE + 0x114); //LUT0 and LUT1 Active Flag Reg [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `UP0SR` is never used [INFO] [stdout] --> src/it8951.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | static UP0SR: u16 = (DISPLAY_REG_BASE + 0x134); //Update Parameter0 Setting Reg [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `UP1SR` is never used [INFO] [stdout] --> src/it8951.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | static UP1SR: u16 = (DISPLAY_REG_BASE + 0x138); //Update Parameter1 Setting Reg [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0ABFRV` is never used [INFO] [stdout] --> src/it8951.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 91 | static LUT0ABFRV: u16 = (DISPLAY_REG_BASE + 0x13C); //LUT0 Alpha blend and Fill rectangle Value [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `UPBBADDR` is never used [INFO] [stdout] --> src/it8951.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 92 | static UPBBADDR: u16 = (DISPLAY_REG_BASE + 0x17C); //Update Buffer Base Address [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0IMXY` is never used [INFO] [stdout] --> src/it8951.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | static LUT0IMXY: u16 = (DISPLAY_REG_BASE + 0x180); //LUT0 Image buffer X/Y offset Reg [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUTAFSR` is never used [INFO] [stdout] --> src/it8951.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | static LUTAFSR: u16 = (DISPLAY_REG_BASE + 0x224); //LUT Status Reg (status of All LUT Engines) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BGVR` is never used [INFO] [stdout] --> src/it8951.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | static BGVR: u16 = (DISPLAY_REG_BASE + 0x250); //Bitmap (1bpp) image color table [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MCSR_BASE_ADDR` is never used [INFO] [stdout] --> src/it8951.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | static MCSR_BASE_ADDR: u16 = 0x0200; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MCSR` is never used [INFO] [stdout] --> src/it8951.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | static MCSR: u16 = (MCSR_BASE_ADDR + 0x0000); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LISAR` is never used [INFO] [stdout] --> src/it8951.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | static LISAR: u16 = (MCSR_BASE_ADDR + 0x0008); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `size`, `read_reg`, `wait_for_display_ready`, and `draw_buffer_pixel` are never used [INFO] [stdout] --> src/it8951.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 125 | impl IT { [INFO] [stdout] | ------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn size(&self) -> (u16, u16) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | fn read_reg(&self, reg_address: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 432 | fn wait_for_display_ready(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 485 | pub fn draw_buffer_pixel(&mut self, x: u16, y: u16, width: u16, color: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `bcm2835_spi_end` and `bcm2835_close` are never used [INFO] [stdout] --> src/bcm_interface.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl BCM { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn bcm2835_spi_end(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn bcm2835_close(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `read_reg` and `wait_for_display_ready` are never used [INFO] [stdout] --> src/it8951.rs:232:8 [INFO] [stdout] | [INFO] [stdout] 125 | impl IT { [INFO] [stdout] | ------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 232 | fn read_reg(&self, reg_address: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 432 | fn wait_for_display_ready(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951_Init` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | IT8951_Init: unsafe extern "C" fn() -> u8, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_init` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951_GUI_Example` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | IT8951_GUI_Example: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_gui_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951Display1bppExample` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | IT8951Display1bppExample: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_display1bpp_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951_GUI_Example2` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | IT8951_GUI_Example2: [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_gui_example2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951DisplayExample2` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | IT8951DisplayExample2: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_display_example2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951_BMP_Example` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | IT8951_BMP_Example: unsafe extern "C" fn(x: u32, y: u32, path: *const c_char), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_bmp_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `drawBufferPixel` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | drawBufferPixel: unsafe extern "C" fn(x: u16, y: u16, width: u16, color: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `draw_buffer_pixel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951_Init` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | IT8951_Init: unsafe extern "C" fn() -> u8, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_init` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951_GUI_Example` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | IT8951_GUI_Example: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_gui_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951Display1bppExample` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | IT8951Display1bppExample: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_display1bpp_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951_GUI_Example2` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | IT8951_GUI_Example2: [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_gui_example2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951DisplayExample2` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | IT8951DisplayExample2: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_display_example2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951_BMP_Example` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | IT8951_BMP_Example: unsafe extern "C" fn(x: u32, y: u32, path: *const c_char), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_bmp_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `drawBufferPixel` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | drawBufferPixel: unsafe extern "C" fn(x: u16, y: u16, width: u16, color: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `draw_buffer_pixel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_VCOM` should have a snake case name [INFO] [stdout] --> src/it8951.rs:246:8 [INFO] [stdout] | [INFO] [stdout] 246 | fn get_VCOM(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `get_vcom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_VCOM` should have a snake case name [INFO] [stdout] --> src/it8951.rs:253:8 [INFO] [stdout] | [INFO] [stdout] 253 | fn set_VCOM(&self, vcom: u16) { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `set_vcom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bcm2835_spi_setBitOrder` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | bcm2835_spi_setBitOrder: unsafe extern "C" fn(order: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_bit_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bcm2835_spi_setDataMode` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | bcm2835_spi_setDataMode: unsafe extern "C" fn(mode: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_data_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bcm2835_spi_setClockDivider` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | bcm2835_spi_setClockDivider: unsafe extern "C" fn(divider: u16), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_clock_divider` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setBitOrder` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | bcm2835_spi_setBitOrder: unsafe extern "C" fn(order: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_bit_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setDataMode` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | bcm2835_spi_setDataMode: unsafe extern "C" fn(mode: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_data_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setClockDivider` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | bcm2835_spi_setClockDivider: unsafe extern "C" fn(divider: u16), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_clock_divider` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setBitOrder` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn bcm2835_spi_setBitOrder(&self, order: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_bit_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setDataMode` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn bcm2835_spi_setDataMode(&self, mode: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_data_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setClockDivider` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn bcm2835_spi_setClockDivider(&self, divider: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_clock_divider` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 116 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.67s [INFO] running `Command { std: "docker" "inspect" "f3b7f70f25ecc5c221b2e63bb6c7f2c05176606d527a42fc7bd276569be383a5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f3b7f70f25ecc5c221b2e63bb6c7f2c05176606d527a42fc7bd276569be383a5", kill_on_drop: false }` [INFO] [stdout] f3b7f70f25ecc5c221b2e63bb6c7f2c05176606d527a42fc7bd276569be383a5 [INFO] checking jacquetc/ardoise against try#f9935d29d867449445ee008640ccca1bf1ae0889+rustflags=-Dtail_expr_drop_order for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjacquetc%2Fardoise" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jacquetc/ardoise on toolchain f9935d29d867449445ee008640ccca1bf1ae0889 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jacquetc/ardoise [INFO] finished tweaking git repo https://github.com/jacquetc/ardoise [INFO] tweaked toml for git repo https://github.com/jacquetc/ardoise written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/jacquetc/ardoise already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6802a43abb49e92b28e4a51c92bf8cea4b046f461a5202bc9eb1ed5756c59845 [INFO] running `Command { std: "docker" "start" "-a" "6802a43abb49e92b28e4a51c92bf8cea4b046f461a5202bc9eb1ed5756c59845", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6802a43abb49e92b28e4a51c92bf8cea4b046f461a5202bc9eb1ed5756c59845", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6802a43abb49e92b28e4a51c92bf8cea4b046f461a5202bc9eb1ed5756c59845", kill_on_drop: false }` [INFO] [stdout] 6802a43abb49e92b28e4a51c92bf8cea4b046f461a5202bc9eb1ed5756c59845 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail_expr_drop_order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6c0ea1ac05fd53bf7a2f4ae01de01682950c292635f49ff82a4fac63ddcd8bcf [INFO] running `Command { std: "docker" "start" "-a" "6c0ea1ac05fd53bf7a2f4ae01de01682950c292635f49ff82a4fac63ddcd8bcf", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.68 [INFO] [stderr] Compiling crossbeam-utils v0.8.5 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling crossbeam-epoch v0.9.5 [INFO] [stderr] Compiling rayon-core v1.9.1 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling rayon v1.5.1 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling pkg-config v0.3.17 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Checking adler32 v1.2.0 [INFO] [stderr] Compiling crc32fast v1.3.0 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Checking weezl v0.1.5 [INFO] [stderr] Compiling x11cap v0.4.1 [INFO] [stderr] Checking deflate v0.8.6 [INFO] [stderr] Checking miniz_oxide v0.3.7 [INFO] [stderr] Checking unicode-width v0.1.9 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking bytemuck v1.7.3 [INFO] [stderr] Checking scoped_threadpool v0.1.9 [INFO] [stderr] Checking ansi_term v0.12.1 [INFO] [stderr] Checking gif v0.11.3 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking crossbeam-channel v0.5.1 [INFO] [stderr] Checking custom_error v1.7.1 [INFO] [stderr] Compiling x11 v2.18.2 [INFO] [stderr] Checking png v0.16.8 [INFO] [stderr] Checking crossbeam-deque v0.8.1 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Checking num_cpus v1.13.1 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking clap v2.34.0 [INFO] [stderr] Checking captrs v0.3.0 [INFO] [stderr] Compiling dlopen_derive v0.1.4 [INFO] [stderr] Checking dlopen v0.1.8 [INFO] [stderr] Checking jpeg-decoder v0.1.22 [INFO] [stderr] Checking tiff v0.6.1 [INFO] [stderr] Checking image v0.23.14 [INFO] [stderr] Checking ardoise v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Bgr8` [INFO] [stdout] --> src/main.rs:10:14 [INFO] [stdout] | [INFO] [stdout] 10 | use x11cap::{Bgr8, Image}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `captrs::Capturer` [INFO] [stdout] --> src/imagery.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use captrs::Capturer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/eink_interface.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/eink_interface.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x11cap::Image` [INFO] [stdout] --> src/eink_interface.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use x11cap::Image; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time` [INFO] [stdout] --> src/it8951.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/it8951.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/bcm_interface.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/bcm_interface.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::os::raw::c_char` [INFO] [stdout] --> src/bcm_interface.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::os::raw::c_char; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x11cap::Image` [INFO] [stdout] --> src/bcm_interface.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use x11cap::Image; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:82:24 [INFO] [stdout] | [INFO] [stdout] 82 | static LUT0EWHR: u16 = (DISPLAY_REG_BASE + 0x00); //LUT0 Engine Width Height Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 82 - static LUT0EWHR: u16 = (DISPLAY_REG_BASE + 0x00); //LUT0 Engine Width Height Reg [INFO] [stdout] 82 + static LUT0EWHR: u16 = DISPLAY_REG_BASE + 0x00; //LUT0 Engine Width Height Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:83:23 [INFO] [stdout] | [INFO] [stdout] 83 | static LUT0XYR: u16 = (DISPLAY_REG_BASE + 0x40); //LUT0 XY Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 83 - static LUT0XYR: u16 = (DISPLAY_REG_BASE + 0x40); //LUT0 XY Reg [INFO] [stdout] 83 + static LUT0XYR: u16 = DISPLAY_REG_BASE + 0x40; //LUT0 XY Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:84:25 [INFO] [stdout] | [INFO] [stdout] 84 | static LUT0BADDR: u16 = (DISPLAY_REG_BASE + 0x80); //LUT0 Base Address Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 84 - static LUT0BADDR: u16 = (DISPLAY_REG_BASE + 0x80); //LUT0 Base Address Reg [INFO] [stdout] 84 + static LUT0BADDR: u16 = DISPLAY_REG_BASE + 0x80; //LUT0 Base Address Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:85:23 [INFO] [stdout] | [INFO] [stdout] 85 | static LUT0MFN: u16 = (DISPLAY_REG_BASE + 0xC0); //LUT0 Mode and Frame number Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 85 - static LUT0MFN: u16 = (DISPLAY_REG_BASE + 0xC0); //LUT0 Mode and Frame number Reg [INFO] [stdout] 85 + static LUT0MFN: u16 = DISPLAY_REG_BASE + 0xC0; //LUT0 Mode and Frame number Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:86:23 [INFO] [stdout] | [INFO] [stdout] 86 | static LUT01AF: u16 = (DISPLAY_REG_BASE + 0x114); //LUT0 and LUT1 Active Flag Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 86 - static LUT01AF: u16 = (DISPLAY_REG_BASE + 0x114); //LUT0 and LUT1 Active Flag Reg [INFO] [stdout] 86 + static LUT01AF: u16 = DISPLAY_REG_BASE + 0x114; //LUT0 and LUT1 Active Flag Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:88:21 [INFO] [stdout] | [INFO] [stdout] 88 | static UP0SR: u16 = (DISPLAY_REG_BASE + 0x134); //Update Parameter0 Setting Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 88 - static UP0SR: u16 = (DISPLAY_REG_BASE + 0x134); //Update Parameter0 Setting Reg [INFO] [stdout] 88 + static UP0SR: u16 = DISPLAY_REG_BASE + 0x134; //Update Parameter0 Setting Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | static UP1SR: u16 = (DISPLAY_REG_BASE + 0x138); //Update Parameter1 Setting Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 90 - static UP1SR: u16 = (DISPLAY_REG_BASE + 0x138); //Update Parameter1 Setting Reg [INFO] [stdout] 90 + static UP1SR: u16 = DISPLAY_REG_BASE + 0x138; //Update Parameter1 Setting Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:91:25 [INFO] [stdout] | [INFO] [stdout] 91 | static LUT0ABFRV: u16 = (DISPLAY_REG_BASE + 0x13C); //LUT0 Alpha blend and Fill rectangle Value [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 91 - static LUT0ABFRV: u16 = (DISPLAY_REG_BASE + 0x13C); //LUT0 Alpha blend and Fill rectangle Value [INFO] [stdout] 91 + static LUT0ABFRV: u16 = DISPLAY_REG_BASE + 0x13C; //LUT0 Alpha blend and Fill rectangle Value [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:92:24 [INFO] [stdout] | [INFO] [stdout] 92 | static UPBBADDR: u16 = (DISPLAY_REG_BASE + 0x17C); //Update Buffer Base Address [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 92 - static UPBBADDR: u16 = (DISPLAY_REG_BASE + 0x17C); //Update Buffer Base Address [INFO] [stdout] 92 + static UPBBADDR: u16 = DISPLAY_REG_BASE + 0x17C; //Update Buffer Base Address [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:93:24 [INFO] [stdout] | [INFO] [stdout] 93 | static LUT0IMXY: u16 = (DISPLAY_REG_BASE + 0x180); //LUT0 Image buffer X/Y offset Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 93 - static LUT0IMXY: u16 = (DISPLAY_REG_BASE + 0x180); //LUT0 Image buffer X/Y offset Reg [INFO] [stdout] 93 + static LUT0IMXY: u16 = DISPLAY_REG_BASE + 0x180; //LUT0 Image buffer X/Y offset Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:94:23 [INFO] [stdout] | [INFO] [stdout] 94 | static LUTAFSR: u16 = (DISPLAY_REG_BASE + 0x224); //LUT Status Reg (status of All LUT Engines) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 94 - static LUTAFSR: u16 = (DISPLAY_REG_BASE + 0x224); //LUT Status Reg (status of All LUT Engines) [INFO] [stdout] 94 + static LUTAFSR: u16 = DISPLAY_REG_BASE + 0x224; //LUT Status Reg (status of All LUT Engines) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:95:20 [INFO] [stdout] | [INFO] [stdout] 95 | static BGVR: u16 = (DISPLAY_REG_BASE + 0x250); //Bitmap (1bpp) image color table [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 95 - static BGVR: u16 = (DISPLAY_REG_BASE + 0x250); //Bitmap (1bpp) image color table [INFO] [stdout] 95 + static BGVR: u16 = DISPLAY_REG_BASE + 0x250; //Bitmap (1bpp) image color table [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:100:23 [INFO] [stdout] | [INFO] [stdout] 100 | static I80CPCR: u16 = (SYS_REG_BASE + 0x04); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 100 - static I80CPCR: u16 = (SYS_REG_BASE + 0x04); [INFO] [stdout] 100 + static I80CPCR: u16 = SYS_REG_BASE + 0x04; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:103:20 [INFO] [stdout] | [INFO] [stdout] 103 | static MCSR: u16 = (MCSR_BASE_ADDR + 0x0000); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 103 - static MCSR: u16 = (MCSR_BASE_ADDR + 0x0000); [INFO] [stdout] 103 + static MCSR: u16 = MCSR_BASE_ADDR + 0x0000; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | static LISAR: u16 = (MCSR_BASE_ADDR + 0x0008); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 104 - static LISAR: u16 = (MCSR_BASE_ADDR + 0x0008); [INFO] [stdout] 104 + static LISAR: u16 = MCSR_BASE_ADDR + 0x0008; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/eink_interface.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/eink_interface.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x11cap::Image` [INFO] [stdout] --> src/eink_interface.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use x11cap::Image; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time` [INFO] [stdout] --> src/it8951.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/it8951.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/bcm_interface.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/bcm_interface.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::os::raw::c_char` [INFO] [stdout] --> src/bcm_interface.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::os::raw::c_char; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x11cap::Image` [INFO] [stdout] --> src/bcm_interface.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use x11cap::Image; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:82:24 [INFO] [stdout] | [INFO] [stdout] 82 | static LUT0EWHR: u16 = (DISPLAY_REG_BASE + 0x00); //LUT0 Engine Width Height Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 82 - static LUT0EWHR: u16 = (DISPLAY_REG_BASE + 0x00); //LUT0 Engine Width Height Reg [INFO] [stdout] 82 + static LUT0EWHR: u16 = DISPLAY_REG_BASE + 0x00; //LUT0 Engine Width Height Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:83:23 [INFO] [stdout] | [INFO] [stdout] 83 | static LUT0XYR: u16 = (DISPLAY_REG_BASE + 0x40); //LUT0 XY Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 83 - static LUT0XYR: u16 = (DISPLAY_REG_BASE + 0x40); //LUT0 XY Reg [INFO] [stdout] 83 + static LUT0XYR: u16 = DISPLAY_REG_BASE + 0x40; //LUT0 XY Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:84:25 [INFO] [stdout] | [INFO] [stdout] 84 | static LUT0BADDR: u16 = (DISPLAY_REG_BASE + 0x80); //LUT0 Base Address Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 84 - static LUT0BADDR: u16 = (DISPLAY_REG_BASE + 0x80); //LUT0 Base Address Reg [INFO] [stdout] 84 + static LUT0BADDR: u16 = DISPLAY_REG_BASE + 0x80; //LUT0 Base Address Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:85:23 [INFO] [stdout] | [INFO] [stdout] 85 | static LUT0MFN: u16 = (DISPLAY_REG_BASE + 0xC0); //LUT0 Mode and Frame number Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 85 - static LUT0MFN: u16 = (DISPLAY_REG_BASE + 0xC0); //LUT0 Mode and Frame number Reg [INFO] [stdout] 85 + static LUT0MFN: u16 = DISPLAY_REG_BASE + 0xC0; //LUT0 Mode and Frame number Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:86:23 [INFO] [stdout] | [INFO] [stdout] 86 | static LUT01AF: u16 = (DISPLAY_REG_BASE + 0x114); //LUT0 and LUT1 Active Flag Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 86 - static LUT01AF: u16 = (DISPLAY_REG_BASE + 0x114); //LUT0 and LUT1 Active Flag Reg [INFO] [stdout] 86 + static LUT01AF: u16 = DISPLAY_REG_BASE + 0x114; //LUT0 and LUT1 Active Flag Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:88:21 [INFO] [stdout] | [INFO] [stdout] 88 | static UP0SR: u16 = (DISPLAY_REG_BASE + 0x134); //Update Parameter0 Setting Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 88 - static UP0SR: u16 = (DISPLAY_REG_BASE + 0x134); //Update Parameter0 Setting Reg [INFO] [stdout] 88 + static UP0SR: u16 = DISPLAY_REG_BASE + 0x134; //Update Parameter0 Setting Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | static UP1SR: u16 = (DISPLAY_REG_BASE + 0x138); //Update Parameter1 Setting Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 90 - static UP1SR: u16 = (DISPLAY_REG_BASE + 0x138); //Update Parameter1 Setting Reg [INFO] [stdout] 90 + static UP1SR: u16 = DISPLAY_REG_BASE + 0x138; //Update Parameter1 Setting Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:91:25 [INFO] [stdout] | [INFO] [stdout] 91 | static LUT0ABFRV: u16 = (DISPLAY_REG_BASE + 0x13C); //LUT0 Alpha blend and Fill rectangle Value [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 91 - static LUT0ABFRV: u16 = (DISPLAY_REG_BASE + 0x13C); //LUT0 Alpha blend and Fill rectangle Value [INFO] [stdout] 91 + static LUT0ABFRV: u16 = DISPLAY_REG_BASE + 0x13C; //LUT0 Alpha blend and Fill rectangle Value [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:92:24 [INFO] [stdout] | [INFO] [stdout] 92 | static UPBBADDR: u16 = (DISPLAY_REG_BASE + 0x17C); //Update Buffer Base Address [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 92 - static UPBBADDR: u16 = (DISPLAY_REG_BASE + 0x17C); //Update Buffer Base Address [INFO] [stdout] 92 + static UPBBADDR: u16 = DISPLAY_REG_BASE + 0x17C; //Update Buffer Base Address [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:93:24 [INFO] [stdout] | [INFO] [stdout] 93 | static LUT0IMXY: u16 = (DISPLAY_REG_BASE + 0x180); //LUT0 Image buffer X/Y offset Reg [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 93 - static LUT0IMXY: u16 = (DISPLAY_REG_BASE + 0x180); //LUT0 Image buffer X/Y offset Reg [INFO] [stdout] 93 + static LUT0IMXY: u16 = DISPLAY_REG_BASE + 0x180; //LUT0 Image buffer X/Y offset Reg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:94:23 [INFO] [stdout] | [INFO] [stdout] 94 | static LUTAFSR: u16 = (DISPLAY_REG_BASE + 0x224); //LUT Status Reg (status of All LUT Engines) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 94 - static LUTAFSR: u16 = (DISPLAY_REG_BASE + 0x224); //LUT Status Reg (status of All LUT Engines) [INFO] [stdout] 94 + static LUTAFSR: u16 = DISPLAY_REG_BASE + 0x224; //LUT Status Reg (status of All LUT Engines) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:95:20 [INFO] [stdout] | [INFO] [stdout] 95 | static BGVR: u16 = (DISPLAY_REG_BASE + 0x250); //Bitmap (1bpp) image color table [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 95 - static BGVR: u16 = (DISPLAY_REG_BASE + 0x250); //Bitmap (1bpp) image color table [INFO] [stdout] 95 + static BGVR: u16 = DISPLAY_REG_BASE + 0x250; //Bitmap (1bpp) image color table [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:100:23 [INFO] [stdout] | [INFO] [stdout] 100 | static I80CPCR: u16 = (SYS_REG_BASE + 0x04); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 100 - static I80CPCR: u16 = (SYS_REG_BASE + 0x04); [INFO] [stdout] 100 + static I80CPCR: u16 = SYS_REG_BASE + 0x04; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:103:20 [INFO] [stdout] | [INFO] [stdout] 103 | static MCSR: u16 = (MCSR_BASE_ADDR + 0x0000); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 103 - static MCSR: u16 = (MCSR_BASE_ADDR + 0x0000); [INFO] [stdout] 103 + static MCSR: u16 = MCSR_BASE_ADDR + 0x0000; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/it8951.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | static LISAR: u16 = (MCSR_BASE_ADDR + 0x0008); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 104 - static LISAR: u16 = (MCSR_BASE_ADDR + 0x0008); [INFO] [stdout] 104 + static LISAR: u16 = MCSR_BASE_ADDR + 0x0008; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/it8951.rs:126:36 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn new() -> Result> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 126 | pub fn new() -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/it8951.rs:163:33 [INFO] [stdout] | [INFO] [stdout] 163 | fn init() -> Result> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 163 | fn init() -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/it8951.rs:206:54 [INFO] [stdout] | [INFO] [stdout] 206 | fn get_system_info(&self) -> Result> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 206 | fn get_system_info(&self) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/it8951.rs:126:36 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn new() -> Result> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 126 | pub fn new() -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/it8951.rs:163:33 [INFO] [stdout] | [INFO] [stdout] 163 | fn init() -> Result> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 163 | fn init() -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/it8951.rs:206:54 [INFO] [stdout] | [INFO] [stdout] 206 | fn get_system_info(&self) -> Result> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 206 | fn get_system_info(&self) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:56:43 [INFO] [stdout] | [INFO] [stdout] 56 | let interface: Result> = it8951::IT::new(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 56 | let interface: Result> = it8951::IT::new(); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `read_data` is never read [INFO] [stdout] --> src/it8951.rs:349:17 [INFO] [stdout] | [INFO] [stdout] 349 | let mut read_data: u16 = self._bcm_interface.bcm2835_spi_transfer(0x00) as u16; //dummy [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `read_data` is never read [INFO] [stdout] --> src/it8951.rs:350:9 [INFO] [stdout] | [INFO] [stdout] 350 | read_data = self._bcm_interface.bcm2835_spi_transfer(0x00) as u16; //dummy [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/imagery.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | let mut imagery = Imagery { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `old_slice` is never read [INFO] [stdout] --> src/imagery.rs:107:15 [INFO] [stdout] | [INFO] [stdout] 107 | let mut old_slice: &[Bgr8] = &[]; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `white_vec` is never read [INFO] [stdout] --> src/imagery.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | let mut white_vec: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/imagery.rs:242:9 [INFO] [stdout] | [INFO] [stdout] 242 | mut interface: eink_interface::Interface, [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:56:43 [INFO] [stdout] | [INFO] [stdout] 56 | let interface: Result> = it8951::IT::new(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 56 | let interface: Result> = it8951::IT::new(); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:190:43 [INFO] [stdout] | [INFO] [stdout] 190 | let interface: Result> = it8951::IT::new(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 190 | let interface: Result> = it8951::IT::new(); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/main.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | let now = Instant::now(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/main.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | let a = now2.elapsed().as_millis(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r1` [INFO] [stdout] --> src/main.rs:133:17 [INFO] [stdout] | [INFO] [stdout] 133 | let r1 = now2.elapsed().as_millis(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_r1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r2` [INFO] [stdout] --> src/main.rs:136:17 [INFO] [stdout] | [INFO] [stdout] 136 | let r2 = now2.elapsed().as_millis(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_r2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/main.rs:139:17 [INFO] [stdout] | [INFO] [stdout] 139 | let b = now2.elapsed().as_millis(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `read_data` is never read [INFO] [stdout] --> src/it8951.rs:349:17 [INFO] [stdout] | [INFO] [stdout] 349 | let mut read_data: u16 = self._bcm_interface.bcm2835_spi_transfer(0x00) as u16; //dummy [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `read_data` is never read [INFO] [stdout] --> src/it8951.rs:350:9 [INFO] [stdout] | [INFO] [stdout] 350 | read_data = self._bcm_interface.bcm2835_spi_transfer(0x00) as u16; //dummy [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_buffer` is never used [INFO] [stdout] --> src/main.rs:151:4 [INFO] [stdout] | [INFO] [stdout] 151 | fn draw_buffer(area: &Area, grey_vec: &Vec, mut interface: it8951::IT) -> it8951::IT { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `get_slice_adapted_to_eink_size`, `transform_to_grey`, and `draw_buffer_4bpp` are never used [INFO] [stdout] --> src/imagery.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Imagery { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn get_slice_adapted_to_eink_size(&self, image: &Option) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn transform_to_grey(bgr_vec: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | fn draw_buffer_4bpp( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Interface` is never constructed [INFO] [stdout] --> src/eink_interface.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct Interface { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `init`, `display`, `draw_buffer_pixel`, and `load_image` are never used [INFO] [stdout] --> src/eink_interface.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Interface { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 32 | pub fn new() -> Interface { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | fn init() -> Container { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn display(&self, x: u16, y: u16, rect_width: u16, rect_height: u16) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn draw_buffer_pixel(&self, x: u16, y: u16, width: u16, color: u8){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn load_image(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CS` is never used [INFO] [stdout] --> src/it8951.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static CS: u8 = 8; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `HRDY` is never used [INFO] [stdout] --> src/it8951.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | static HRDY: u8 = 24; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `RESET` is never used [INFO] [stdout] --> src/it8951.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | static RESET: u8 = 17; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `VCOM` is never used [INFO] [stdout] --> src/it8951.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | static VCOM: u16 = 1610; //e.g. -1.53 = 1530 = 0x5FA [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BCM2835_SPI_BIT_ORDER_MSBFIRST` is never used [INFO] [stdout] --> src/it8951.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | static BCM2835_SPI_BIT_ORDER_MSBFIRST: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BCM2835_SPI_MODE0` is never used [INFO] [stdout] --> src/it8951.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | static BCM2835_SPI_MODE0: u8 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BCM2835_SPI_CLOCK_DIVIDER_32` is never used [INFO] [stdout] --> src/it8951.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | static BCM2835_SPI_CLOCK_DIVIDER_32: u16 = 32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BCM2835_GPIO_FSEL_OUTP` is never used [INFO] [stdout] --> src/it8951.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | static BCM2835_GPIO_FSEL_OUTP: u8 = 0x01; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BCM2835_GPIO_FSEL_INPT` is never used [INFO] [stdout] --> src/it8951.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | static BCM2835_GPIO_FSEL_INPT: u8 = 0x00; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `HIGH` is never used [INFO] [stdout] --> src/it8951.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | static HIGH: u8 = 0x1; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LOW` is never used [INFO] [stdout] --> src/it8951.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | static LOW: u8 = 0x0; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_SYS_RUN` is never used [INFO] [stdout] --> src/it8951.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | static IT8951_TCON_SYS_RUN: u16 = 0x0001; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_STANDBY` is never used [INFO] [stdout] --> src/it8951.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | static IT8951_TCON_STANDBY: u16 = 0x0002; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_SLEEP` is never used [INFO] [stdout] --> src/it8951.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | static IT8951_TCON_SLEEP: u16 = 0x0003; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_REG_RD` is never used [INFO] [stdout] --> src/it8951.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | static IT8951_TCON_REG_RD: u16 = 0x0010; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_REG_WR` is never used [INFO] [stdout] --> src/it8951.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | static IT8951_TCON_REG_WR: u16 = 0x0011; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_MEM_BST_RD_T` is never used [INFO] [stdout] --> src/it8951.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | static IT8951_TCON_MEM_BST_RD_T: u16 = 0x0012; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_MEM_BST_RD_S` is never used [INFO] [stdout] --> src/it8951.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | static IT8951_TCON_MEM_BST_RD_S: u16 = 0x0013; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_MEM_BST_WR` is never used [INFO] [stdout] --> src/it8951.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | static IT8951_TCON_MEM_BST_WR: u16 = 0x0014; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_MEM_BST_END` is never used [INFO] [stdout] --> src/it8951.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | static IT8951_TCON_MEM_BST_END: u16 = 0x0015; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_LD_IMG` is never used [INFO] [stdout] --> src/it8951.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | static IT8951_TCON_LD_IMG: u16 = 0x0020; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_LD_IMG_AREA` is never used [INFO] [stdout] --> src/it8951.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | static IT8951_TCON_LD_IMG_AREA: u16 = 0x0021; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_LD_IMG_END` is never used [INFO] [stdout] --> src/it8951.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | static IT8951_TCON_LD_IMG_END: u16 = 0x0022; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `USDEF_I80_CMD_DPY_AREA` is never used [INFO] [stdout] --> src/it8951.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | static USDEF_I80_CMD_DPY_AREA: u16 = 0x0034; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `USDEF_I80_CMD_GET_DEV_INFO` is never used [INFO] [stdout] --> src/it8951.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | static USDEF_I80_CMD_GET_DEV_INFO: u16 = 0x0302; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `USDEF_I80_CMD_DPY_BUF_AREA` is never used [INFO] [stdout] --> src/it8951.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | static USDEF_I80_CMD_DPY_BUF_AREA: u16 = 0x0037; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `USDEF_I80_CMD_VCOM` is never used [INFO] [stdout] --> src/it8951.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | static USDEF_I80_CMD_VCOM: u16 = 0x0039; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_PANEL_WIDTH` is never used [INFO] [stdout] --> src/it8951.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | static IT8951_PANEL_WIDTH: u16 = 1024; //it Get Device information [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_PANEL_HEIGHT` is never used [INFO] [stdout] --> src/it8951.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | static IT8951_PANEL_HEIGHT: u16 = 758; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_ROTATE_0` is never used [INFO] [stdout] --> src/it8951.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | static IT8951_ROTATE_0: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_ROTATE_90` is never used [INFO] [stdout] --> src/it8951.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | static IT8951_ROTATE_90: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_ROTATE_180` is never used [INFO] [stdout] --> src/it8951.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | static IT8951_ROTATE_180: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_ROTATE_270` is never used [INFO] [stdout] --> src/it8951.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | static IT8951_ROTATE_270: u16 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_2BPP` is never used [INFO] [stdout] --> src/it8951.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | static IT8951_2BPP: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_3BPP` is never used [INFO] [stdout] --> src/it8951.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | static IT8951_3BPP: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_4BPP` is never used [INFO] [stdout] --> src/it8951.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | static IT8951_4BPP: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_8BPP` is never used [INFO] [stdout] --> src/it8951.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | static IT8951_8BPP: u16 = 3; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_MODE_0` is never used [INFO] [stdout] --> src/it8951.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | static IT8951_MODE_0: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_MODE_1` is never used [INFO] [stdout] --> src/it8951.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | static IT8951_MODE_1: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_MODE_2` is never used [INFO] [stdout] --> src/it8951.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | static IT8951_MODE_2: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_MODE_3` is never used [INFO] [stdout] --> src/it8951.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | static IT8951_MODE_3: u16 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_MODE_4` is never used [INFO] [stdout] --> src/it8951.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | static IT8951_MODE_4: u16 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_LDIMG_L_ENDIAN` is never used [INFO] [stdout] --> src/it8951.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 68 | static IT8951_LDIMG_L_ENDIAN: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_LDIMG_B_ENDIAN` is never used [INFO] [stdout] --> src/it8951.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | static IT8951_LDIMG_B_ENDIAN: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_DIS_AUTO_LUT` is never used [INFO] [stdout] --> src/it8951.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | static IT8951_DIS_AUTO_LUT: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_EN_AUTO_LUT` is never used [INFO] [stdout] --> src/it8951.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | static IT8951_EN_AUTO_LUT: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_ALL_LUTE_BUSY` is never used [INFO] [stdout] --> src/it8951.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | static IT8951_ALL_LUTE_BUSY: u16 = 0xFFFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DISPLAY_REG_BASE` is never used [INFO] [stdout] --> src/it8951.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | static DISPLAY_REG_BASE: u16 = 0x1000; //Register RW access for I80 only [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0EWHR` is never used [INFO] [stdout] --> src/it8951.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | static LUT0EWHR: u16 = (DISPLAY_REG_BASE + 0x00); //LUT0 Engine Width Height Reg [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0XYR` is never used [INFO] [stdout] --> src/it8951.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | static LUT0XYR: u16 = (DISPLAY_REG_BASE + 0x40); //LUT0 XY Reg [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0BADDR` is never used [INFO] [stdout] --> src/it8951.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 84 | static LUT0BADDR: u16 = (DISPLAY_REG_BASE + 0x80); //LUT0 Base Address Reg [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0MFN` is never used [INFO] [stdout] --> src/it8951.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | static LUT0MFN: u16 = (DISPLAY_REG_BASE + 0xC0); //LUT0 Mode and Frame number Reg [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT01AF` is never used [INFO] [stdout] --> src/it8951.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | static LUT01AF: u16 = (DISPLAY_REG_BASE + 0x114); //LUT0 and LUT1 Active Flag Reg [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `UP0SR` is never used [INFO] [stdout] --> src/it8951.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | static UP0SR: u16 = (DISPLAY_REG_BASE + 0x134); //Update Parameter0 Setting Reg [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `UP1SR` is never used [INFO] [stdout] --> src/it8951.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | static UP1SR: u16 = (DISPLAY_REG_BASE + 0x138); //Update Parameter1 Setting Reg [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0ABFRV` is never used [INFO] [stdout] --> src/it8951.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 91 | static LUT0ABFRV: u16 = (DISPLAY_REG_BASE + 0x13C); //LUT0 Alpha blend and Fill rectangle Value [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `UPBBADDR` is never used [INFO] [stdout] --> src/it8951.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 92 | static UPBBADDR: u16 = (DISPLAY_REG_BASE + 0x17C); //Update Buffer Base Address [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0IMXY` is never used [INFO] [stdout] --> src/it8951.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | static LUT0IMXY: u16 = (DISPLAY_REG_BASE + 0x180); //LUT0 Image buffer X/Y offset Reg [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUTAFSR` is never used [INFO] [stdout] --> src/it8951.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | static LUTAFSR: u16 = (DISPLAY_REG_BASE + 0x224); //LUT Status Reg (status of All LUT Engines) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BGVR` is never used [INFO] [stdout] --> src/it8951.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | static BGVR: u16 = (DISPLAY_REG_BASE + 0x250); //Bitmap (1bpp) image color table [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `SYS_REG_BASE` is never used [INFO] [stdout] --> src/it8951.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | static SYS_REG_BASE: u16 = 0x0000; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `I80CPCR` is never used [INFO] [stdout] --> src/it8951.rs:100:8 [INFO] [stdout] | [INFO] [stdout] 100 | static I80CPCR: u16 = (SYS_REG_BASE + 0x04); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MCSR_BASE_ADDR` is never used [INFO] [stdout] --> src/it8951.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | static MCSR_BASE_ADDR: u16 = 0x0200; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MCSR` is never used [INFO] [stdout] --> src/it8951.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | static MCSR: u16 = (MCSR_BASE_ADDR + 0x0000); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LISAR` is never used [INFO] [stdout] --> src/it8951.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | static LISAR: u16 = (MCSR_BASE_ADDR + 0x0008); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/it8951.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 125 | impl IT { [INFO] [stdout] | ------- associated items in this implementation [INFO] [stdout] 126 | pub fn new() -> Result> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | fn init() -> Result> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn size(&self) -> (u16, u16) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | fn get_system_info(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | fn read_reg(&self, reg_address: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | fn write_reg(&self, reg_address: u16, value: u16) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | fn get_VCOM(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | fn set_VCOM(&self, vcom: u16) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | fn lcd_write_cmd_code(&self, cmd_code: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | fn lcd_send_cmd_arg(&self, cmd_code: u16, arg: [u16; 5], arg_number: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | fn lcd_write_data(&self, data: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 308 | fn lcd_write_n_data(&self, word_count: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 338 | fn lcd_read_data(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 360 | fn lcd_read_n_data(&self, word_count: u32) -> Box<[u16]> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 390 | fn lcd_wait_for_ready(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 397 | fn load_image_area_start(&self, load_image_info: &LdImgInfo, area_image_info: &AreaImgInfo) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 411 | fn load_image_end(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 415 | fn write_host_area_packed_pixel( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 432 | fn wait_for_display_ready(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 436 | fn display_area(&self, x: u16, y: u16, width: u16, height: u16, dpy_mode: u16) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 447 | pub fn display(&self, x: u16, y: u16, rect_width: u16, rect_height: u16) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 485 | pub fn draw_buffer_pixel(&mut self, x: u16, y: u16, width: u16, color: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 491 | pub fn load_buffer_from_vec(&mut self, grey_vec: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LdImgInfo` is never constructed [INFO] [stdout] --> src/it8951.rs:496:8 [INFO] [stdout] | [INFO] [stdout] 496 | struct LdImgInfo { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AreaImgInfo` is never constructed [INFO] [stdout] --> src/it8951.rs:504:8 [INFO] [stdout] | [INFO] [stdout] 504 | struct AreaImgInfo { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `api` is never read [INFO] [stdout] --> src/bcm_interface.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct BCM { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 34 | api: Container, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/bcm_interface.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl BCM { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> BCM { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | fn init() -> Container { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn bcm2835_init(&self) -> Result{ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn bcm2835_spi_begin(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn bcm2835_spi_setBitOrder(&self, order: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn bcm2835_spi_setDataMode(&self, mode: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn bcm2835_spi_setClockDivider(&self, divider: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn bcm2835_gpio_fsel(&self, pin: u8, mode: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn bcm2835_gpio_write(&self, pin: u8, on: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn bcm2835_delay(&self, millis: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn bcm2835_spi_end(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn bcm2835_close(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn bcm2835_spi_transfer(&self, value: u8) -> u8{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn bcm2835_gpio_lev(&self, pin: u8) -> u8{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `read_reg` and `wait_for_display_ready` are never used [INFO] [stdout] --> src/it8951.rs:232:8 [INFO] [stdout] | [INFO] [stdout] 125 | impl IT { [INFO] [stdout] | ------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 232 | fn read_reg(&self, reg_address: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 432 | fn wait_for_display_ready(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `bcm2835_spi_end` and `bcm2835_close` are never used [INFO] [stdout] --> src/bcm_interface.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl BCM { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn bcm2835_spi_end(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn bcm2835_close(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951_Init` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | IT8951_Init: unsafe extern "C" fn() -> u8, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_init` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951_GUI_Example` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | IT8951_GUI_Example: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_gui_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951Display1bppExample` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | IT8951Display1bppExample: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_display1bpp_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951_GUI_Example2` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | IT8951_GUI_Example2: [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_gui_example2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951DisplayExample2` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | IT8951DisplayExample2: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_display_example2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951_BMP_Example` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | IT8951_BMP_Example: unsafe extern "C" fn(x: u32, y: u32, path: *const c_char), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_bmp_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `drawBufferPixel` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | drawBufferPixel: unsafe extern "C" fn(x: u16, y: u16, width: u16, color: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `draw_buffer_pixel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951_Init` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | IT8951_Init: unsafe extern "C" fn() -> u8, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_init` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951_GUI_Example` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | IT8951_GUI_Example: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_gui_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951Display1bppExample` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | IT8951Display1bppExample: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_display1bpp_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951_GUI_Example2` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | IT8951_GUI_Example2: [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_gui_example2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951DisplayExample2` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | IT8951DisplayExample2: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_display_example2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/imagery.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | let mut imagery = Imagery { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951_BMP_Example` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | IT8951_BMP_Example: unsafe extern "C" fn(x: u32, y: u32, path: *const c_char), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_bmp_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `drawBufferPixel` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | drawBufferPixel: unsafe extern "C" fn(x: u16, y: u16, width: u16, color: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `draw_buffer_pixel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/it8951.rs:192:12 [INFO] [stdout] | [INFO] [stdout] 164 | let bcm_interface: BCM = BCM::new(); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 192 | Ok(IT { [INFO] [stdout] | ____________^ [INFO] [stdout] 193 | | _bcm_interface: bcm_interface, [INFO] [stdout] 194 | | _dev_info: dev_info, [INFO] [stdout] 195 | | _frame_buffer: Vec::new(), [INFO] [stdout] 196 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_VCOM` should have a snake case name [INFO] [stdout] --> src/it8951.rs:246:8 [INFO] [stdout] | [INFO] [stdout] 246 | fn get_VCOM(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `get_vcom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_VCOM` should have a snake case name [INFO] [stdout] --> src/it8951.rs:253:8 [INFO] [stdout] | [INFO] [stdout] 253 | fn set_VCOM(&self, vcom: u16) { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `set_vcom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bcm2835_spi_setBitOrder` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | bcm2835_spi_setBitOrder: unsafe extern "C" fn(order: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_bit_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bcm2835_spi_setDataMode` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | bcm2835_spi_setDataMode: unsafe extern "C" fn(mode: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_data_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bcm2835_spi_setClockDivider` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | bcm2835_spi_setClockDivider: unsafe extern "C" fn(divider: u16), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_clock_divider` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setBitOrder` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | bcm2835_spi_setBitOrder: unsafe extern "C" fn(order: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_bit_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setDataMode` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | bcm2835_spi_setDataMode: unsafe extern "C" fn(mode: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_data_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setClockDivider` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | bcm2835_spi_setClockDivider: unsafe extern "C" fn(divider: u16), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_clock_divider` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setBitOrder` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn bcm2835_spi_setBitOrder(&self, order: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_bit_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setDataMode` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn bcm2835_spi_setDataMode(&self, mode: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_data_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setClockDivider` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn bcm2835_spi_setClockDivider(&self, divider: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_clock_divider` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `old_slice` is never read [INFO] [stdout] --> src/imagery.rs:107:15 [INFO] [stdout] | [INFO] [stdout] 107 | let mut old_slice: &[Bgr8] = &[]; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `white_vec` is never read [INFO] [stdout] --> src/imagery.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | let mut white_vec: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 142 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/imagery.rs:242:9 [INFO] [stdout] | [INFO] [stdout] 242 | mut interface: eink_interface::Interface, [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `ardoise` (bin "ardoise") due to 2 previous errors; 142 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused variable: `grey` [INFO] [stdout] --> src/imagery.rs:760:13 [INFO] [stdout] | [INFO] [stdout] 760 | for grey in grey_chunks.iter() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_grey` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/main.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | let now = Instant::now(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/main.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | let a = now2.elapsed().as_millis(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r1` [INFO] [stdout] --> src/main.rs:133:17 [INFO] [stdout] | [INFO] [stdout] 133 | let r1 = now2.elapsed().as_millis(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_r1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r2` [INFO] [stdout] --> src/main.rs:136:17 [INFO] [stdout] | [INFO] [stdout] 136 | let r2 = now2.elapsed().as_millis(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_r2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/main.rs:139:17 [INFO] [stdout] | [INFO] [stdout] 139 | let b = now2.elapsed().as_millis(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_buffer` is never used [INFO] [stdout] --> src/main.rs:151:4 [INFO] [stdout] | [INFO] [stdout] 151 | fn draw_buffer(area: &Area, grey_vec: &Vec, mut interface: it8951::IT) -> it8951::IT { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `get_slice_adapted_to_eink_size`, `transform_to_grey`, and `draw_buffer_4bpp` are never used [INFO] [stdout] --> src/imagery.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Imagery { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn get_slice_adapted_to_eink_size(&self, image: &Option) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn transform_to_grey(bgr_vec: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | fn draw_buffer_4bpp( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Interface` is never constructed [INFO] [stdout] --> src/eink_interface.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct Interface { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `init`, `display`, `draw_buffer_pixel`, and `load_image` are never used [INFO] [stdout] --> src/eink_interface.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Interface { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 32 | pub fn new() -> Interface { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | fn init() -> Container { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn display(&self, x: u16, y: u16, rect_width: u16, rect_height: u16) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn draw_buffer_pixel(&self, x: u16, y: u16, width: u16, color: u8){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn load_image(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_SYS_RUN` is never used [INFO] [stdout] --> src/it8951.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | static IT8951_TCON_SYS_RUN: u16 = 0x0001; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_STANDBY` is never used [INFO] [stdout] --> src/it8951.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | static IT8951_TCON_STANDBY: u16 = 0x0002; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_SLEEP` is never used [INFO] [stdout] --> src/it8951.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | static IT8951_TCON_SLEEP: u16 = 0x0003; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_REG_RD` is never used [INFO] [stdout] --> src/it8951.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | static IT8951_TCON_REG_RD: u16 = 0x0010; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_MEM_BST_RD_T` is never used [INFO] [stdout] --> src/it8951.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | static IT8951_TCON_MEM_BST_RD_T: u16 = 0x0012; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_MEM_BST_RD_S` is never used [INFO] [stdout] --> src/it8951.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | static IT8951_TCON_MEM_BST_RD_S: u16 = 0x0013; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_MEM_BST_WR` is never used [INFO] [stdout] --> src/it8951.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | static IT8951_TCON_MEM_BST_WR: u16 = 0x0014; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_MEM_BST_END` is never used [INFO] [stdout] --> src/it8951.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | static IT8951_TCON_MEM_BST_END: u16 = 0x0015; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_TCON_LD_IMG` is never used [INFO] [stdout] --> src/it8951.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | static IT8951_TCON_LD_IMG: u16 = 0x0020; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `USDEF_I80_CMD_DPY_BUF_AREA` is never used [INFO] [stdout] --> src/it8951.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | static USDEF_I80_CMD_DPY_BUF_AREA: u16 = 0x0037; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_PANEL_WIDTH` is never used [INFO] [stdout] --> src/it8951.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | static IT8951_PANEL_WIDTH: u16 = 1024; //it Get Device information [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_PANEL_HEIGHT` is never used [INFO] [stdout] --> src/it8951.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | static IT8951_PANEL_HEIGHT: u16 = 758; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_ROTATE_90` is never used [INFO] [stdout] --> src/it8951.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | static IT8951_ROTATE_90: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_ROTATE_180` is never used [INFO] [stdout] --> src/it8951.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | static IT8951_ROTATE_180: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_ROTATE_270` is never used [INFO] [stdout] --> src/it8951.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | static IT8951_ROTATE_270: u16 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_2BPP` is never used [INFO] [stdout] --> src/it8951.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | static IT8951_2BPP: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_3BPP` is never used [INFO] [stdout] --> src/it8951.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | static IT8951_3BPP: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_8BPP` is never used [INFO] [stdout] --> src/it8951.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | static IT8951_8BPP: u16 = 3; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_MODE_0` is never used [INFO] [stdout] --> src/it8951.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | static IT8951_MODE_0: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_MODE_1` is never used [INFO] [stdout] --> src/it8951.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | static IT8951_MODE_1: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_MODE_2` is never used [INFO] [stdout] --> src/it8951.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | static IT8951_MODE_2: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_MODE_3` is never used [INFO] [stdout] --> src/it8951.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | static IT8951_MODE_3: u16 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_MODE_4` is never used [INFO] [stdout] --> src/it8951.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | static IT8951_MODE_4: u16 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_LDIMG_B_ENDIAN` is never used [INFO] [stdout] --> src/it8951.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | static IT8951_LDIMG_B_ENDIAN: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_DIS_AUTO_LUT` is never used [INFO] [stdout] --> src/it8951.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | static IT8951_DIS_AUTO_LUT: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_EN_AUTO_LUT` is never used [INFO] [stdout] --> src/it8951.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | static IT8951_EN_AUTO_LUT: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `IT8951_ALL_LUTE_BUSY` is never used [INFO] [stdout] --> src/it8951.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | static IT8951_ALL_LUTE_BUSY: u16 = 0xFFFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DISPLAY_REG_BASE` is never used [INFO] [stdout] --> src/it8951.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | static DISPLAY_REG_BASE: u16 = 0x1000; //Register RW access for I80 only [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0EWHR` is never used [INFO] [stdout] --> src/it8951.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | static LUT0EWHR: u16 = (DISPLAY_REG_BASE + 0x00); //LUT0 Engine Width Height Reg [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0XYR` is never used [INFO] [stdout] --> src/it8951.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | static LUT0XYR: u16 = (DISPLAY_REG_BASE + 0x40); //LUT0 XY Reg [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0BADDR` is never used [INFO] [stdout] --> src/it8951.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 84 | static LUT0BADDR: u16 = (DISPLAY_REG_BASE + 0x80); //LUT0 Base Address Reg [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0MFN` is never used [INFO] [stdout] --> src/it8951.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | static LUT0MFN: u16 = (DISPLAY_REG_BASE + 0xC0); //LUT0 Mode and Frame number Reg [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT01AF` is never used [INFO] [stdout] --> src/it8951.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | static LUT01AF: u16 = (DISPLAY_REG_BASE + 0x114); //LUT0 and LUT1 Active Flag Reg [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `UP0SR` is never used [INFO] [stdout] --> src/it8951.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | static UP0SR: u16 = (DISPLAY_REG_BASE + 0x134); //Update Parameter0 Setting Reg [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `UP1SR` is never used [INFO] [stdout] --> src/it8951.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | static UP1SR: u16 = (DISPLAY_REG_BASE + 0x138); //Update Parameter1 Setting Reg [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0ABFRV` is never used [INFO] [stdout] --> src/it8951.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 91 | static LUT0ABFRV: u16 = (DISPLAY_REG_BASE + 0x13C); //LUT0 Alpha blend and Fill rectangle Value [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `UPBBADDR` is never used [INFO] [stdout] --> src/it8951.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 92 | static UPBBADDR: u16 = (DISPLAY_REG_BASE + 0x17C); //Update Buffer Base Address [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUT0IMXY` is never used [INFO] [stdout] --> src/it8951.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | static LUT0IMXY: u16 = (DISPLAY_REG_BASE + 0x180); //LUT0 Image buffer X/Y offset Reg [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LUTAFSR` is never used [INFO] [stdout] --> src/it8951.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | static LUTAFSR: u16 = (DISPLAY_REG_BASE + 0x224); //LUT Status Reg (status of All LUT Engines) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BGVR` is never used [INFO] [stdout] --> src/it8951.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | static BGVR: u16 = (DISPLAY_REG_BASE + 0x250); //Bitmap (1bpp) image color table [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MCSR_BASE_ADDR` is never used [INFO] [stdout] --> src/it8951.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | static MCSR_BASE_ADDR: u16 = 0x0200; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MCSR` is never used [INFO] [stdout] --> src/it8951.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | static MCSR: u16 = (MCSR_BASE_ADDR + 0x0000); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LISAR` is never used [INFO] [stdout] --> src/it8951.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | static LISAR: u16 = (MCSR_BASE_ADDR + 0x0008); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `size`, `read_reg`, `wait_for_display_ready`, and `draw_buffer_pixel` are never used [INFO] [stdout] --> src/it8951.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 125 | impl IT { [INFO] [stdout] | ------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn size(&self) -> (u16, u16) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | fn read_reg(&self, reg_address: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 432 | fn wait_for_display_ready(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 485 | pub fn draw_buffer_pixel(&mut self, x: u16, y: u16, width: u16, color: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `bcm2835_spi_end` and `bcm2835_close` are never used [INFO] [stdout] --> src/bcm_interface.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl BCM { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn bcm2835_spi_end(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn bcm2835_close(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `read_reg` and `wait_for_display_ready` are never used [INFO] [stdout] --> src/it8951.rs:232:8 [INFO] [stdout] | [INFO] [stdout] 125 | impl IT { [INFO] [stdout] | ------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 232 | fn read_reg(&self, reg_address: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 432 | fn wait_for_display_ready(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951_Init` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | IT8951_Init: unsafe extern "C" fn() -> u8, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_init` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951_GUI_Example` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | IT8951_GUI_Example: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_gui_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951Display1bppExample` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | IT8951Display1bppExample: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_display1bpp_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951_GUI_Example2` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | IT8951_GUI_Example2: [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_gui_example2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951DisplayExample2` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | IT8951DisplayExample2: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_display_example2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IT8951_BMP_Example` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | IT8951_BMP_Example: unsafe extern "C" fn(x: u32, y: u32, path: *const c_char), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_bmp_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `drawBufferPixel` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | drawBufferPixel: unsafe extern "C" fn(x: u16, y: u16, width: u16, color: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `draw_buffer_pixel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951_Init` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | IT8951_Init: unsafe extern "C" fn() -> u8, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_init` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951_GUI_Example` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | IT8951_GUI_Example: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_gui_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951Display1bppExample` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | IT8951Display1bppExample: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_display1bpp_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951_GUI_Example2` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | IT8951_GUI_Example2: [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_gui_example2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951DisplayExample2` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | IT8951DisplayExample2: unsafe extern "C" fn(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_display_example2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `IT8951_BMP_Example` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | IT8951_BMP_Example: unsafe extern "C" fn(x: u32, y: u32, path: *const c_char), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it8951_bmp_example` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `drawBufferPixel` should have a snake case name [INFO] [stdout] --> src/eink_interface.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | drawBufferPixel: unsafe extern "C" fn(x: u16, y: u16, width: u16, color: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `draw_buffer_pixel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/it8951.rs:192:12 [INFO] [stdout] | [INFO] [stdout] 164 | let bcm_interface: BCM = BCM::new(); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 192 | Ok(IT { [INFO] [stdout] | ____________^ [INFO] [stdout] 193 | | _bcm_interface: bcm_interface, [INFO] [stdout] 194 | | _dev_info: dev_info, [INFO] [stdout] 195 | | _frame_buffer: Vec::new(), [INFO] [stdout] 196 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_VCOM` should have a snake case name [INFO] [stdout] --> src/it8951.rs:246:8 [INFO] [stdout] | [INFO] [stdout] 246 | fn get_VCOM(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `get_vcom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_VCOM` should have a snake case name [INFO] [stdout] --> src/it8951.rs:253:8 [INFO] [stdout] | [INFO] [stdout] 253 | fn set_VCOM(&self, vcom: u16) { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `set_vcom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bcm2835_spi_setBitOrder` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | bcm2835_spi_setBitOrder: unsafe extern "C" fn(order: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_bit_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bcm2835_spi_setDataMode` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | bcm2835_spi_setDataMode: unsafe extern "C" fn(mode: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_data_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bcm2835_spi_setClockDivider` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | bcm2835_spi_setClockDivider: unsafe extern "C" fn(divider: u16), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_clock_divider` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setBitOrder` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | bcm2835_spi_setBitOrder: unsafe extern "C" fn(order: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_bit_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setDataMode` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | bcm2835_spi_setDataMode: unsafe extern "C" fn(mode: u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_data_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setClockDivider` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | bcm2835_spi_setClockDivider: unsafe extern "C" fn(divider: u16), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_clock_divider` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setBitOrder` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn bcm2835_spi_setBitOrder(&self, order: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_bit_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setDataMode` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn bcm2835_spi_setDataMode(&self, mode: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_data_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bcm2835_spi_setClockDivider` should have a snake case name [INFO] [stdout] --> src/bcm_interface.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn bcm2835_spi_setClockDivider(&self, divider: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bcm2835_spi_set_clock_divider` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 116 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `ardoise` (bin "ardoise" test) due to 2 previous errors; 116 warnings emitted [INFO] running `Command { std: "docker" "inspect" "6c0ea1ac05fd53bf7a2f4ae01de01682950c292635f49ff82a4fac63ddcd8bcf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6c0ea1ac05fd53bf7a2f4ae01de01682950c292635f49ff82a4fac63ddcd8bcf", kill_on_drop: false }` [INFO] [stdout] 6c0ea1ac05fd53bf7a2f4ae01de01682950c292635f49ff82a4fac63ddcd8bcf