[INFO] cloning repository https://github.com/Curt-White/virtual-printer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Curt-White/virtual-printer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCurt-White%2Fvirtual-printer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCurt-White%2Fvirtual-printer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a8cffc2e688e3c1fbed4686bc496af544fd08e2e
[INFO] checking Curt-White/virtual-printer against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCurt-White%2Fvirtual-printer" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Curt-White/virtual-printer
[INFO] finished tweaking git repo https://github.com/Curt-White/virtual-printer
[INFO] tweaked toml for git repo https://github.com/Curt-White/virtual-printer written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Curt-White/virtual-printer 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/Curt-White/virtual-printer 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 maplit v1.0.2
[INFO] [stderr]   Downloaded log v0.4.8
[INFO] [stderr]   Downloaded Inflector v0.11.4
[INFO] [stderr]   Downloaded aho-corasick v0.7.6
[INFO] [stderr]   Downloaded regex-syntax v0.6.12
[INFO] [stderr]   Downloaded regex v1.3.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 52066bc97f37d4729aa527af88dcadd337ab5b7b1f555befa58c1d64868dc340
[INFO] running `Command { std: "docker" "start" "-a" "52066bc97f37d4729aa527af88dcadd337ab5b7b1f555befa58c1d64868dc340", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "52066bc97f37d4729aa527af88dcadd337ab5b7b1f555befa58c1d64868dc340", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "52066bc97f37d4729aa527af88dcadd337ab5b7b1f555befa58c1d64868dc340", kill_on_drop: false }`
[INFO] [stdout] 52066bc97f37d4729aa527af88dcadd337ab5b7b1f555befa58c1d64868dc340
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] a0bd7cefbd5bddf49e9220fe41942390a4ed58bb45b534931b5b68aa06bc8e16
[INFO] running `Command { std: "docker" "start" "-a" "a0bd7cefbd5bddf49e9220fe41942390a4ed58bb45b534931b5b68aa06bc8e16", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.6
[INFO] [stderr]    Compiling syn v1.0.11
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling regex-syntax v0.6.12
[INFO] [stderr]     Checking unicode-xid v0.2.0
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]     Checking maplit v1.0.2
[INFO] [stderr]     Checking aho-corasick v0.7.6
[INFO] [stderr]     Checking quote v1.0.2
[INFO] [stderr]     Checking regex v1.3.1
[INFO] [stderr]     Checking Inflector v0.11.4
[INFO] [stderr]     Checking parse_macro v0.1.0 (/opt/rustwide/workdir/parse_macro)
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> parse_macro/src/lib.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |             _ => panic!(
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> parse_macro/src/lib.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             TokenTree::Ident(ident) => Token::Identifier(TokenType {
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 44 |             TokenTree::Literal(lit) => {
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 54 |             TokenTree::Punct(punct) => Token::Operation(TokenType {
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 58 |             TokenTree::Group(group) => {
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 64 |             _ => panic!(
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> parse_macro/src/lib.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |             _ => panic!(
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> parse_macro/src/lib.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             TokenTree::Ident(ident) => Token::Identifier(TokenType {
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 44 |             TokenTree::Literal(lit) => {
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 54 |             TokenTree::Punct(punct) => Token::Operation(TokenType {
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 58 |             TokenTree::Group(group) => {
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 64 |             _ => panic!(
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]   --> parse_macro/src/lib.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct TokenType<T> {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] 12 |     pub value: T,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]   --> parse_macro/src/lib.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct TokenType<T> {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] 12 |     pub value: T,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> parse_macro/src/lib.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |             _ => panic!(
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> parse_macro/src/lib.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             TokenTree::Ident(ident) => Token::Identifier(TokenType {
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 44 |             TokenTree::Literal(lit) => {
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 54 |             TokenTree::Punct(punct) => Token::Operation(TokenType {
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 58 |             TokenTree::Group(group) => {
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 64 |             _ => panic!(
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]   --> parse_macro/src/lib.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct TokenType<T> {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] 12 |     pub value: T,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking printer v0.1.0 (/opt/rustwide/workdir/printer)
[INFO] [stdout] warning: unused import: `from_utf8`
[INFO] [stdout]  --> printer/src/content.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::{from_utf8, Utf8Error};
[INFO] [stdout]   |                ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> printer/src/error.rs:28:40
[INFO] [stdout]    |
[INFO] [stdout] 28 |            message: String::from(error.description()),
[INFO] [stdout]    |                                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let res = function(printer, bytes)?;
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let res = function(printer, bytes)?;
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `printer`
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:51:50
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn de_multiplex_command(header: BitImageHeaders, printer: &mut Printer,
[INFO] [stdout]    |                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_printer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:52:33
[INFO] [stdout]    |
[INFO] [stdout] 52 | ...                   bytes: &mut Vec<u8>) -> Result<PrinterFunc, PrinterError> {
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `func_id` is never read
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:53:27
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mut func_id: u8 = 0;
[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 `batch` is never read
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:54:21
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let mut batch = false;
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `printer`
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:93:23
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn store_raster_image(printer: &mut Printer, bytes: &mut Vec<u8>) -> Result<(), PrinterError>  {
[INFO] [stdout]    |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_printer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let a = parse_store_raster_image_args(bytes)?;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> printer/src/esc_pos/print.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     for i in 0..args.n {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte`
[INFO] [stdout]   --> printer/src/esc_pos/tree.rs:56:34
[INFO] [stdout]    |
[INFO] [stdout] 56 |         0x38 => Query::SubQuery(|byte: u8| Ok(Query::Resource(bit_image::command_4_arg))),
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte`
[INFO] [stdout]   --> printer/src/esc_pos/tree.rs:55:34
[INFO] [stdout]    |
[INFO] [stdout] 55 |         0x28 => Query::SubQuery(|byte: u8| Ok(Query::Resource(bit_image::command_2_arg))),
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> printer/src/formatter.rs:55:31
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn format_text(&mut self, mut data: Text) {
[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: unused variable: `data`
[INFO] [stdout]   --> printer/src/formatter.rs:75:32
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn format_image(&mut self, data: Image) {
[INFO] [stdout]    |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pl`, `ph`, and `m` are never read
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct BlockTransferHeader {
[INFO] [stdout]    |        ------------------- fields in this struct
[INFO] [stdout] 15 |     pub pl: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 16 |     pub ph: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 17 |     pub m: u8,
[INFO] [stdout]    |         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BlockTransferHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `p1`, `p2`, `p3`, `p4`, and `m` are never read
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct BatchTransferHeader {
[INFO] [stdout]    |        ------------------- fields in this struct
[INFO] [stdout] 23 |     pub p1: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 24 |     pub p2: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 25 |     pub p3: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 26 |     pub p4: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 27 |     pub m: u8,
[INFO] [stdout]    |         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BatchTransferHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | struct StoreRasterImageArgs {
[INFO] [stdout]    |        -------------------- fields in this struct
[INFO] [stdout] 82 |     tone: u8, // 'a' the tone of the graphics
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 83 |     bx: u8,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 84 |     by: u8,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 85 |     color: u8, // 'c' the color depending on printer
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 86 |     xl: u8,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 87 |     xh: u8,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 88 |     yl: u8,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 89 |     yh: u8,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 90 |     data: Vec<u8>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StoreRasterImageArgs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TopLevelCommands` is never used
[INFO] [stdout]   --> printer/src/esc_pos/tree.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum TopLevelCommands {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `DeprecatedCommand` and `UnknownError` are never constructed
[INFO] [stdout]   --> printer/src/error.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub enum Code {
[INFO] [stdout]    |          ---- variants in this enum
[INFO] [stdout]  6 |     DeprecatedCommand = 21,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     UnknownError = 100,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Code` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `image_buffer` is never read
[INFO] [stdout]   --> printer/src/printer.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct Printer {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub image_buffer:  Vec<Image>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `buffer_image` is never used
[INFO] [stdout]    --> printer/src/printer.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout]  53 | impl Printer {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn buffer_image(&mut self, image: Image) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `width`, `height`, and `data` are never read
[INFO] [stdout]  --> printer/src/content.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Image {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 5 |     width: u16,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 6 |     height: u16,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 7 |     data: Vec<u8>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]   --> printer/src/content.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Image {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn from(data: Vec<u8>, width: u16, height: u16) -> Image {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `append` is never used
[INFO] [stdout]   --> printer/src/content.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl Text {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn append(&mut self, data: Vec<u8>) -> Result<(), Utf8Error> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `format_image` is never used
[INFO] [stdout]  --> printer/src/formatter.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait Formatter {
[INFO] [stdout]   |           --------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 7 |     fn format_image(&mut self, data: Image);
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Command` is never used
[INFO] [stdout]  --> printer/src/command.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type Command = fn(bytes: &mut Vec<u8>) -> Result<PrinterFunc, PrinterError>;
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> printer/src/main.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 val(&mut printer, &mut contents);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 let _ = val(&mut printer, &mut contents);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> printer/src/main.rs:43:21
[INFO] [stdout]    |
[INFO] [stdout] 43 |                     file.write_all(data.as_bytes());
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |                     let _ = file.write_all(data.as_bytes());
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> printer/src/esc_pos/print_position.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     printer.set_justification(justification);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let _ = printer.set_justification(justification);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `from_utf8`
[INFO] [stdout]  --> printer/src/content.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::{from_utf8, Utf8Error};
[INFO] [stdout]   |                ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> printer/src/error.rs:28:40
[INFO] [stdout]    |
[INFO] [stdout] 28 |            message: String::from(error.description()),
[INFO] [stdout]    |                                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let res = function(printer, bytes)?;
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let res = function(printer, bytes)?;
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `printer`
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:51:50
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn de_multiplex_command(header: BitImageHeaders, printer: &mut Printer,
[INFO] [stdout]    |                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_printer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:52:33
[INFO] [stdout]    |
[INFO] [stdout] 52 | ...                   bytes: &mut Vec<u8>) -> Result<PrinterFunc, PrinterError> {
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `func_id` is never read
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:53:27
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mut func_id: u8 = 0;
[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 `batch` is never read
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:54:21
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let mut batch = false;
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `printer`
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:93:23
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn store_raster_image(printer: &mut Printer, bytes: &mut Vec<u8>) -> Result<(), PrinterError>  {
[INFO] [stdout]    |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_printer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let a = parse_store_raster_image_args(bytes)?;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> printer/src/esc_pos/print.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     for i in 0..args.n {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte`
[INFO] [stdout]   --> printer/src/esc_pos/tree.rs:56:34
[INFO] [stdout]    |
[INFO] [stdout] 56 |         0x38 => Query::SubQuery(|byte: u8| Ok(Query::Resource(bit_image::command_4_arg))),
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte`
[INFO] [stdout]   --> printer/src/esc_pos/tree.rs:55:34
[INFO] [stdout]    |
[INFO] [stdout] 55 |         0x28 => Query::SubQuery(|byte: u8| Ok(Query::Resource(bit_image::command_2_arg))),
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> printer/src/formatter.rs:55:31
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn format_text(&mut self, mut data: Text) {
[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: unused variable: `data`
[INFO] [stdout]   --> printer/src/formatter.rs:75:32
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn format_image(&mut self, data: Image) {
[INFO] [stdout]    |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pl`, `ph`, and `m` are never read
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct BlockTransferHeader {
[INFO] [stdout]    |        ------------------- fields in this struct
[INFO] [stdout] 15 |     pub pl: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 16 |     pub ph: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 17 |     pub m: u8,
[INFO] [stdout]    |         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BlockTransferHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `p1`, `p2`, `p3`, `p4`, and `m` are never read
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct BatchTransferHeader {
[INFO] [stdout]    |        ------------------- fields in this struct
[INFO] [stdout] 23 |     pub p1: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 24 |     pub p2: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 25 |     pub p3: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 26 |     pub p4: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 27 |     pub m: u8,
[INFO] [stdout]    |         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BatchTransferHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> printer/src/esc_pos/bit_image.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | struct StoreRasterImageArgs {
[INFO] [stdout]    |        -------------------- fields in this struct
[INFO] [stdout] 82 |     tone: u8, // 'a' the tone of the graphics
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 83 |     bx: u8,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 84 |     by: u8,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 85 |     color: u8, // 'c' the color depending on printer
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 86 |     xl: u8,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 87 |     xh: u8,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 88 |     yl: u8,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 89 |     yh: u8,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 90 |     data: Vec<u8>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StoreRasterImageArgs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TopLevelCommands` is never used
[INFO] [stdout]   --> printer/src/esc_pos/tree.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum TopLevelCommands {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `DeprecatedCommand` and `UnknownError` are never constructed
[INFO] [stdout]   --> printer/src/error.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub enum Code {
[INFO] [stdout]    |          ---- variants in this enum
[INFO] [stdout]  6 |     DeprecatedCommand = 21,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     UnknownError = 100,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Code` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `image_buffer` is never read
[INFO] [stdout]   --> printer/src/printer.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct Printer {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub image_buffer:  Vec<Image>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `buffer_image` is never used
[INFO] [stdout]    --> printer/src/printer.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout]  53 | impl Printer {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn buffer_image(&mut self, image: Image) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `width`, `height`, and `data` are never read
[INFO] [stdout]  --> printer/src/content.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Image {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 5 |     width: u16,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 6 |     height: u16,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 7 |     data: Vec<u8>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]   --> printer/src/content.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Image {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn from(data: Vec<u8>, width: u16, height: u16) -> Image {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `append` is never used
[INFO] [stdout]   --> printer/src/content.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl Text {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn append(&mut self, data: Vec<u8>) -> Result<(), Utf8Error> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `format_image` is never used
[INFO] [stdout]  --> printer/src/formatter.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait Formatter {
[INFO] [stdout]   |           --------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 7 |     fn format_image(&mut self, data: Image);
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Command` is never used
[INFO] [stdout]  --> printer/src/command.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type Command = fn(bytes: &mut Vec<u8>) -> Result<PrinterFunc, PrinterError>;
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> printer/src/main.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 val(&mut printer, &mut contents);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 let _ = val(&mut printer, &mut contents);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> printer/src/main.rs:43:21
[INFO] [stdout]    |
[INFO] [stdout] 43 |                     file.write_all(data.as_bytes());
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |                     let _ = file.write_all(data.as_bytes());
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> printer/src/esc_pos/print_position.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     printer.set_justification(justification);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let _ = printer.set_justification(justification);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.49s
[INFO] running `Command { std: "docker" "inspect" "a0bd7cefbd5bddf49e9220fe41942390a4ed58bb45b534931b5b68aa06bc8e16", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a0bd7cefbd5bddf49e9220fe41942390a4ed58bb45b534931b5b68aa06bc8e16", kill_on_drop: false }`
[INFO] [stdout] a0bd7cefbd5bddf49e9220fe41942390a4ed58bb45b534931b5b68aa06bc8e16
