[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#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjacquetc%2Fardoise" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[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-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jacquetc/ardoise on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded dlopen v0.1.8
[INFO] [stderr]   Downloaded captrs v0.3.0
[INFO] [stderr]   Downloaded wio v0.2.2
[INFO] [stderr]   Downloaded x11 v2.18.2
[INFO] [stderr]   Downloaded dxgcap v0.2.1
[INFO] [stderr]   Downloaded crc32fast v1.3.0
[INFO] [stderr]   Downloaded x11cap v0.4.1
[INFO] [stderr]   Downloaded custom_error v1.7.1
[INFO] [stderr]   Downloaded pkg-config v0.3.17
[INFO] [stderr]   Downloaded dlopen_derive v0.1.4
[INFO] [stderr]   Downloaded bytemuck v1.7.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bdef1ff2f63c345fa08421750ae85f500005c7da2f26d8207f83c656b0a02ea9
[INFO] running `Command { std: "docker" "start" "-a" "bdef1ff2f63c345fa08421750ae85f500005c7da2f26d8207f83c656b0a02ea9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bdef1ff2f63c345fa08421750ae85f500005c7da2f26d8207f83c656b0a02ea9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bdef1ff2f63c345fa08421750ae85f500005c7da2f26d8207f83c656b0a02ea9", kill_on_drop: false }`
[INFO] [stdout] bdef1ff2f63c345fa08421750ae85f500005c7da2f26d8207f83c656b0a02ea9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 232abd9cd12e517342357ce3f3eb5a291a52ccd8c29e4cb6f67ccf23cf02c9e0
[INFO] running `Command { std: "docker" "start" "-a" "232abd9cd12e517342357ce3f3eb5a291a52ccd8c29e4cb6f67ccf23cf02c9e0", 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]     Checking either v1.6.1
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling crc32fast v1.3.0
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]     Checking adler v1.0.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 color_quant v1.1.0
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking bytemuck v1.7.3
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]     Checking custom_error v1.7.1
[INFO] [stderr]    Compiling x11 v2.18.2
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking gif v0.11.3
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking png v0.16.8
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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<IT, Box<Error>> {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn new() -> Result<IT, Box<dyn Error>> {
[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<IT, Box<Error>> {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 163 |     fn init() -> Result<IT, Box<dyn Error>> {
[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<DevInfo, Box<Error>> {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 206 |     fn get_system_info(&self) -> Result<DevInfo, Box<dyn Error>> {
[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<IT, Box<Error>> {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn new() -> Result<IT, Box<dyn Error>> {
[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<IT, Box<Error>> {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 163 |     fn init() -> Result<IT, Box<dyn Error>> {
[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<DevInfo, Box<Error>> {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 206 |     fn get_system_info(&self) -> Result<DevInfo, Box<dyn Error>> {
[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, Box<Error>> = 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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let interface: Result<it8951::IT, Box<dyn Error>> = 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:34
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `old_slice` is never read
[INFO] [stdout]    --> src/imagery.rs:107:36
[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:38
[INFO] [stdout]     |
[INFO] [stdout] 108 |       let mut white_vec: Vec<Bgr8> = Vec::new();
[INFO] [stdout]     |                                      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[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, Box<Error>> = 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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let interface: Result<it8951::IT, Box<dyn Error>> = 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, Box<Error>> = 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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 190 |     let interface: Result<it8951::IT, Box<dyn Error>> = it8951::IT::new();
[INFO] [stdout]     |                                           +++
[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: value assigned to `read_data` is never read
[INFO] [stdout]    --> src/it8951.rs:349:34
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `old_slice` is never read
[INFO] [stdout]    --> src/imagery.rs:107:36
[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:38
[INFO] [stdout]     |
[INFO] [stdout] 108 |       let mut white_vec: Vec<Bgr8> = Vec::new();
[INFO] [stdout]     |                                      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[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)]` (part of `#[warn(unused)]`) 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: 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<u8>, mut interface: it8951::IT) -> it8951::IT {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) 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<Image>) -> Vec<Bgr8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     fn transform_to_grey(bgr_vec: &Vec<Bgr8>) -> Vec<u8> {
[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<IT8952Api> {
[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: 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: 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: struct `IT` is never constructed
[INFO] [stdout]    --> src/it8951.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub struct IT {
[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<IT, Box<Error>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     fn init() -> Result<IT, Box<Error>> {
[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<DevInfo, Box<Error>> {
[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<u8>) {
[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: struct `DevInfo` is never constructed
[INFO] [stdout]    --> src/it8951.rs:513:8
[INFO] [stdout]     |
[INFO] [stdout] 513 | struct DevInfo {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BCM` is never constructed
[INFO] [stdout]   --> src/bcm_interface.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct BCM {
[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<BCMApi> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     pub fn bcm2835_init(&self) -> Result<u8, BCMError>{
[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)]` (part of `#[warn(nonstandard_style)]`) 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: 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)]` (part of `#[warn(unused)]`) 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<u8>, mut interface: it8951::IT) -> it8951::IT {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) 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<Image>) -> Vec<Bgr8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     fn transform_to_grey(bgr_vec: &Vec<Bgr8>) -> Vec<u8> {
[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<IT8952Api> {
[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)]` (part of `#[warn(nonstandard_style)]`) 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.85s
[INFO] running `Command { std: "docker" "inspect" "232abd9cd12e517342357ce3f3eb5a291a52ccd8c29e4cb6f67ccf23cf02c9e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "232abd9cd12e517342357ce3f3eb5a291a52ccd8c29e4cb6f67ccf23cf02c9e0", kill_on_drop: false }`
[INFO] [stdout] 232abd9cd12e517342357ce3f3eb5a291a52ccd8c29e4cb6f67ccf23cf02c9e0
