[INFO] cloning repository https://github.com/svenslaggare/imageeditor
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/svenslaggare/imageeditor" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsvenslaggare%2Fimageeditor", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsvenslaggare%2Fimageeditor'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bd86b504c92f79e740ff2dbcfa835fab2e11a1ee
[INFO] checking svenslaggare/imageeditor against master#ab26b175979ee7b2cb3302dce204b99df96f7efb for pr-157696
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsvenslaggare%2Fimageeditor" "/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/svenslaggare/imageeditor
[INFO] finished tweaking git repo https://github.com/svenslaggare/imageeditor
[INFO] tweaked toml for git repo https://github.com/svenslaggare/imageeditor written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/svenslaggare/imageeditor on toolchain ab26b175979ee7b2cb3302dce204b99df96f7efb
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab26b175979ee7b2cb3302dce204b99df96f7efb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/svenslaggare/imageeditor 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" "+ab26b175979ee7b2cb3302dce204b99df96f7efb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/PistonDevelopers/freetype-rs`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded hermit-abi v0.1.6
[INFO] [stderr]   Downloaded num-rational v0.2.3
[INFO] [stderr]   Downloaded pango v0.14.8
[INFO] [stderr]   Downloaded futures-core v0.3.17
[INFO] [stderr]   Downloaded proc-macro-crate v1.1.0
[INFO] [stderr]   Downloaded freetype-sys v0.9.0
[INFO] [stderr]   Downloaded gtk3-macros v0.14.0
[INFO] [stderr]   Downloaded field-offset v0.3.4
[INFO] [stderr]   Downloaded thiserror-impl v1.0.30
[INFO] [stderr]   Downloaded futures-task v0.3.17
[INFO] [stderr]   Downloaded gdk-pixbuf v0.14.0
[INFO] [stderr]   Downloaded cairo-sys-rs v0.14.0
[INFO] [stderr]   Downloaded strum v0.21.0
[INFO] [stderr]   Downloaded gl_loader v0.1.2
[INFO] [stderr]   Downloaded vcpkg v0.2.8
[INFO] [stderr]   Downloaded gdk-pixbuf-sys v0.14.0
[INFO] [stderr]   Downloaded byteorder v0.3.13
[INFO] [stderr]   Downloaded rustc_version v0.3.3
[INFO] [stderr]   Downloaded futures-io v0.3.17
[INFO] [stderr]   Downloaded gl v0.14.0
[INFO] [stderr]   Downloaded version-compare v0.0.11
[INFO] [stderr]   Downloaded strum_macros v0.21.1
[INFO] [stderr]   Downloaded gobject-sys v0.14.0
[INFO] [stderr]   Downloaded semver v0.11.0
[INFO] [stderr]   Downloaded quote v1.0.10
[INFO] [stderr]   Downloaded futures-executor v0.3.17
[INFO] [stderr]   Downloaded pin-project-lite v0.2.7
[INFO] [stderr]   Downloaded glib-macros v0.14.1
[INFO] [stderr]   Downloaded futures-channel v0.3.17
[INFO] [stderr]   Downloaded thiserror v1.0.30
[INFO] [stderr]   Downloaded pango-sys v0.14.0
[INFO] [stderr]   Downloaded system-deps v3.2.0
[INFO] [stderr]   Downloaded atk-sys v0.14.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.30
[INFO] [stderr]   Downloaded smallvec v1.7.0
[INFO] [stderr]   Downloaded cairo-rs v0.14.7
[INFO] [stderr]   Downloaded semver-parser v0.10.2
[INFO] [stderr]   Downloaded atk v0.14.0
[INFO] [stderr]   Downloaded anyhow v1.0.44
[INFO] [stderr]   Downloaded cfg-expr v0.8.1
[INFO] [stderr]   Downloaded ucd-trie v0.1.3
[INFO] [stderr]   Downloaded gdk-sys v0.14.0
[INFO] [stderr]   Downloaded glib-sys v0.14.0
[INFO] [stderr]   Downloaded gdk v0.14.3
[INFO] [stderr]   Downloaded bytebuffer v0.2.1
[INFO] [stderr]   Downloaded gio-sys v0.14.0
[INFO] [stderr]   Downloaded pest v2.1.3
[INFO] [stderr]   Downloaded image v0.22.4
[INFO] [stderr]   Downloaded itertools v0.10.1
[INFO] [stderr]   Downloaded glfw v0.35.0
[INFO] [stderr]   Downloaded gtk-sys v0.14.0
[INFO] [stderr]   Downloaded futures-util v0.3.17
[INFO] [stderr]   Downloaded gio v0.14.8
[INFO] [stderr]   Downloaded glib v0.14.8
[INFO] [stderr]   Downloaded syn v1.0.80
[INFO] [stderr]   Downloaded gtk v0.14.3
[INFO] [stderr]   Downloaded libz-sys v1.0.25
[INFO] [stderr]   Downloaded glfw-sys v3.3.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 3cee96ee2cb11e38b1726bb3dce38139c92a58cbbc72faa2f057519b934721f2
[INFO] running `Command { std: "docker" "start" "3cee96ee2cb11e38b1726bb3dce38139c92a58cbbc72faa2f057519b934721f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3cee96ee2cb11e38b1726bb3dce38139c92a58cbbc72faa2f057519b934721f2" "/opt/rustwide/cargo-home/bin/cargo" "+ab26b175979ee7b2cb3302dce204b99df96f7efb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3cee96ee2cb11e38b1726bb3dce38139c92a58cbbc72faa2f057519b934721f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3cee96ee2cb11e38b1726bb3dce38139c92a58cbbc72faa2f057519b934721f2" "/opt/rustwide/cargo-home/bin/cargo" "+ab26b175979ee7b2cb3302dce204b99df96f7efb" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.30
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.80
[INFO] [stderr]    Compiling pkg-config v0.3.17
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]    Compiling anyhow v1.0.44
[INFO] [stderr]    Compiling unicode-segmentation v1.8.0
[INFO] [stderr]    Compiling either v1.5.3
[INFO] [stderr]    Compiling smallvec v1.7.0
[INFO] [stderr]    Compiling strum v0.21.0
[INFO] [stderr]    Compiling version-compare v0.0.11
[INFO] [stderr]    Compiling libc v0.2.66
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling futures-core v0.3.17
[INFO] [stderr]    Compiling futures-task v0.3.17
[INFO] [stderr]    Compiling futures-util v0.3.17
[INFO] [stderr]    Compiling itertools v0.10.1
[INFO] [stderr]     Checking slab v0.4.5
[INFO] [stderr]    Compiling futures-channel v0.3.17
[INFO] [stderr]     Checking pin-project-lite v0.2.7
[INFO] [stderr]    Compiling crossbeam-utils v0.7.0
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling memoffset v0.5.3
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling cfg-expr v0.8.1
[INFO] [stderr]     Checking once_cell v1.8.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling ucd-trie v0.1.3
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.0
[INFO] [stderr]    Compiling pest v2.1.3
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]    Compiling libz-sys v1.0.25
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling rayon-core v1.7.0
[INFO] [stderr]    Compiling gio v0.14.8
[INFO] [stderr]    Compiling memoffset v0.6.4
[INFO] [stderr]    Compiling quote v1.0.10
[INFO] [stderr]     Checking futures-io v0.3.17
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking crossbeam-queue v0.2.1
[INFO] [stderr]    Compiling glfw-sys v3.3.2
[INFO] [stderr]    Compiling freetype-sys v0.9.0
[INFO] [stderr]    Compiling num-rational v0.2.3
[INFO] [stderr]    Compiling num-iter v0.1.40
[INFO] [stderr]     Checking crossbeam-deque v0.7.2
[INFO] [stderr]     Checking num_cpus v1.12.0
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]    Compiling gtk v0.14.3
[INFO] [stderr]    Compiling gl_loader v0.1.2
[INFO] [stderr]    Compiling cgmath v0.17.0
[INFO] [stderr]     Checking semver-parser v0.7.0
[INFO] [stderr]     Checking rand v0.6.5
[INFO] [stderr]     Checking semver v0.9.0
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking png v0.15.3
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking byteorder v0.3.13
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]     Checking rayon v1.3.0
[INFO] [stderr]     Checking bytebuffer v0.2.1
[INFO] [stderr]     Checking freetype-rs v0.23.0 (https://github.com/PistonDevelopers/freetype-rs#9378ace6)
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]    Compiling semver-parser v0.10.2
[INFO] [stderr]    Compiling semver v0.11.0
[INFO] [stderr]    Compiling rustc_version v0.3.3
[INFO] [stderr]    Compiling field-offset v0.3.4
[INFO] [stderr]     Checking futures-executor v0.3.17
[INFO] [stderr]     Checking glfw v0.35.0
[INFO] [stderr]     Checking jpeg-decoder v0.1.18
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]     Checking tiff v0.3.1
[INFO] [stderr]     Checking image v0.22.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling strum_macros v0.21.1
[INFO] [stderr]    Compiling thiserror v1.0.30
[INFO] [stderr]    Compiling proc-macro-crate v1.1.0
[INFO] [stderr]    Compiling system-deps v3.2.0
[INFO] [stderr]    Compiling glib-macros v0.14.1
[INFO] [stderr]    Compiling gtk3-macros v0.14.0
[INFO] [stderr]    Compiling glib-sys v0.14.0
[INFO] [stderr]    Compiling gobject-sys v0.14.0
[INFO] [stderr]    Compiling gio-sys v0.14.0
[INFO] [stderr]    Compiling pango-sys v0.14.0
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.14.0
[INFO] [stderr]    Compiling cairo-sys-rs v0.14.0
[INFO] [stderr]    Compiling gdk-sys v0.14.0
[INFO] [stderr]    Compiling atk-sys v0.14.0
[INFO] [stderr]    Compiling gtk-sys v0.14.0
[INFO] [stderr]     Checking glib v0.14.8
[INFO] [stderr]     Checking cairo-rs v0.14.7
[INFO] [stderr]     Checking pango v0.14.8
[INFO] [stderr]     Checking atk v0.14.0
[INFO] [stderr]     Checking gdk-pixbuf v0.14.0
[INFO] [stderr]     Checking gdk v0.14.3
[INFO] [stderr]     Checking imageeditor v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `SelectColorMode`
[INFO] [stdout]   --> src/ui/mod.rs:14:53
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::editor::tools::{Tools, SelectionSubTool, SelectColorMode};
[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::rc::Rc`
[INFO] [stdout]  --> src/gtk_app/helpers.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Align`
[INFO] [stdout]  --> src/gtk_app/helpers.rs:6:85
[INFO] [stdout]   |
[INFO] [stdout] 6 | use gtk::{FileChooserAction, ApplicationWindow, Inhibit, Orientation, ResponseType, Align};
[INFO] [stdout]   |                                                                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deref`
[INFO] [stdout]  --> src/gtk_app/menu.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::{ Deref};
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `create_entry`
[INFO] [stdout]   --> src/gtk_app/menu.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::gtk_app::helpers::{create_entry, create_file_dialog, create_dialog, get_action_area, create_spin_button};
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Align`
[INFO] [stdout]  --> src/gtk_app/color_select_dialog.rs:8:64
[INFO] [stdout]   |
[INFO] [stdout] 8 | use gtk::{Application, ApplicationWindow, GLArea, Orientation, Align, EventBox, gdk, ResponseType};
[INFO] [stdout]   |                                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `create_entry`
[INFO] [stdout]   --> src/gtk_app/color_select_dialog.rs:13:66
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::gtk_app::helpers::{create_dialog, create_spin_button, create_entry};
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ProgramActionData`
[INFO] [stdout]   --> src/gtk_app/color_select_dialog.rs:16:46
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::program::{Renders, ProgramAction, ProgramActionData};
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CommandBuffer`
[INFO] [stdout]   --> src/gtk_app/color_select_dialog.rs:19:29
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::command_buffer::{CommandBuffer, Command};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SelectColorMode`
[INFO] [stdout]   --> src/ui/mod.rs:14:53
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::editor::tools::{Tools, SelectionSubTool, SelectColorMode};
[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::rc::Rc`
[INFO] [stdout]  --> src/gtk_app/helpers.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Align`
[INFO] [stdout]  --> src/gtk_app/helpers.rs:6:85
[INFO] [stdout]   |
[INFO] [stdout] 6 | use gtk::{FileChooserAction, ApplicationWindow, Inhibit, Orientation, ResponseType, Align};
[INFO] [stdout]   |                                                                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deref`
[INFO] [stdout]  --> src/gtk_app/menu.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::{ Deref};
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `create_entry`
[INFO] [stdout]   --> src/gtk_app/menu.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::gtk_app::helpers::{create_entry, create_file_dialog, create_dialog, get_action_area, create_spin_button};
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Align`
[INFO] [stdout]  --> src/gtk_app/color_select_dialog.rs:8:64
[INFO] [stdout]   |
[INFO] [stdout] 8 | use gtk::{Application, ApplicationWindow, GLArea, Orientation, Align, EventBox, gdk, ResponseType};
[INFO] [stdout]   |                                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `create_entry`
[INFO] [stdout]   --> src/gtk_app/color_select_dialog.rs:13:66
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::gtk_app::helpers::{create_dialog, create_spin_button, create_entry};
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ProgramActionData`
[INFO] [stdout]   --> src/gtk_app/color_select_dialog.rs:16:46
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::program::{Renders, ProgramAction, ProgramActionData};
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CommandBuffer`
[INFO] [stdout]   --> src/gtk_app/color_select_dialog.rs:19:29
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::command_buffer::{CommandBuffer, Command};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/gtk_app/color_select_dialog.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/gtk_app/color_select_dialog.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `selector`
[INFO] [stdout]   --> src/gtk_app/color_select_dialog.rs:97:56
[INFO] [stdout]    |
[INFO] [stdout] 97 |     color_selector.blue_selector.connect_changed(move |selector| color_selector_clone.update());
[INFO] [stdout]    |                                                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selector`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `selector`
[INFO] [stdout]   --> src/gtk_app/color_select_dialog.rs:94:56
[INFO] [stdout]    |
[INFO] [stdout] 94 |     color_selector.blue_selector.connect_changed(move |selector| color_selector_clone.update());
[INFO] [stdout]    |                                                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `selector`
[INFO] [stdout]   --> src/gtk_app/color_select_dialog.rs:91:55
[INFO] [stdout]    |
[INFO] [stdout] 91 |     color_selector.red_selector.connect_changed(move |selector| color_selector_clone.update());
[INFO] [stdout]    |                                                       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimeMeasurement` is never constructed
[INFO] [stdout]  --> src/helpers.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct TimeMeasurement {
[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 `new` and `elapsed_ms` are never used
[INFO] [stdout]   --> src/helpers.rs:7:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl TimeMeasurement {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout]  7 |     pub fn new(pattern: &str) -> TimeMeasurement {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn elapsed_ms(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/command_buffer.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 |     SetImageSize(u32, u32),
[INFO] [stdout]    |     ------------ ^^^  ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Command` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 17 -     SetImageSize(u32, u32),
[INFO] [stdout] 17 +     SetImageSize((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `texture_width` and `texture_height` are never read
[INFO] [stdout]   --> src/rendering/font.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 86 | struct FontMap {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 87 |     texture_id: u32,
[INFO] [stdout] 88 |     texture_width: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 89 |     texture_height: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_bool`, `set_int32`, `set_float32`, `set_vector2`, and `set_vector3` are never used
[INFO] [stdout]    --> src/rendering/shader.rs:133:19
[INFO] [stdout]     |
[INFO] [stdout]  53 | impl Shader {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub unsafe fn set_bool(&self, name: &CStr, value: bool) {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub unsafe fn set_int32(&self, name: &CStr, value: i32) {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub unsafe fn set_float32(&self, name: &CStr, value: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub unsafe fn set_vector2(&self, name: &CStr, x: f32, y: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub unsafe fn set_vector3(&self, name: &CStr, x: f32, y: f32, z: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `selector`
[INFO] [stdout]   --> src/gtk_app/color_select_dialog.rs:97:56
[INFO] [stdout]    |
[INFO] [stdout] 97 |     color_selector.blue_selector.connect_changed(move |selector| color_selector_clone.update());
[INFO] [stdout]    |                                                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selector`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `selector`
[INFO] [stdout]   --> src/gtk_app/color_select_dialog.rs:94:56
[INFO] [stdout]    |
[INFO] [stdout] 94 |     color_selector.blue_selector.connect_changed(move |selector| color_selector_clone.update());
[INFO] [stdout]    |                                                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `selector`
[INFO] [stdout]   --> src/gtk_app/color_select_dialog.rs:91:55
[INFO] [stdout]    |
[INFO] [stdout] 91 |     color_selector.red_selector.connect_changed(move |selector| color_selector_clone.update());
[INFO] [stdout]    |                                                       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `base_index` is never used
[INFO] [stdout]   --> src/rendering/texture.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Texture {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn base_index(&self, x: u32, y: u32) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FrameBuffer` is never constructed
[INFO] [stdout]  --> src/rendering/framebuffer.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct FrameBuffer {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FrameBufferBinding` is never constructed
[INFO] [stdout]   --> src/rendering/framebuffer.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct FrameBufferBinding<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `download` are never used
[INFO] [stdout]   --> src/rendering/framebuffer.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl<'a> FrameBufferBinding<'a> {
[INFO] [stdout]    | ------------------------------- associated items in this implementation
[INFO] [stdout] 17 |     pub fn new(frame_buffer: &'a FrameBuffer) -> FrameBufferBinding {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn download(&self, buffer: &mut [u8]) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `width`, `height`, `color_buffer_id`, and `bind` are never used
[INFO] [stdout]    --> src/rendering/framebuffer.rs:53:12
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl FrameBuffer {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  53 |     pub fn new(width: u32, height: u32, channels: u32) -> FrameBuffer {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn width(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn height(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn color_buffer_id(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn bind(&self) -> FrameBufferBinding {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Bottom` is never constructed
[INFO] [stdout]   --> src/rendering/text_render.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum TextAlignment {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] 19 |     Top,
[INFO] [stdout] 20 |     Bottom
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `adaptive_cols` is never used
[INFO] [stdout]   --> src/ui/layout.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn adaptive_cols(origin: Position, cell_size: (f32, f32), row_height: f32, num_elements: usize) -> impl Iterator<Item=Position> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AdaptiveCols` is never constructed
[INFO] [stdout]   --> src/ui/layout.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct AdaptiveCols {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_position_and_size` is never used
[INFO] [stdout]   --> src/editor/mod.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Region {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn from_position_and_size(position: cgmath::Point2<i32>, size: cgmath::Point2<i32>) -> Region {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `raw_pixels`, `raw_pixels_mut`, and `get_image` are never used
[INFO] [stdout]   --> src/editor/image.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl<'a> ImageUpdateOperation<'a> {
[INFO] [stdout]    | --------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn raw_pixels(&self) -> &[u8] {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn raw_pixels_mut(&mut self) -> &mut [u8] {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn get_image(&self) -> &Image {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `symmetric_round` is never used
[INFO] [stdout]    --> src/editor/image_operation_helpers.rs:915:8
[INFO] [stdout]     |
[INFO] [stdout] 915 | pub fn symmetric_round(x: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `symmetric_floor` is never used
[INFO] [stdout]    --> src/editor/image_operation_helpers.rs:919:8
[INFO] [stdout]     |
[INFO] [stdout] 919 | pub fn symmetric_floor(x: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SetPixel` is never constructed
[INFO] [stdout]   --> src/editor/image_operation.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum ImageOperation {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 33 |     SetPixel { x: i32, y: i32, color: Color },
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImageOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ColorWheel` is never constructed
[INFO] [stdout]    --> src/editor/tools/mod.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub enum Tools {
[INFO] [stdout]     |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 110 |     ColorWheel(SelectColorMode),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Tools` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `original_selection` is never read
[INFO] [stdout]   --> src/editor/tools/selection.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 88 | struct RotatePixelsState {
[INFO] [stdout]    |        ----------------- field in this struct
[INFO] [stdout] 89 |     is_rotating: bool,
[INFO] [stdout] 90 |     original_selection: Option<Selection>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_changed_time` is never used
[INFO] [stdout]   --> src/editor/tools/effect.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn get_changed_time(filename: &str) -> std::io::Result<SystemTime> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERTEX_SHADER_FILENAME` is never used
[INFO] [stdout]   --> src/editor/tools/effect.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const VERTEX_SHADER_FILENAME: &str = "content/shaders/texture.vs";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EffectDrawTool` is never constructed
[INFO] [stdout]   --> src/editor/tools/effect.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct EffectDrawTool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `try_create_shader`, and `generate_image` are never used
[INFO] [stdout]   --> src/editor/tools/effect.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl EffectDrawTool {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 32 |     pub fn new(shader_filename: &str) -> EffectDrawTool {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     fn try_create_shader(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn generate_image(&self, frame_buffer: &FrameBuffer, source_image: &editor::Image, destination_image_buffer: &mut [u8]) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/glfw_app.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_window` is never used
[INFO] [stdout]   --> src/glfw_app.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn setup_window(width: u32, height: u32) -> (Glfw, Window, Receiver<(f64, WindowEvent)>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_entry` is never used
[INFO] [stdout]   --> src/gtk_app/helpers.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn create_entry(container: &gtk::Box, label: &str, default_value: &str) -> gtk::Entry {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_new_size` is never used
[INFO] [stdout]    --> src/gtk_app/menu.rs:579:4
[INFO] [stdout]     |
[INFO] [stdout] 579 | fn parse_new_size(gtk_program: &GTKProgram, entry_width: &gtk::Entry, entry_height: &gtk::Entry) -> Option<(u32, u32)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `color_code` and `current_color_view` are never used
[INFO] [stdout]    --> src/gtk_app/color_select_dialog.rs:342:12
[INFO] [stdout]     |
[INFO] [stdout] 316 | impl ColorSelector {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 342 |     pub fn color_code(&self) -> &gtk::Entry {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 346 |     pub fn current_color_view(&self) -> &gtk::Label {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/rendering/framebuffer.rs:17:50
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(frame_buffer: &'a FrameBuffer) -> FrameBufferBinding {
[INFO] [stdout]    |                               --                 ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(frame_buffer: &'a FrameBuffer) -> FrameBufferBinding<'a> {
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rendering/framebuffer.rs:114:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn bind(&self) -> FrameBufferBinding {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn bind(&self) -> FrameBufferBinding<'_> {
[INFO] [stdout]     |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/editor/image.rs:37:29
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn update_operation(&mut self) -> ImageUpdateOperation {
[INFO] [stdout]    |                             ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn update_operation(&mut self) -> ImageUpdateOperation<'_> {
[INFO] [stdout]    |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/editor/image.rs:41:41
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn update_operation_with_region(&mut self, valid_region: Option<Region>) -> ImageUpdateOperation {
[INFO] [stdout]    |                                         ^^^^^^^^^ the lifetime is elided here       ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn update_operation_with_region(&mut self, valid_region: Option<Region>) -> ImageUpdateOperation<'_> {
[INFO] [stdout]    |                                                                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimeMeasurement` is never constructed
[INFO] [stdout]  --> src/helpers.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct TimeMeasurement {
[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 `new` and `elapsed_ms` are never used
[INFO] [stdout]   --> src/helpers.rs:7:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl TimeMeasurement {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout]  7 |     pub fn new(pattern: &str) -> TimeMeasurement {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn elapsed_ms(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/command_buffer.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 |     SetImageSize(u32, u32),
[INFO] [stdout]    |     ------------ ^^^  ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Command` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 17 -     SetImageSize(u32, u32),
[INFO] [stdout] 17 +     SetImageSize((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `texture_width` and `texture_height` are never read
[INFO] [stdout]   --> src/rendering/font.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 86 | struct FontMap {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 87 |     texture_id: u32,
[INFO] [stdout] 88 |     texture_width: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 89 |     texture_height: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_bool`, `set_int32`, `set_float32`, `set_vector2`, and `set_vector3` are never used
[INFO] [stdout]    --> src/rendering/shader.rs:133:19
[INFO] [stdout]     |
[INFO] [stdout]  53 | impl Shader {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub unsafe fn set_bool(&self, name: &CStr, value: bool) {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub unsafe fn set_int32(&self, name: &CStr, value: i32) {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub unsafe fn set_float32(&self, name: &CStr, value: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub unsafe fn set_vector2(&self, name: &CStr, x: f32, y: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub unsafe fn set_vector3(&self, name: &CStr, x: f32, y: f32, z: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `base_index` is never used
[INFO] [stdout]   --> src/rendering/texture.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Texture {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn base_index(&self, x: u32, y: u32) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FrameBuffer` is never constructed
[INFO] [stdout]  --> src/rendering/framebuffer.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct FrameBuffer {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FrameBufferBinding` is never constructed
[INFO] [stdout]   --> src/rendering/framebuffer.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct FrameBufferBinding<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `download` are never used
[INFO] [stdout]   --> src/rendering/framebuffer.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl<'a> FrameBufferBinding<'a> {
[INFO] [stdout]    | ------------------------------- associated items in this implementation
[INFO] [stdout] 17 |     pub fn new(frame_buffer: &'a FrameBuffer) -> FrameBufferBinding {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn download(&self, buffer: &mut [u8]) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `width`, `height`, `color_buffer_id`, and `bind` are never used
[INFO] [stdout]    --> src/rendering/framebuffer.rs:53:12
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl FrameBuffer {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  53 |     pub fn new(width: u32, height: u32, channels: u32) -> FrameBuffer {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn width(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn height(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn color_buffer_id(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn bind(&self) -> FrameBufferBinding {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Bottom` is never constructed
[INFO] [stdout]   --> src/rendering/text_render.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum TextAlignment {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] 19 |     Top,
[INFO] [stdout] 20 |     Bottom
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `adaptive_cols` is never used
[INFO] [stdout]   --> src/ui/layout.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn adaptive_cols(origin: Position, cell_size: (f32, f32), row_height: f32, num_elements: usize) -> impl Iterator<Item=Position> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AdaptiveCols` is never constructed
[INFO] [stdout]   --> src/ui/layout.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct AdaptiveCols {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_position_and_size` is never used
[INFO] [stdout]   --> src/editor/mod.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Region {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn from_position_and_size(position: cgmath::Point2<i32>, size: cgmath::Point2<i32>) -> Region {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `raw_pixels`, `raw_pixels_mut`, and `get_image` are never used
[INFO] [stdout]   --> src/editor/image.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl<'a> ImageUpdateOperation<'a> {
[INFO] [stdout]    | --------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn raw_pixels(&self) -> &[u8] {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn raw_pixels_mut(&mut self) -> &mut [u8] {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn get_image(&self) -> &Image {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `symmetric_round` is never used
[INFO] [stdout]    --> src/editor/image_operation_helpers.rs:915:8
[INFO] [stdout]     |
[INFO] [stdout] 915 | pub fn symmetric_round(x: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `symmetric_floor` is never used
[INFO] [stdout]    --> src/editor/image_operation_helpers.rs:919:8
[INFO] [stdout]     |
[INFO] [stdout] 919 | pub fn symmetric_floor(x: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SetPixel` is never constructed
[INFO] [stdout]   --> src/editor/image_operation.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum ImageOperation {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 33 |     SetPixel { x: i32, y: i32, color: Color },
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImageOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ColorWheel` is never constructed
[INFO] [stdout]    --> src/editor/tools/mod.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub enum Tools {
[INFO] [stdout]     |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 110 |     ColorWheel(SelectColorMode),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Tools` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `original_selection` is never read
[INFO] [stdout]   --> src/editor/tools/selection.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 88 | struct RotatePixelsState {
[INFO] [stdout]    |        ----------------- field in this struct
[INFO] [stdout] 89 |     is_rotating: bool,
[INFO] [stdout] 90 |     original_selection: Option<Selection>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_changed_time` is never used
[INFO] [stdout]   --> src/editor/tools/effect.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn get_changed_time(filename: &str) -> std::io::Result<SystemTime> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERTEX_SHADER_FILENAME` is never used
[INFO] [stdout]   --> src/editor/tools/effect.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const VERTEX_SHADER_FILENAME: &str = "content/shaders/texture.vs";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EffectDrawTool` is never constructed
[INFO] [stdout]   --> src/editor/tools/effect.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct EffectDrawTool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `try_create_shader`, and `generate_image` are never used
[INFO] [stdout]   --> src/editor/tools/effect.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl EffectDrawTool {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 32 |     pub fn new(shader_filename: &str) -> EffectDrawTool {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     fn try_create_shader(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn generate_image(&self, frame_buffer: &FrameBuffer, source_image: &editor::Image, destination_image_buffer: &mut [u8]) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/glfw_app.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_window` is never used
[INFO] [stdout]   --> src/glfw_app.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn setup_window(width: u32, height: u32) -> (Glfw, Window, Receiver<(f64, WindowEvent)>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_entry` is never used
[INFO] [stdout]   --> src/gtk_app/helpers.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn create_entry(container: &gtk::Box, label: &str, default_value: &str) -> gtk::Entry {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_new_size` is never used
[INFO] [stdout]    --> src/gtk_app/menu.rs:579:4
[INFO] [stdout]     |
[INFO] [stdout] 579 | fn parse_new_size(gtk_program: &GTKProgram, entry_width: &gtk::Entry, entry_height: &gtk::Entry) -> Option<(u32, u32)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `color_code` and `current_color_view` are never used
[INFO] [stdout]    --> src/gtk_app/color_select_dialog.rs:342:12
[INFO] [stdout]     |
[INFO] [stdout] 316 | impl ColorSelector {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 342 |     pub fn color_code(&self) -> &gtk::Entry {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 346 |     pub fn current_color_view(&self) -> &gtk::Label {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/rendering/framebuffer.rs:17:50
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(frame_buffer: &'a FrameBuffer) -> FrameBufferBinding {
[INFO] [stdout]    |                               --                 ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(frame_buffer: &'a FrameBuffer) -> FrameBufferBinding<'a> {
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rendering/framebuffer.rs:114:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn bind(&self) -> FrameBufferBinding {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn bind(&self) -> FrameBufferBinding<'_> {
[INFO] [stdout]     |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/editor/image.rs:37:29
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn update_operation(&mut self) -> ImageUpdateOperation {
[INFO] [stdout]    |                             ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn update_operation(&mut self) -> ImageUpdateOperation<'_> {
[INFO] [stdout]    |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/editor/image.rs:41:41
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn update_operation_with_region(&mut self, valid_region: Option<Region>) -> ImageUpdateOperation {
[INFO] [stdout]    |                                         ^^^^^^^^^ the lifetime is elided here       ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn update_operation_with_region(&mut self, valid_region: Option<Region>) -> ImageUpdateOperation<'_> {
[INFO] [stdout]    |                                                                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 07s
[INFO] running `Command { std: "docker" "inspect" "3cee96ee2cb11e38b1726bb3dce38139c92a58cbbc72faa2f057519b934721f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3cee96ee2cb11e38b1726bb3dce38139c92a58cbbc72faa2f057519b934721f2", kill_on_drop: false }`
[INFO] [stdout] 3cee96ee2cb11e38b1726bb3dce38139c92a58cbbc72faa2f057519b934721f2
