[INFO] updating cached repository https://github.com/lutianming/rustile
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] d415482664db41661d0b06ada6d08025cad91eeb
[INFO] checking lutianming/rustile against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flutianming%2Frustile" "/workspace/builds/worker-5/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/lutianming/rustile on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/lutianming/rustile
[INFO] finished tweaking git repo https://github.com/lutianming/rustile
[INFO] tweaked toml for git repo https://github.com/lutianming/rustile written to /workspace/builds/worker-5/source/Cargo.toml
[INFO] crate git repo https://github.com/lutianming/rustile already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr] warning: dependency (x11) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] [stderr] error: the lock file /workspace/builds/worker-5/source/Cargo.lock needs to be updated but --locked was passed to prevent this
[INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag.
[INFO] the lockfile is outdated, regenerating it
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"`
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr] warning: dependency (x11) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 74dd50d40627b58afcd55bab2c2fbe1c84f7ea7e07d7170ff7469aa63784573c
[INFO] running `"docker" "start" "-a" "74dd50d40627b58afcd55bab2c2fbe1c84f7ea7e07d7170ff7469aa63784573c"`
[INFO] [stderr] warning: dependency (x11) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] [stderr]    Compiling x11 v2.18.2
[INFO] [stderr]     Checking rustile v0.0.1 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unknown lint: `unstable`
[INFO] [stderr]  --> src/libx/mod.rs:1:10
[INFO] [stderr]   |
[INFO] [stderr] 1 | #![allow(unstable)]
[INFO] [stderr]   |          ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unknown_lints)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unknown lint: `unstable`
[INFO] [stderr]  --> src/libx/mod.rs:1:10
[INFO] [stderr]   |
[INFO] [stderr] 1 | #![allow(unstable)]
[INFO] [stderr]   |          ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unknown_lints)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `x11::xlib::Window`
[INFO] [stderr]  --> src/core/window_manager.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use x11::xlib::Window;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Lines`
[INFO] [stderr]  --> src/core/config.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::io::Lines;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ffi`
[INFO] [stderr]   --> src/core/config.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::ffi;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::boxed::Box`
[INFO] [stderr]   --> src/core/config.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use std::boxed::Box;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ptr`
[INFO] [stderr]  --> src/core/handler.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::ptr;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::WindowManager`
[INFO] [stderr]  --> src/core/handler.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use super::WindowManager;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Context`
[INFO] [stderr]   --> src/core/handler.rs:13:32
[INFO] [stderr]    |
[INFO] [stderr] 13 | use super::super::libx::{self, Context};
[INFO] [stderr]    |                                ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/core/handler.rs:53:25
[INFO] [stderr]    |
[INFO] [stderr] 53 | pub type HandleFn = Box<FnMut(&mut Workspaces)>;
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Workspaces)`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::mem`
[INFO] [stderr]  --> src/core/layout.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::mem;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ffi`
[INFO] [stderr]  --> src/core/layout.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::ffi;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ptr`
[INFO] [stderr]  --> src/core/layout.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::ptr;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self`
[INFO] [stderr]  --> src/core/layout.rs:9:24
[INFO] [stderr]   |
[INFO] [stderr] 9 | use super::container::{self, Container};
[INFO] [stderr]   |                        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/core/layout.rs:188:40
[INFO] [stderr]     |
[INFO] [stderr] 188 |         decorate(client, id==focus_id);;
[INFO] [stderr]     |                                        ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::super::super::libx`
[INFO] [stderr]    --> src/core/container.rs:552:9
[INFO] [stderr]     |
[INFO] [stderr] 552 |     use super::super::super::libx;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::boxed::Box`
[INFO] [stderr]   --> src/libx/mod.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::boxed::Box;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `x11::xlib::Window`
[INFO] [stderr]  --> src/core/window_manager.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use x11::xlib::Window;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Lines`
[INFO] [stderr]  --> src/core/config.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::io::Lines;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ffi`
[INFO] [stderr]   --> src/core/config.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::ffi;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::boxed::Box`
[INFO] [stderr]   --> src/core/config.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use std::boxed::Box;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ptr`
[INFO] [stderr]  --> src/core/handler.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::ptr;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::WindowManager`
[INFO] [stderr]  --> src/core/handler.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use super::WindowManager;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Context`
[INFO] [stderr]   --> src/core/handler.rs:13:32
[INFO] [stderr]    |
[INFO] [stderr] 13 | use super::super::libx::{self, Context};
[INFO] [stderr]    |                                ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/core/handler.rs:53:25
[INFO] [stderr]    |
[INFO] [stderr] 53 | pub type HandleFn = Box<FnMut(&mut Workspaces)>;
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Workspaces)`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::mem`
[INFO] [stderr]  --> src/core/layout.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::mem;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ffi`
[INFO] [stderr]  --> src/core/layout.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::ffi;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ptr`
[INFO] [stderr]  --> src/core/layout.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::ptr;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self`
[INFO] [stderr]  --> src/core/layout.rs:9:24
[INFO] [stderr]   |
[INFO] [stderr] 9 | use super::container::{self, Container};
[INFO] [stderr]   |                        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/core/layout.rs:188:40
[INFO] [stderr]     |
[INFO] [stderr] 188 |         decorate(client, id==focus_id);;
[INFO] [stderr]     |                                        ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::boxed::Box`
[INFO] [stderr]   --> src/libx/mod.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::boxed::Box;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `display`
[INFO] [stderr]   --> src/core/window_manager.rs:16:32
[INFO] [stderr]    |
[INFO] [stderr] 16 | unsafe extern fn error_handler(display: *mut xlib::Display, event: *mut xlib::XErrorEvent) -> libc::c_int {
[INFO] [stderr]    |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `event`
[INFO] [stderr]   --> src/core/window_manager.rs:16:61
[INFO] [stderr]    |
[INFO] [stderr] 16 | unsafe extern fn error_handler(display: *mut xlib::Display, event: *mut xlib::XErrorEvent) -> libc::c_int {
[INFO] [stderr]    |                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `root`
[INFO] [stderr]   --> src/core/window_manager.rs:35:9
[INFO] [stderr]    |
[INFO] [stderr] 35 |     let root = context.root;
[INFO] [stderr]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_root`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `p`
[INFO] [stderr]   --> src/core/window_manager.rs:64:13
[INFO] [stderr]    |
[INFO] [stderr] 64 |         let p = setlocale(6, s);
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `res`
[INFO] [stderr]   --> src/core/window_manager.rs:65:13
[INFO] [stderr]    |
[INFO] [stderr] 65 |         let res = xlib::XSupportsLocale();
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `res`
[INFO] [stderr]   --> src/core/window_manager.rs:66:13
[INFO] [stderr]    |
[INFO] [stderr] 66 |         let res = xlib::XSetLocaleModifiers(s);
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `mask`
[INFO] [stderr]    --> src/core/window_manager.rs:177:17
[INFO] [stderr]     |
[INFO] [stderr] 177 |             let mask = 0x420010;
[INFO] [stderr]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_mask`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]    --> src/core/window_manager.rs:193:13
[INFO] [stderr]     |
[INFO] [stderr] 193 |         let s = libx::get_atom_name(self.context, event.message_type);
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `event`
[INFO] [stderr]    --> src/core/window_manager.rs:222:44
[INFO] [stderr]     |
[INFO] [stderr] 222 |     pub fn handle_button_motion(&mut self, event: &xlib::XMotionEvent) {
[INFO] [stderr]     |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> src/core/window_manager.rs:250:45
[INFO] [stderr]     |
[INFO] [stderr] 250 |                     container::Mode::Resize(index, x, y) => {
[INFO] [stderr]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/core/window_manager.rs:250:52
[INFO] [stderr]     |
[INFO] [stderr] 250 |                     container::Mode::Resize(index, x, y) => {
[INFO] [stderr]     |                                                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `y`
[INFO] [stderr]    --> src/core/window_manager.rs:250:55
[INFO] [stderr]     |
[INFO] [stderr] 250 |                     container::Mode::Resize(index, x, y) => {
[INFO] [stderr]     |                                                       ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `usertime`
[INFO] [stderr]    --> src/core/window_manager.rs:305:13
[INFO] [stderr]     |
[INFO] [stderr] 305 |         let usertime = libx::get_atom(self.context, "_NET_WM_USER_TIME");
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_usertime`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `usertime`
[INFO] [stderr]    --> src/core/window_manager.rs:307:13
[INFO] [stderr]     |
[INFO] [stderr] 307 |             usertime => {
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_usertime`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `mask`
[INFO] [stderr]    --> src/core/window_manager.rs:452:13
[INFO] [stderr]     |
[INFO] [stderr] 452 |         let mask = 0x1A0034;
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_mask`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]   --> src/core/config.rs:60:29
[INFO] [stderr]    |
[INFO] [stderr] 60 |                         Err(err) => {
[INFO] [stderr]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]   --> src/core/config.rs:66:17
[INFO] [stderr]    |
[INFO] [stderr] 66 |             Err(err) => {
[INFO] [stderr]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `workspaces`
[INFO] [stderr]   --> src/core/handler.rs:56:20
[INFO] [stderr]    |
[INFO] [stderr] 56 |     Box::new(move |workspaces| {cmd.spawn();})
[INFO] [stderr]    |                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspaces`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `boundingbox`
[INFO] [stderr]   --> src/core/layout.rs:93:18
[INFO] [stderr]    |
[INFO] [stderr] 93 |             let (boundingbox, dummy) = libx::text_extents(context, s.clone());
[INFO] [stderr]    |                  ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boundingbox`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/core/layout.rs:164:10
[INFO] [stderr]     |
[INFO] [stderr] 164 |     for (i, client) in container.clients.iter_mut().enumerate() {
[INFO] [stderr]     |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `k`
[INFO] [stderr]    --> src/core/workspaces.rs:167:14
[INFO] [stderr]     |
[INFO] [stderr] 167 |         for (k, workspace) in self.spaces.iter_mut() {
[INFO] [stderr]     |              ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `k`
[INFO] [stderr]    --> src/core/workspaces.rs:192:19
[INFO] [stderr]     |
[INFO] [stderr] 192 |             Some((k, c)) => {
[INFO] [stderr]     |                   ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/core/container.rs:102:13
[INFO] [stderr]     |
[INFO] [stderr] 102 |         for i in 0..indent {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/core/container.rs:427:14
[INFO] [stderr]     |
[INFO] [stderr] 427 |         let (x, _) = libx::get_input_focus(self.context);
[INFO] [stderr]     |              ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `p`
[INFO] [stderr]    --> src/core/container.rs:432:21
[INFO] [stderr]     |
[INFO] [stderr] 432 |         if let Some(p) = self.get_parent() {
[INFO] [stderr]     |                     ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `gc`
[INFO] [stderr]   --> src/core/taskbar.rs:55:13
[INFO] [stderr]    |
[INFO] [stderr] 55 |         let gc = context.gc;
[INFO] [stderr]    |             ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `display`
[INFO] [stderr]   --> src/core/taskbar.rs:56:13
[INFO] [stderr]    |
[INFO] [stderr] 56 |         let display = context.display;
[INFO] [stderr]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `boundingbox`
[INFO] [stderr]   --> src/core/taskbar.rs:84:22
[INFO] [stderr]    |
[INFO] [stderr] 84 |                 let (boundingbox, dummy) = libx::text_extents(context, s.clone());
[INFO] [stderr]    |                      ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boundingbox`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/libx/mod.rs:184:21
[INFO] [stderr]     |
[INFO] [stderr] 184 |                 Err(e) => {
[INFO] [stderr]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `root` is assigned to, but never used
[INFO] [stderr]    --> src/libx/mod.rs:273:13
[INFO] [stderr]     |
[INFO] [stderr] 273 |     let mut root = 0;
[INFO] [stderr]     |             ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_root` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `root` is never read
[INFO] [stderr]    --> src/libx/mod.rs:285:21
[INFO] [stderr]     |
[INFO] [stderr] 285 |                     root = r;
[INFO] [stderr]     |                     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pointer_root`
[INFO] [stderr]    --> src/libx/mod.rs:355:9
[INFO] [stderr]     |
[INFO] [stderr] 355 |     let pointer_root = 1;
[INFO] [stderr]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pointer_root`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parent`
[INFO] [stderr]    --> src/libx/mod.rs:356:9
[INFO] [stderr]     |
[INFO] [stderr] 356 |     let parent = 2;
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]    --> src/libx/mod.rs:368:13
[INFO] [stderr]     |
[INFO] [stderr] 368 |         let s = xlib::XGetInputFocus(context.display, &mut window, &mut revert_to);
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `status`
[INFO] [stderr]    --> src/libx/mod.rs:446:9
[INFO] [stderr]     |
[INFO] [stderr] 446 |     let status: *mut xlib::XComposeStatus = ptr::null_mut();
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `r`
[INFO] [stderr]    --> src/libx/mod.rs:518:13
[INFO] [stderr]     |
[INFO] [stderr] 518 |         let r = xlib::XParseColor(display, cmap, cname, &mut color);
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/core/window_manager.rs:37:9
[INFO] [stderr]    |
[INFO] [stderr] 37 |     let mut values: xlib::XGCValues = unsafe{ mem::zeroed() };
[INFO] [stderr]    |         ----^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:113:6
[INFO] [stderr]     |
[INFO] [stderr] 113 |     let mut wm = WindowManager {
[INFO] [stderr]     |         ----^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `display`
[INFO] [stderr]   --> src/core/window_manager.rs:16:32
[INFO] [stderr]    |
[INFO] [stderr] 16 | unsafe extern fn error_handler(display: *mut xlib::Display, event: *mut xlib::XErrorEvent) -> libc::c_int {
[INFO] [stderr]    |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `event`
[INFO] [stderr]   --> src/core/window_manager.rs:16:61
[INFO] [stderr]    |
[INFO] [stderr] 16 | unsafe extern fn error_handler(display: *mut xlib::Display, event: *mut xlib::XErrorEvent) -> libc::c_int {
[INFO] [stderr]    |                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `root`
[INFO] [stderr]   --> src/core/window_manager.rs:35:9
[INFO] [stderr]    |
[INFO] [stderr] 35 |     let root = context.root;
[INFO] [stderr]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_root`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `p`
[INFO] [stderr]   --> src/core/window_manager.rs:64:13
[INFO] [stderr]    |
[INFO] [stderr] 64 |         let p = setlocale(6, s);
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `res`
[INFO] [stderr]   --> src/core/window_manager.rs:65:13
[INFO] [stderr]    |
[INFO] [stderr] 65 |         let res = xlib::XSupportsLocale();
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `res`
[INFO] [stderr]   --> src/core/window_manager.rs:66:13
[INFO] [stderr]    |
[INFO] [stderr] 66 |         let res = xlib::XSetLocaleModifiers(s);
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `mask`
[INFO] [stderr]    --> src/core/window_manager.rs:177:17
[INFO] [stderr]     |
[INFO] [stderr] 177 |             let mask = 0x420010;
[INFO] [stderr]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_mask`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]    --> src/core/window_manager.rs:193:13
[INFO] [stderr]     |
[INFO] [stderr] 193 |         let s = libx::get_atom_name(self.context, event.message_type);
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `event`
[INFO] [stderr]    --> src/core/window_manager.rs:222:44
[INFO] [stderr]     |
[INFO] [stderr] 222 |     pub fn handle_button_motion(&mut self, event: &xlib::XMotionEvent) {
[INFO] [stderr]     |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> src/core/window_manager.rs:250:45
[INFO] [stderr]     |
[INFO] [stderr] 250 |                     container::Mode::Resize(index, x, y) => {
[INFO] [stderr]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/core/window_manager.rs:250:52
[INFO] [stderr]     |
[INFO] [stderr] 250 |                     container::Mode::Resize(index, x, y) => {
[INFO] [stderr]     |                                                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `y`
[INFO] [stderr]    --> src/core/window_manager.rs:250:55
[INFO] [stderr]     |
[INFO] [stderr] 250 |                     container::Mode::Resize(index, x, y) => {
[INFO] [stderr]     |                                                       ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `usertime`
[INFO] [stderr]    --> src/core/window_manager.rs:305:13
[INFO] [stderr]     |
[INFO] [stderr] 305 |         let usertime = libx::get_atom(self.context, "_NET_WM_USER_TIME");
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_usertime`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `usertime`
[INFO] [stderr]    --> src/core/window_manager.rs:307:13
[INFO] [stderr]     |
[INFO] [stderr] 307 |             usertime => {
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_usertime`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `mask`
[INFO] [stderr]    --> src/core/window_manager.rs:452:13
[INFO] [stderr]     |
[INFO] [stderr] 452 |         let mask = 0x1A0034;
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_mask`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]   --> src/core/config.rs:60:29
[INFO] [stderr]    |
[INFO] [stderr] 60 |                         Err(err) => {
[INFO] [stderr]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]   --> src/core/config.rs:66:17
[INFO] [stderr]    |
[INFO] [stderr] 66 |             Err(err) => {
[INFO] [stderr]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `workspaces`
[INFO] [stderr]   --> src/core/handler.rs:56:20
[INFO] [stderr]    |
[INFO] [stderr] 56 |     Box::new(move |workspaces| {cmd.spawn();})
[INFO] [stderr]    |                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspaces`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:314:13
[INFO] [stderr]     |
[INFO] [stderr] 314 |         let mut change = xlib::XWindowChanges {
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `boundingbox`
[INFO] [stderr]   --> src/core/layout.rs:93:18
[INFO] [stderr]    |
[INFO] [stderr] 93 |             let (boundingbox, dummy) = libx::text_extents(context, s.clone());
[INFO] [stderr]    |                  ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boundingbox`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/core/layout.rs:164:10
[INFO] [stderr]     |
[INFO] [stderr] 164 |     for (i, client) in container.clients.iter_mut().enumerate() {
[INFO] [stderr]     |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `k`
[INFO] [stderr]    --> src/core/workspaces.rs:167:14
[INFO] [stderr]     |
[INFO] [stderr] 167 |         for (k, workspace) in self.spaces.iter_mut() {
[INFO] [stderr]     |              ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `k`
[INFO] [stderr]    --> src/core/workspaces.rs:192:19
[INFO] [stderr]     |
[INFO] [stderr] 192 |             Some((k, c)) => {
[INFO] [stderr]     |                   ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/core/container.rs:102:13
[INFO] [stderr]     |
[INFO] [stderr] 102 |         for i in 0..indent {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/core/container.rs:427:14
[INFO] [stderr]     |
[INFO] [stderr] 427 |         let (x, _) = libx::get_input_focus(self.context);
[INFO] [stderr]     |              ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `p`
[INFO] [stderr]    --> src/core/container.rs:432:21
[INFO] [stderr]     |
[INFO] [stderr] 432 |         if let Some(p) = self.get_parent() {
[INFO] [stderr]     |                     ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `gc`
[INFO] [stderr]   --> src/core/taskbar.rs:55:13
[INFO] [stderr]    |
[INFO] [stderr] 55 |         let gc = context.gc;
[INFO] [stderr]    |             ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `display`
[INFO] [stderr]   --> src/core/taskbar.rs:56:13
[INFO] [stderr]    |
[INFO] [stderr] 56 |         let display = context.display;
[INFO] [stderr]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `boundingbox`
[INFO] [stderr]   --> src/core/taskbar.rs:84:22
[INFO] [stderr]    |
[INFO] [stderr] 84 |                 let (boundingbox, dummy) = libx::text_extents(context, s.clone());
[INFO] [stderr]    |                      ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boundingbox`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/libx/mod.rs:184:21
[INFO] [stderr]     |
[INFO] [stderr] 184 |                 Err(e) => {
[INFO] [stderr]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `root` is assigned to, but never used
[INFO] [stderr]    --> src/libx/mod.rs:273:13
[INFO] [stderr]     |
[INFO] [stderr] 273 |     let mut root = 0;
[INFO] [stderr]     |             ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_root` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `root` is never read
[INFO] [stderr]    --> src/libx/mod.rs:285:21
[INFO] [stderr]     |
[INFO] [stderr] 285 |                     root = r;
[INFO] [stderr]     |                     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pointer_root`
[INFO] [stderr]    --> src/libx/mod.rs:355:9
[INFO] [stderr]     |
[INFO] [stderr] 355 |     let pointer_root = 1;
[INFO] [stderr]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pointer_root`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parent`
[INFO] [stderr]    --> src/libx/mod.rs:356:9
[INFO] [stderr]     |
[INFO] [stderr] 356 |     let parent = 2;
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]    --> src/libx/mod.rs:368:13
[INFO] [stderr]     |
[INFO] [stderr] 368 |         let s = xlib::XGetInputFocus(context.display, &mut window, &mut revert_to);
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `status`
[INFO] [stderr]    --> src/libx/mod.rs:446:9
[INFO] [stderr]     |
[INFO] [stderr] 446 |     let status: *mut xlib::XComposeStatus = ptr::null_mut();
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `r`
[INFO] [stderr]    --> src/libx/mod.rs:518:13
[INFO] [stderr]     |
[INFO] [stderr] 518 |         let r = xlib::XParseColor(display, cmap, cname, &mut color);
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/core/window_manager.rs:37:9
[INFO] [stderr]    |
[INFO] [stderr] 37 |     let mut values: xlib::XGCValues = unsafe{ mem::zeroed() };
[INFO] [stderr]    |         ----^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:113:6
[INFO] [stderr]     |
[INFO] [stderr] 113 |     let mut wm = WindowManager {
[INFO] [stderr]     |         ----^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:390:21
[INFO] [stderr]     |
[INFO] [stderr] 390 |                 let mut event: xlib::XMotionEvent = From::from(e);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:395:21
[INFO] [stderr]     |
[INFO] [stderr] 395 |                 let mut event: xlib::XButtonEvent = From::from(e);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:399:21
[INFO] [stderr]     |
[INFO] [stderr] 399 |                 let mut event: xlib::XButtonEvent = From::from(e);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:406:21
[INFO] [stderr]     |
[INFO] [stderr] 406 |                 let mut event: xlib::XConfigureRequestEvent = From::from(e);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:411:21
[INFO] [stderr]     |
[INFO] [stderr] 411 |                 let mut event: xlib::XFocusChangeEvent = From::from(e);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:417:21
[INFO] [stderr]     |
[INFO] [stderr] 417 |                 let mut event: xlib::XFocusChangeEvent = From::from(e);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:421:21
[INFO] [stderr]     |
[INFO] [stderr] 421 |                 let mut event: xlib::XCrossingEvent = From::from(e);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:425:21
[INFO] [stderr]     |
[INFO] [stderr] 425 |                 let mut event: xlib::XCrossingEvent = From::from(e);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:430:21
[INFO] [stderr]     |
[INFO] [stderr] 430 |                 let mut event: xlib::XPropertyEvent = From::from(e);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:442:17
[INFO] [stderr]     |
[INFO] [stderr] 442 |             let mut e = libx::next_event(self.context);
[INFO] [stderr]     |                 ----^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:314:13
[INFO] [stderr]     |
[INFO] [stderr] 314 |         let mut change = xlib::XWindowChanges {
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/config.rs:108:21
[INFO] [stderr]     |
[INFO] [stderr] 108 |                 let mut cmd = build_cmd(args);
[INFO] [stderr]     |                     ----^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:390:21
[INFO] [stderr]     |
[INFO] [stderr] 390 |                 let mut event: xlib::XMotionEvent = From::from(e);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:395:21
[INFO] [stderr]     |
[INFO] [stderr] 395 |                 let mut event: xlib::XButtonEvent = From::from(e);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:399:21
[INFO] [stderr]     |
[INFO] [stderr] 399 |                 let mut event: xlib::XButtonEvent = From::from(e);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:406:21
[INFO] [stderr]     |
[INFO] [stderr] 406 |                 let mut event: xlib::XConfigureRequestEvent = From::from(e);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:411:21
[INFO] [stderr]     |
[INFO] [stderr] 411 |                 let mut event: xlib::XFocusChangeEvent = From::from(e);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:417:21
[INFO] [stderr]     |
[INFO] [stderr] 417 |                 let mut event: xlib::XFocusChangeEvent = From::from(e);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:421:21
[INFO] [stderr]     |
[INFO] [stderr] 421 |                 let mut event: xlib::XCrossingEvent = From::from(e);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:425:21
[INFO] [stderr]     |
[INFO] [stderr] 425 |                 let mut event: xlib::XCrossingEvent = From::from(e);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:430:21
[INFO] [stderr]     |
[INFO] [stderr] 430 |                 let mut event: xlib::XPropertyEvent = From::from(e);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/window_manager.rs:442:17
[INFO] [stderr]     |
[INFO] [stderr] 442 |             let mut e = libx::next_event(self.context);
[INFO] [stderr]     |                 ----^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/config.rs:108:21
[INFO] [stderr]     |
[INFO] [stderr] 108 |                 let mut cmd = build_cmd(args);
[INFO] [stderr]     |                     ----^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/container.rs:566:13
[INFO] [stderr]     |
[INFO] [stderr] 566 |         let mut wm = init();
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/libx/mod.rs:389:9
[INFO] [stderr]     |
[INFO] [stderr] 389 |     let mut change = xlib::XWindowChanges {
[INFO] [stderr]     |         ----^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/libx/mod.rs:389:9
[INFO] [stderr]     |
[INFO] [stderr] 389 |     let mut change = xlib::XWindowChanges {
[INFO] [stderr]     |         ----^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> src/core/taskbar.rs:62:13
[INFO] [stderr]    |
[INFO] [stderr] 62 |             unsafe{
[INFO] [stderr]    |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> src/core/taskbar.rs:62:13
[INFO] [stderr]    |
[INFO] [stderr] 62 |             unsafe{
[INFO] [stderr]    |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `CWX`
[INFO] [stderr]   --> src/core/layout.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | const CWX: libc::c_uint = 1<<0;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `CWY`
[INFO] [stderr]   --> src/core/layout.rs:13:1
[INFO] [stderr]    |
[INFO] [stderr] 13 | const CWY: libc::c_uint = 1<<1;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `CWWidth`
[INFO] [stderr]   --> src/core/layout.rs:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 | const CWWidth: libc::c_uint = 1<<2;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `CWHeight`
[INFO] [stderr]   --> src/core/layout.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | const CWHeight: libc::c_uint = 1<<3;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `CWBorderWidth`
[INFO] [stderr]   --> src/core/layout.rs:16:1
[INFO] [stderr]    |
[INFO] [stderr] 16 | const CWBorderWidth: libc::c_uint = 1<<4;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `CWSibling`
[INFO] [stderr]   --> src/core/layout.rs:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | const CWSibling: libc::c_uint =    1<<5;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `CWStackMode`
[INFO] [stderr]   --> src/core/layout.rs:18:1
[INFO] [stderr]    |
[INFO] [stderr] 18 | const CWStackMode: libc::c_uint = 1<<6;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `CWBorderWidth`
[INFO] [stderr]   --> src/libx/mod.rs:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | const CWBorderWidth: libc::c_uint = 1<<4;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `CWSibling`
[INFO] [stderr]   --> src/libx/mod.rs:22:1
[INFO] [stderr]    |
[INFO] [stderr] 22 | const CWSibling: libc::c_uint =    1<<5;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `CWStackMode`
[INFO] [stderr]   --> src/libx/mod.rs:23:1
[INFO] [stderr]    |
[INFO] [stderr] 23 | const CWStackMode: libc::c_uint = 1<<6;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `get_window_property`
[INFO] [stderr]    --> src/libx/mod.rs:234:4
[INFO] [stderr]     |
[INFO] [stderr] 234 | fn get_window_property(context: Context, window: Window, atom: xlib::Atom) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/core/config.rs:86:21
[INFO] [stderr]    |
[INFO] [stderr] 86 |                     cmd.spawn();
[INFO] [stderr]    |                     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `CWX`
[INFO] [stderr]   --> src/core/layout.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | const CWX: libc::c_uint = 1<<0;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `CWY`
[INFO] [stderr]   --> src/core/layout.rs:13:1
[INFO] [stderr]    |
[INFO] [stderr] 13 | const CWY: libc::c_uint = 1<<1;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `CWWidth`
[INFO] [stderr]   --> src/core/layout.rs:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 | const CWWidth: libc::c_uint = 1<<2;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `CWHeight`
[INFO] [stderr]   --> src/core/layout.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | const CWHeight: libc::c_uint = 1<<3;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `CWBorderWidth`
[INFO] [stderr]   --> src/core/layout.rs:16:1
[INFO] [stderr]    |
[INFO] [stderr] 16 | const CWBorderWidth: libc::c_uint = 1<<4;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/core/handler.rs:56:33
[INFO] [stderr]    |
[INFO] [stderr] 56 |     Box::new(move |workspaces| {cmd.spawn();})
[INFO] [stderr]    |                                 ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `CWSibling`
[INFO] [stderr]   --> src/core/layout.rs:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | const CWSibling: libc::c_uint =    1<<5;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `CWStackMode`
[INFO] [stderr]   --> src/core/layout.rs:18:1
[INFO] [stderr]    |
[INFO] [stderr] 18 | const CWStackMode: libc::c_uint = 1<<6;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CWWidth` should have an upper case name
[INFO] [stderr]   --> src/core/layout.rs:14:7
[INFO] [stderr]    |
[INFO] [stderr] 14 | const CWWidth: libc::c_uint = 1<<2;
[INFO] [stderr]    |       ^^^^^^^ help: convert the identifier to upper case: `CWWIDTH`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `clean`
[INFO] [stderr]    --> src/core/container.rs:560:8
[INFO] [stderr]     |
[INFO] [stderr] 560 |     fn clean() {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `CWBorderWidth`
[INFO] [stderr]   --> src/libx/mod.rs:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | const CWBorderWidth: libc::c_uint = 1<<4;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CWHeight` should have an upper case name
[INFO] [stderr]   --> src/core/layout.rs:15:7
[INFO] [stderr]    |
[INFO] [stderr] 15 | const CWHeight: libc::c_uint = 1<<3;
[INFO] [stderr]    |       ^^^^^^^^ help: convert the identifier to upper case: `CWHEIGHT`
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `CWSibling`
[INFO] [stderr]   --> src/libx/mod.rs:22:1
[INFO] [stderr]    |
[INFO] [stderr] 22 | const CWSibling: libc::c_uint =    1<<5;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CWBorderWidth` should have an upper case name
[INFO] [stderr]   --> src/core/layout.rs:16:7
[INFO] [stderr]    |
[INFO] [stderr] 16 | const CWBorderWidth: libc::c_uint = 1<<4;
[INFO] [stderr]    |       ^^^^^^^^^^^^^ help: convert the identifier to upper case: `CWBORDER_WIDTH`
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `CWStackMode`
[INFO] [stderr]   --> src/libx/mod.rs:23:1
[INFO] [stderr]    |
[INFO] [stderr] 23 | const CWStackMode: libc::c_uint = 1<<6;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CWSibling` should have an upper case name
[INFO] [stderr]   --> src/core/layout.rs:17:7
[INFO] [stderr]    |
[INFO] [stderr] 17 | const CWSibling: libc::c_uint =    1<<5;
[INFO] [stderr]    |       ^^^^^^^^^ help: convert the identifier to upper case: `CWSIBLING`
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `get_window_property`
[INFO] [stderr]    --> src/libx/mod.rs:234:4
[INFO] [stderr]     |
[INFO] [stderr] 234 | fn get_window_property(context: Context, window: Window, atom: xlib::Atom) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CWStackMode` should have an upper case name
[INFO] [stderr]   --> src/core/layout.rs:18:7
[INFO] [stderr]    |
[INFO] [stderr] 18 | const CWStackMode: libc::c_uint = 1<<6;
[INFO] [stderr]    |       ^^^^^^^^^^^ help: convert the identifier to upper case: `CWSTACK_MODE`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `border` should have an upper case name
[INFO] [stderr]   --> src/core/layout.rs:20:7
[INFO] [stderr]    |
[INFO] [stderr] 20 | const border: u32 = 1;
[INFO] [stderr]    |       ^^^^^^ help: convert the identifier to upper case: `BORDER`
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/core/container.rs:280:12
[INFO] [stderr]     |
[INFO] [stderr] 280 |         if index >= 0 && index < size && neighbor >= 0 && neighbor < size {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/core/container.rs:280:42
[INFO] [stderr]     |
[INFO] [stderr] 280 |         if index >= 0 && index < size && neighbor >= 0 && neighbor < size {
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/core/container.rs:352:20
[INFO] [stderr]     |
[INFO] [stderr] 352 |                 if last < 0 {
[INFO] [stderr]     |                    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CWWidth` should have an upper case name
[INFO] [stderr]   --> src/libx/mod.rs:19:7
[INFO] [stderr]    |
[INFO] [stderr] 19 | const CWWidth: libc::c_uint = 1<<2;
[INFO] [stderr]    |       ^^^^^^^ help: convert the identifier to upper case: `CWWIDTH`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CWHeight` should have an upper case name
[INFO] [stderr]   --> src/libx/mod.rs:20:7
[INFO] [stderr]    |
[INFO] [stderr] 20 | const CWHeight: libc::c_uint = 1<<3;
[INFO] [stderr]    |       ^^^^^^^^ help: convert the identifier to upper case: `CWHEIGHT`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CWBorderWidth` should have an upper case name
[INFO] [stderr]   --> src/libx/mod.rs:21:7
[INFO] [stderr]    |
[INFO] [stderr] 21 | const CWBorderWidth: libc::c_uint = 1<<4;
[INFO] [stderr]    |       ^^^^^^^^^^^^^ help: convert the identifier to upper case: `CWBORDER_WIDTH`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CWSibling` should have an upper case name
[INFO] [stderr]   --> src/libx/mod.rs:22:7
[INFO] [stderr]    |
[INFO] [stderr] 22 | const CWSibling: libc::c_uint =    1<<5;
[INFO] [stderr]    |       ^^^^^^^^^ help: convert the identifier to upper case: `CWSIBLING`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CWStackMode` should have an upper case name
[INFO] [stderr]   --> src/libx/mod.rs:23:7
[INFO] [stderr]    |
[INFO] [stderr] 23 | const CWStackMode: libc::c_uint = 1<<6;
[INFO] [stderr]    |       ^^^^^^^^^^^ help: convert the identifier to upper case: `CWSTACK_MODE`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/core/config.rs:86:21
[INFO] [stderr]    |
[INFO] [stderr] 86 |                     cmd.spawn();
[INFO] [stderr]    |                     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/core/handler.rs:56:33
[INFO] [stderr]    |
[INFO] [stderr] 56 |     Box::new(move |workspaces| {cmd.spawn();})
[INFO] [stderr]    |                                 ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CWWidth` should have an upper case name
[INFO] [stderr]   --> src/core/layout.rs:14:7
[INFO] [stderr]    |
[INFO] [stderr] 14 | const CWWidth: libc::c_uint = 1<<2;
[INFO] [stderr]    |       ^^^^^^^ help: convert the identifier to upper case: `CWWIDTH`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CWHeight` should have an upper case name
[INFO] [stderr]   --> src/core/layout.rs:15:7
[INFO] [stderr]    |
[INFO] [stderr] 15 | const CWHeight: libc::c_uint = 1<<3;
[INFO] [stderr]    |       ^^^^^^^^ help: convert the identifier to upper case: `CWHEIGHT`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CWBorderWidth` should have an upper case name
[INFO] [stderr]   --> src/core/layout.rs:16:7
[INFO] [stderr]    |
[INFO] [stderr] 16 | const CWBorderWidth: libc::c_uint = 1<<4;
[INFO] [stderr]    |       ^^^^^^^^^^^^^ help: convert the identifier to upper case: `CWBORDER_WIDTH`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CWSibling` should have an upper case name
[INFO] [stderr]   --> src/core/layout.rs:17:7
[INFO] [stderr]    |
[INFO] [stderr] 17 | const CWSibling: libc::c_uint =    1<<5;
[INFO] [stderr]    |       ^^^^^^^^^ help: convert the identifier to upper case: `CWSIBLING`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CWStackMode` should have an upper case name
[INFO] [stderr]   --> src/core/layout.rs:18:7
[INFO] [stderr]    |
[INFO] [stderr] 18 | const CWStackMode: libc::c_uint = 1<<6;
[INFO] [stderr]    |       ^^^^^^^^^^^ help: convert the identifier to upper case: `CWSTACK_MODE`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `border` should have an upper case name
[INFO] [stderr]   --> src/core/layout.rs:20:7
[INFO] [stderr]    |
[INFO] [stderr] 20 | const border: u32 = 1;
[INFO] [stderr]    |       ^^^^^^ help: convert the identifier to upper case: `BORDER`
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/core/container.rs:280:12
[INFO] [stderr]     |
[INFO] [stderr] 280 |         if index >= 0 && index < size && neighbor >= 0 && neighbor < size {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/core/container.rs:280:42
[INFO] [stderr]     |
[INFO] [stderr] 280 |         if index >= 0 && index < size && neighbor >= 0 && neighbor < size {
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/core/container.rs:352:20
[INFO] [stderr]     |
[INFO] [stderr] 352 |                 if last < 0 {
[INFO] [stderr]     |                    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CWWidth` should have an upper case name
[INFO] [stderr]   --> src/libx/mod.rs:19:7
[INFO] [stderr]    |
[INFO] [stderr] 19 | const CWWidth: libc::c_uint = 1<<2;
[INFO] [stderr]    |       ^^^^^^^ help: convert the identifier to upper case: `CWWIDTH`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CWHeight` should have an upper case name
[INFO] [stderr]   --> src/libx/mod.rs:20:7
[INFO] [stderr]    |
[INFO] [stderr] 20 | const CWHeight: libc::c_uint = 1<<3;
[INFO] [stderr]    |       ^^^^^^^^ help: convert the identifier to upper case: `CWHEIGHT`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CWBorderWidth` should have an upper case name
[INFO] [stderr]   --> src/libx/mod.rs:21:7
[INFO] [stderr]    |
[INFO] [stderr] 21 | const CWBorderWidth: libc::c_uint = 1<<4;
[INFO] [stderr]    |       ^^^^^^^^^^^^^ help: convert the identifier to upper case: `CWBORDER_WIDTH`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CWSibling` should have an upper case name
[INFO] [stderr]   --> src/libx/mod.rs:22:7
[INFO] [stderr]    |
[INFO] [stderr] 22 | const CWSibling: libc::c_uint =    1<<5;
[INFO] [stderr]    |       ^^^^^^^^^ help: convert the identifier to upper case: `CWSIBLING`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CWStackMode` should have an upper case name
[INFO] [stderr]   --> src/libx/mod.rs:23:7
[INFO] [stderr]    |
[INFO] [stderr] 23 | const CWStackMode: libc::c_uint = 1<<6;
[INFO] [stderr]    |       ^^^^^^^^^^^ help: convert the identifier to upper case: `CWSTACK_MODE`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> src/main.rs:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> src/main.rs:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for unit type `()` in the current scope
[INFO] [stderr]   --> src/main.rs:13:24
[INFO] [stderr]    |
[INFO] [stderr] 13 |     env_logger::init().unwrap();
[INFO] [stderr]    |                        ^^^^^^ method not found in `()`
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to previous error
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0599`.
[INFO] [stderr] error: could not compile `rustile`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error[E0599]: no method named `unwrap` found for unit type `()` in the current scope
[INFO] [stderr]   --> src/main.rs:13:24
[INFO] [stderr]    |
[INFO] [stderr] 13 |     env_logger::init().unwrap();
[INFO] [stderr]    |                        ^^^^^^ method not found in `()`
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to previous error
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0599`.
[INFO] [stderr] error: could not compile `rustile`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "74dd50d40627b58afcd55bab2c2fbe1c84f7ea7e07d7170ff7469aa63784573c"`
[INFO] running `"docker" "rm" "-f" "74dd50d40627b58afcd55bab2c2fbe1c84f7ea7e07d7170ff7469aa63784573c"`
[INFO] [stdout] 74dd50d40627b58afcd55bab2c2fbe1c84f7ea7e07d7170ff7469aa63784573c
