[INFO] cloning repository https://github.com/lutianming/rustile [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lutianming/rustile" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flutianming%2Frustile", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flutianming%2Frustile'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d415482664db41661d0b06ada6d08025cad91eeb [INFO] testing lutianming/rustile against try#ecabaf78506b7a4668d42dc20268c086b93f0fad for pr-87041 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flutianming%2Frustile" "/workspace/builds/worker-13/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/lutianming/rustile on toolchain ecabaf78506b7a4668d42dc20268c086b93f0fad [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ecabaf78506b7a4668d42dc20268c086b93f0fad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-13/source/Cargo.toml [INFO] crate git repo https://github.com/lutianming/rustile already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ecabaf78506b7a4668d42dc20268c086b93f0fad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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] Downloading crates ... [INFO] [stderr] Downloaded regex v0.1.33 [INFO] [stderr] Downloaded x11 v1.1.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+ecabaf78506b7a4668d42dc20268c086b93f0fad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] dfe768920c3d7214c463521bb89a420518d975fe21bf7d724e9285938a132e72 [INFO] running `Command { std: "docker" "start" "-a" "dfe768920c3d7214c463521bb89a420518d975fe21bf7d724e9285938a132e72", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dfe768920c3d7214c463521bb89a420518d975fe21bf7d724e9285938a132e72", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dfe768920c3d7214c463521bb89a420518d975fe21bf7d724e9285938a132e72", kill_on_drop: false }` [INFO] [stdout] dfe768920c3d7214c463521bb89a420518d975fe21bf7d724e9285938a132e72 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+ecabaf78506b7a4668d42dc20268c086b93f0fad" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b100bfb45ad3764e2e6ba933c2f7acf3cb2f4765fd659d8c9bccf227af09038d [INFO] running `Command { std: "docker" "start" "-a" "b100bfb45ad3764e2e6ba933c2f7acf3cb2f4765fd659d8c9bccf227af09038d", kill_on_drop: false }` [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 pkg-config v0.3.4 [INFO] [stderr] Compiling libc v0.1.8 [INFO] [stderr] Compiling regex-syntax v0.1.2 [INFO] [stderr] Compiling log v0.3.1 [INFO] [stderr] Compiling x11 v1.1.1 [INFO] [stderr] Compiling regex v0.1.33 [INFO] [stderr] Compiling env_logger v0.3.1 [INFO] [stderr] Compiling rustile v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unknown lint: `unstable` [INFO] [stdout] --> src/libx/mod.rs:1:10 [INFO] [stdout] | [INFO] [stdout] 1 | #![allow(unstable)] [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unknown_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x11::xlib::Window` [INFO] [stdout] --> src/core/window_manager.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use x11::xlib::Window; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Lines` [INFO] [stdout] --> src/core/config.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::Lines; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi` [INFO] [stdout] --> src/core/config.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ffi; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::boxed::Box` [INFO] [stdout] --> src/core/config.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::boxed::Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr` [INFO] [stdout] --> src/core/handler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ptr; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::WindowManager` [INFO] [stdout] --> src/core/handler.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use super::WindowManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/core/handler.rs:13:32 [INFO] [stdout] | [INFO] [stdout] 13 | use super::super::libx::{self, Context}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/handler.rs:53:25 [INFO] [stdout] | [INFO] [stdout] 53 | pub type HandleFn = Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Workspaces)` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/core/layout.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi` [INFO] [stdout] --> src/core/layout.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ffi; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr` [INFO] [stdout] --> src/core/layout.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::ptr; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/core/layout.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | use super::container::{self, Container}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/core/layout.rs:188:40 [INFO] [stdout] | [INFO] [stdout] 188 | decorate(client, id==focus_id);; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::boxed::Box` [INFO] [stdout] --> src/libx/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::boxed::Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `display` [INFO] [stdout] --> src/core/window_manager.rs:16:32 [INFO] [stdout] | [INFO] [stdout] 16 | unsafe extern fn error_handler(display: *mut xlib::Display, event: *mut xlib::XErrorEvent) -> libc::c_int { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/core/window_manager.rs:16:61 [INFO] [stdout] | [INFO] [stdout] 16 | unsafe extern fn error_handler(display: *mut xlib::Display, event: *mut xlib::XErrorEvent) -> libc::c_int { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root` [INFO] [stdout] --> src/core/window_manager.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | let root = context.root; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_root` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/core/window_manager.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | let p = setlocale(6, s); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/core/window_manager.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | let res = xlib::XSupportsLocale(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/core/window_manager.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | let res = xlib::XSetLocaleModifiers(s); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mask` [INFO] [stdout] --> src/core/window_manager.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | let mask = 0x420010; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mask` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/core/window_manager.rs:193:13 [INFO] [stdout] | [INFO] [stdout] 193 | let s = libx::get_atom_name(self.context, event.message_type); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/core/window_manager.rs:222:44 [INFO] [stdout] | [INFO] [stdout] 222 | pub fn handle_button_motion(&mut self, event: &xlib::XMotionEvent) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/core/window_manager.rs:250:45 [INFO] [stdout] | [INFO] [stdout] 250 | container::Mode::Resize(index, x, y) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/core/window_manager.rs:250:52 [INFO] [stdout] | [INFO] [stdout] 250 | container::Mode::Resize(index, x, y) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/core/window_manager.rs:250:55 [INFO] [stdout] | [INFO] [stdout] 250 | container::Mode::Resize(index, x, y) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `usertime` [INFO] [stdout] --> src/core/window_manager.rs:305:13 [INFO] [stdout] | [INFO] [stdout] 305 | let usertime = libx::get_atom(self.context, "_NET_WM_USER_TIME"); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_usertime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `usertime` [INFO] [stdout] --> src/core/window_manager.rs:307:13 [INFO] [stdout] | [INFO] [stdout] 307 | usertime => { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_usertime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mask` [INFO] [stdout] --> src/core/window_manager.rs:452:13 [INFO] [stdout] | [INFO] [stdout] 452 | let mask = 0x1A0034; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mask` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/core/config.rs:60:29 [INFO] [stdout] | [INFO] [stdout] 60 | Err(err) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/core/config.rs:66:17 [INFO] [stdout] | [INFO] [stdout] 66 | Err(err) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `workspaces` [INFO] [stdout] --> src/core/handler.rs:56:20 [INFO] [stdout] | [INFO] [stdout] 56 | Box::new(move |workspaces| {cmd.spawn();}) [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspaces` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boundingbox` [INFO] [stdout] --> src/core/layout.rs:93:18 [INFO] [stdout] | [INFO] [stdout] 93 | let (boundingbox, dummy) = libx::text_extents(context, s.clone()); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boundingbox` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/core/layout.rs:164:10 [INFO] [stdout] | [INFO] [stdout] 164 | for (i, client) in container.clients.iter_mut().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/core/workspaces.rs:167:14 [INFO] [stdout] | [INFO] [stdout] 167 | for (k, workspace) in self.spaces.iter_mut() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/core/workspaces.rs:192:19 [INFO] [stdout] | [INFO] [stdout] 192 | Some((k, c)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/core/container.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | for i in 0..indent { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/core/container.rs:427:14 [INFO] [stdout] | [INFO] [stdout] 427 | let (x, _) = libx::get_input_focus(self.context); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/core/container.rs:432:21 [INFO] [stdout] | [INFO] [stdout] 432 | if let Some(p) = self.get_parent() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gc` [INFO] [stdout] --> src/core/taskbar.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | let gc = context.gc; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_gc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `display` [INFO] [stdout] --> src/core/taskbar.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | let display = context.display; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boundingbox` [INFO] [stdout] --> src/core/taskbar.rs:84:22 [INFO] [stdout] | [INFO] [stdout] 84 | let (boundingbox, dummy) = libx::text_extents(context, s.clone()); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boundingbox` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/libx/mod.rs:184:21 [INFO] [stdout] | [INFO] [stdout] 184 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `root` is assigned to, but never used [INFO] [stdout] --> src/libx/mod.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | let mut root = 0; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_root` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `root` is never read [INFO] [stdout] --> src/libx/mod.rs:285:21 [INFO] [stdout] | [INFO] [stdout] 285 | root = r; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pointer_root` [INFO] [stdout] --> src/libx/mod.rs:355:9 [INFO] [stdout] | [INFO] [stdout] 355 | let pointer_root = 1; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pointer_root` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent` [INFO] [stdout] --> src/libx/mod.rs:356:9 [INFO] [stdout] | [INFO] [stdout] 356 | let parent = 2; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/libx/mod.rs:368:13 [INFO] [stdout] | [INFO] [stdout] 368 | let s = xlib::XGetInputFocus(context.display, &mut window, &mut revert_to); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `status` [INFO] [stdout] --> src/libx/mod.rs:446:9 [INFO] [stdout] | [INFO] [stdout] 446 | let status: *mut xlib::XComposeStatus = ptr::null_mut(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/libx/mod.rs:518:13 [INFO] [stdout] | [INFO] [stdout] 518 | let r = xlib::XParseColor(display, cmap, cname, &mut color); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | let mut values: xlib::XGCValues = unsafe{ mem::zeroed() }; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:113:6 [INFO] [stdout] | [INFO] [stdout] 113 | let mut wm = WindowManager { [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:314:13 [INFO] [stdout] | [INFO] [stdout] 314 | let mut change = xlib::XWindowChanges { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:390:21 [INFO] [stdout] | [INFO] [stdout] 390 | let mut event: xlib::XMotionEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:395:21 [INFO] [stdout] | [INFO] [stdout] 395 | let mut event: xlib::XButtonEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:399:21 [INFO] [stdout] | [INFO] [stdout] 399 | let mut event: xlib::XButtonEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:406:21 [INFO] [stdout] | [INFO] [stdout] 406 | let mut event: xlib::XConfigureRequestEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:411:21 [INFO] [stdout] | [INFO] [stdout] 411 | let mut event: xlib::XFocusChangeEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:417:21 [INFO] [stdout] | [INFO] [stdout] 417 | let mut event: xlib::XFocusChangeEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:421:21 [INFO] [stdout] | [INFO] [stdout] 421 | let mut event: xlib::XCrossingEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:425:21 [INFO] [stdout] | [INFO] [stdout] 425 | let mut event: xlib::XCrossingEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:430:21 [INFO] [stdout] | [INFO] [stdout] 430 | let mut event: xlib::XPropertyEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:442:17 [INFO] [stdout] | [INFO] [stdout] 442 | let mut e = libx::next_event(self.context); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/config.rs:108:21 [INFO] [stdout] | [INFO] [stdout] 108 | let mut cmd = build_cmd(args); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/libx/mod.rs:389:9 [INFO] [stdout] | [INFO] [stdout] 389 | let mut change = xlib::XWindowChanges { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/core/taskbar.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | unsafe{ [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWX` [INFO] [stdout] --> src/core/layout.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | const CWX: libc::c_uint = 1<<0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWY` [INFO] [stdout] --> src/core/layout.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | const CWY: libc::c_uint = 1<<1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWWidth` [INFO] [stdout] --> src/core/layout.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | const CWWidth: libc::c_uint = 1<<2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWHeight` [INFO] [stdout] --> src/core/layout.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | const CWHeight: libc::c_uint = 1<<3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWBorderWidth` [INFO] [stdout] --> src/core/layout.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | const CWBorderWidth: libc::c_uint = 1<<4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWSibling` [INFO] [stdout] --> src/core/layout.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | const CWSibling: libc::c_uint = 1<<5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWStackMode` [INFO] [stdout] --> src/core/layout.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | const CWStackMode: libc::c_uint = 1<<6; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWBorderWidth` [INFO] [stdout] --> src/libx/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | const CWBorderWidth: libc::c_uint = 1<<4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWSibling` [INFO] [stdout] --> src/libx/mod.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | const CWSibling: libc::c_uint = 1<<5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWStackMode` [INFO] [stdout] --> src/libx/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | const CWStackMode: libc::c_uint = 1<<6; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_window_property` [INFO] [stdout] --> src/libx/mod.rs:234:4 [INFO] [stdout] | [INFO] [stdout] 234 | fn get_window_property(context: Context, window: Window, atom: xlib::Atom) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/core/window_manager.rs:63:48 [INFO] [stdout] | [INFO] [stdout] 63 | let s = ffi::CString::new("").unwrap().as_ptr(); [INFO] [stdout] | ------------------------------ ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(temporary_cstring_as_ptr)]` on by default [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/core/window_manager.rs:73:57 [INFO] [stdout] | [INFO] [stdout] 73 | let fontbase = ffi::CString::new(name).unwrap().as_ptr(); [INFO] [stdout] | -------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/libx/mod.rs:517:54 [INFO] [stdout] | [INFO] [stdout] 517 | let cname = ffi::CString::new(name).unwrap().as_ptr(); [INFO] [stdout] | -------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/libx/mod.rs:527:58 [INFO] [stdout] | [INFO] [stdout] 527 | let cstring = ffi::CString::new(string).unwrap().as_ptr(); [INFO] [stdout] | ---------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/libx/mod.rs:540:58 [INFO] [stdout] | [INFO] [stdout] 540 | let cstring = ffi::CString::new(string).unwrap().as_ptr(); [INFO] [stdout] | ---------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/core/config.rs:86:21 [INFO] [stdout] | [INFO] [stdout] 86 | cmd.spawn(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/core/handler.rs:56:33 [INFO] [stdout] | [INFO] [stdout] 56 | Box::new(move |workspaces| {cmd.spawn();}) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWWidth` should have an upper case name [INFO] [stdout] --> src/core/layout.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const CWWidth: libc::c_uint = 1<<2; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `CWWIDTH` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWHeight` should have an upper case name [INFO] [stdout] --> src/core/layout.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const CWHeight: libc::c_uint = 1<<3; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `CWHEIGHT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWBorderWidth` should have an upper case name [INFO] [stdout] --> src/core/layout.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const CWBorderWidth: libc::c_uint = 1<<4; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper case: `CWBORDER_WIDTH` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWSibling` should have an upper case name [INFO] [stdout] --> src/core/layout.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const CWSibling: libc::c_uint = 1<<5; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `CWSIBLING` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWStackMode` should have an upper case name [INFO] [stdout] --> src/core/layout.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const CWStackMode: libc::c_uint = 1<<6; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper case: `CWSTACK_MODE` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `border` should have an upper case name [INFO] [stdout] --> src/core/layout.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const border: u32 = 1; [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper case: `BORDER` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/core/container.rs:280:12 [INFO] [stdout] | [INFO] [stdout] 280 | if index >= 0 && index < size && neighbor >= 0 && neighbor < size { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/core/container.rs:280:42 [INFO] [stdout] | [INFO] [stdout] 280 | if index >= 0 && index < size && neighbor >= 0 && neighbor < size { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/core/container.rs:352:20 [INFO] [stdout] | [INFO] [stdout] 352 | if last < 0 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWWidth` should have an upper case name [INFO] [stdout] --> src/libx/mod.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const CWWidth: libc::c_uint = 1<<2; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `CWWIDTH` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWHeight` should have an upper case name [INFO] [stdout] --> src/libx/mod.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const CWHeight: libc::c_uint = 1<<3; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `CWHEIGHT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWBorderWidth` should have an upper case name [INFO] [stdout] --> src/libx/mod.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const CWBorderWidth: libc::c_uint = 1<<4; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper case: `CWBORDER_WIDTH` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWSibling` should have an upper case name [INFO] [stdout] --> src/libx/mod.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const CWSibling: libc::c_uint = 1<<5; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `CWSIBLING` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWStackMode` should have an upper case name [INFO] [stdout] --> src/libx/mod.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | const CWStackMode: libc::c_uint = 1<<6; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper case: `CWSTACK_MODE` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 99 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 4.59s [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "b100bfb45ad3764e2e6ba933c2f7acf3cb2f4765fd659d8c9bccf227af09038d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b100bfb45ad3764e2e6ba933c2f7acf3cb2f4765fd659d8c9bccf227af09038d", kill_on_drop: false }` [INFO] [stdout] b100bfb45ad3764e2e6ba933c2f7acf3cb2f4765fd659d8c9bccf227af09038d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+ecabaf78506b7a4668d42dc20268c086b93f0fad" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7e9b3c11b5898130a5c51bc33b2380a2ad6c74b6ce90f4519e1fe78ad4ac5c00 [INFO] running `Command { std: "docker" "start" "-a" "7e9b3c11b5898130a5c51bc33b2380a2ad6c74b6ce90f4519e1fe78ad4ac5c00", kill_on_drop: false }` [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] [stdout] warning: unknown lint: `unstable` [INFO] [stdout] --> src/libx/mod.rs:1:10 [INFO] [stdout] | [INFO] [stdout] 1 | #![allow(unstable)] [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unknown_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x11::xlib::Window` [INFO] [stdout] --> src/core/window_manager.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use x11::xlib::Window; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Lines` [INFO] [stdout] --> src/core/config.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::Lines; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi` [INFO] [stdout] --> src/core/config.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ffi; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::boxed::Box` [INFO] [stdout] --> src/core/config.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::boxed::Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr` [INFO] [stdout] --> src/core/handler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ptr; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::WindowManager` [INFO] [stdout] --> src/core/handler.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use super::WindowManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/core/handler.rs:13:32 [INFO] [stdout] | [INFO] [stdout] 13 | use super::super::libx::{self, Context}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/handler.rs:53:25 [INFO] [stdout] | [INFO] [stdout] 53 | pub type HandleFn = Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Workspaces)` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/core/layout.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi` [INFO] [stdout] --> src/core/layout.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ffi; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr` [INFO] [stdout] --> src/core/layout.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::ptr; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/core/layout.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | use super::container::{self, Container}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/core/layout.rs:188:40 [INFO] [stdout] | [INFO] [stdout] 188 | decorate(client, id==focus_id);; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::boxed::Box` [INFO] [stdout] --> src/libx/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::boxed::Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `display` [INFO] [stdout] --> src/core/window_manager.rs:16:32 [INFO] [stdout] | [INFO] [stdout] 16 | unsafe extern fn error_handler(display: *mut xlib::Display, event: *mut xlib::XErrorEvent) -> libc::c_int { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/core/window_manager.rs:16:61 [INFO] [stdout] | [INFO] [stdout] 16 | unsafe extern fn error_handler(display: *mut xlib::Display, event: *mut xlib::XErrorEvent) -> libc::c_int { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root` [INFO] [stdout] --> src/core/window_manager.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | let root = context.root; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_root` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/core/window_manager.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | let p = setlocale(6, s); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/core/window_manager.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | let res = xlib::XSupportsLocale(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/core/window_manager.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | let res = xlib::XSetLocaleModifiers(s); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mask` [INFO] [stdout] --> src/core/window_manager.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | let mask = 0x420010; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mask` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/core/window_manager.rs:193:13 [INFO] [stdout] | [INFO] [stdout] 193 | let s = libx::get_atom_name(self.context, event.message_type); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/core/window_manager.rs:222:44 [INFO] [stdout] | [INFO] [stdout] 222 | pub fn handle_button_motion(&mut self, event: &xlib::XMotionEvent) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/core/window_manager.rs:250:45 [INFO] [stdout] | [INFO] [stdout] 250 | container::Mode::Resize(index, x, y) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/core/window_manager.rs:250:52 [INFO] [stdout] | [INFO] [stdout] 250 | container::Mode::Resize(index, x, y) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/core/window_manager.rs:250:55 [INFO] [stdout] | [INFO] [stdout] 250 | container::Mode::Resize(index, x, y) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `usertime` [INFO] [stdout] --> src/core/window_manager.rs:305:13 [INFO] [stdout] | [INFO] [stdout] 305 | let usertime = libx::get_atom(self.context, "_NET_WM_USER_TIME"); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_usertime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `usertime` [INFO] [stdout] --> src/core/window_manager.rs:307:13 [INFO] [stdout] | [INFO] [stdout] 307 | usertime => { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_usertime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mask` [INFO] [stdout] --> src/core/window_manager.rs:452:13 [INFO] [stdout] | [INFO] [stdout] 452 | let mask = 0x1A0034; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mask` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/core/config.rs:60:29 [INFO] [stdout] | [INFO] [stdout] 60 | Err(err) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/core/config.rs:66:17 [INFO] [stdout] | [INFO] [stdout] 66 | Err(err) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `workspaces` [INFO] [stdout] --> src/core/handler.rs:56:20 [INFO] [stdout] | [INFO] [stdout] 56 | Box::new(move |workspaces| {cmd.spawn();}) [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspaces` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boundingbox` [INFO] [stdout] --> src/core/layout.rs:93:18 [INFO] [stdout] | [INFO] [stdout] 93 | let (boundingbox, dummy) = libx::text_extents(context, s.clone()); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boundingbox` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/core/layout.rs:164:10 [INFO] [stdout] | [INFO] [stdout] 164 | for (i, client) in container.clients.iter_mut().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/core/workspaces.rs:167:14 [INFO] [stdout] | [INFO] [stdout] 167 | for (k, workspace) in self.spaces.iter_mut() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/core/workspaces.rs:192:19 [INFO] [stdout] | [INFO] [stdout] 192 | Some((k, c)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/core/container.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | for i in 0..indent { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/core/container.rs:427:14 [INFO] [stdout] | [INFO] [stdout] 427 | let (x, _) = libx::get_input_focus(self.context); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/core/container.rs:432:21 [INFO] [stdout] | [INFO] [stdout] 432 | if let Some(p) = self.get_parent() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gc` [INFO] [stdout] --> src/core/taskbar.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | let gc = context.gc; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_gc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `display` [INFO] [stdout] --> src/core/taskbar.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | let display = context.display; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boundingbox` [INFO] [stdout] --> src/core/taskbar.rs:84:22 [INFO] [stdout] | [INFO] [stdout] 84 | let (boundingbox, dummy) = libx::text_extents(context, s.clone()); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boundingbox` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/libx/mod.rs:184:21 [INFO] [stdout] | [INFO] [stdout] 184 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `root` is assigned to, but never used [INFO] [stdout] --> src/libx/mod.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | let mut root = 0; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_root` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `root` is never read [INFO] [stdout] --> src/libx/mod.rs:285:21 [INFO] [stdout] | [INFO] [stdout] 285 | root = r; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pointer_root` [INFO] [stdout] --> src/libx/mod.rs:355:9 [INFO] [stdout] | [INFO] [stdout] 355 | let pointer_root = 1; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pointer_root` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent` [INFO] [stdout] --> src/libx/mod.rs:356:9 [INFO] [stdout] | [INFO] [stdout] 356 | let parent = 2; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/libx/mod.rs:368:13 [INFO] [stdout] | [INFO] [stdout] 368 | let s = xlib::XGetInputFocus(context.display, &mut window, &mut revert_to); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `status` [INFO] [stdout] --> src/libx/mod.rs:446:9 [INFO] [stdout] | [INFO] [stdout] 446 | let status: *mut xlib::XComposeStatus = ptr::null_mut(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/libx/mod.rs:518:13 [INFO] [stdout] | [INFO] [stdout] 518 | let r = xlib::XParseColor(display, cmap, cname, &mut color); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | let mut values: xlib::XGCValues = unsafe{ mem::zeroed() }; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:113:6 [INFO] [stdout] | [INFO] [stdout] 113 | let mut wm = WindowManager { [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:314:13 [INFO] [stdout] | [INFO] [stdout] 314 | let mut change = xlib::XWindowChanges { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:390:21 [INFO] [stdout] | [INFO] [stdout] 390 | let mut event: xlib::XMotionEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:395:21 [INFO] [stdout] | [INFO] [stdout] 395 | let mut event: xlib::XButtonEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:399:21 [INFO] [stdout] | [INFO] [stdout] 399 | let mut event: xlib::XButtonEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:406:21 [INFO] [stdout] | [INFO] [stdout] 406 | let mut event: xlib::XConfigureRequestEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:411:21 [INFO] [stdout] | [INFO] [stdout] 411 | let mut event: xlib::XFocusChangeEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:417:21 [INFO] [stdout] | [INFO] [stdout] 417 | let mut event: xlib::XFocusChangeEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:421:21 [INFO] [stdout] | [INFO] [stdout] 421 | let mut event: xlib::XCrossingEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:425:21 [INFO] [stdout] | [INFO] [stdout] 425 | let mut event: xlib::XCrossingEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:430:21 [INFO] [stdout] | [INFO] [stdout] 430 | let mut event: xlib::XPropertyEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:442:17 [INFO] [stdout] | [INFO] [stdout] 442 | let mut e = libx::next_event(self.context); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rustile v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/config.rs:108:21 [INFO] [stdout] | [INFO] [stdout] 108 | let mut cmd = build_cmd(args); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/libx/mod.rs:389:9 [INFO] [stdout] | [INFO] [stdout] 389 | let mut change = xlib::XWindowChanges { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/core/taskbar.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | unsafe{ [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWX` [INFO] [stdout] --> src/core/layout.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | const CWX: libc::c_uint = 1<<0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWY` [INFO] [stdout] --> src/core/layout.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | const CWY: libc::c_uint = 1<<1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWWidth` [INFO] [stdout] --> src/core/layout.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | const CWWidth: libc::c_uint = 1<<2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWHeight` [INFO] [stdout] --> src/core/layout.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | const CWHeight: libc::c_uint = 1<<3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWBorderWidth` [INFO] [stdout] --> src/core/layout.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | const CWBorderWidth: libc::c_uint = 1<<4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWSibling` [INFO] [stdout] --> src/core/layout.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | const CWSibling: libc::c_uint = 1<<5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWStackMode` [INFO] [stdout] --> src/core/layout.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | const CWStackMode: libc::c_uint = 1<<6; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWBorderWidth` [INFO] [stdout] --> src/libx/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | const CWBorderWidth: libc::c_uint = 1<<4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWSibling` [INFO] [stdout] --> src/libx/mod.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | const CWSibling: libc::c_uint = 1<<5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWStackMode` [INFO] [stdout] --> src/libx/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | const CWStackMode: libc::c_uint = 1<<6; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_window_property` [INFO] [stdout] --> src/libx/mod.rs:234:4 [INFO] [stdout] | [INFO] [stdout] 234 | fn get_window_property(context: Context, window: Window, atom: xlib::Atom) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/core/window_manager.rs:63:48 [INFO] [stdout] | [INFO] [stdout] 63 | let s = ffi::CString::new("").unwrap().as_ptr(); [INFO] [stdout] | ------------------------------ ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(temporary_cstring_as_ptr)]` on by default [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/core/window_manager.rs:73:57 [INFO] [stdout] | [INFO] [stdout] 73 | let fontbase = ffi::CString::new(name).unwrap().as_ptr(); [INFO] [stdout] | -------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/libx/mod.rs:517:54 [INFO] [stdout] | [INFO] [stdout] 517 | let cname = ffi::CString::new(name).unwrap().as_ptr(); [INFO] [stdout] | -------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/libx/mod.rs:527:58 [INFO] [stdout] | [INFO] [stdout] 527 | let cstring = ffi::CString::new(string).unwrap().as_ptr(); [INFO] [stdout] | ---------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/libx/mod.rs:540:58 [INFO] [stdout] | [INFO] [stdout] 540 | let cstring = ffi::CString::new(string).unwrap().as_ptr(); [INFO] [stdout] | ---------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/core/config.rs:86:21 [INFO] [stdout] | [INFO] [stdout] 86 | cmd.spawn(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/core/handler.rs:56:33 [INFO] [stdout] | [INFO] [stdout] 56 | Box::new(move |workspaces| {cmd.spawn();}) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWWidth` should have an upper case name [INFO] [stdout] --> src/core/layout.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const CWWidth: libc::c_uint = 1<<2; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `CWWIDTH` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWHeight` should have an upper case name [INFO] [stdout] --> src/core/layout.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const CWHeight: libc::c_uint = 1<<3; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `CWHEIGHT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWBorderWidth` should have an upper case name [INFO] [stdout] --> src/core/layout.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const CWBorderWidth: libc::c_uint = 1<<4; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper case: `CWBORDER_WIDTH` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWSibling` should have an upper case name [INFO] [stdout] --> src/core/layout.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const CWSibling: libc::c_uint = 1<<5; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `CWSIBLING` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWStackMode` should have an upper case name [INFO] [stdout] --> src/core/layout.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const CWStackMode: libc::c_uint = 1<<6; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper case: `CWSTACK_MODE` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `border` should have an upper case name [INFO] [stdout] --> src/core/layout.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const border: u32 = 1; [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper case: `BORDER` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/core/container.rs:280:12 [INFO] [stdout] | [INFO] [stdout] 280 | if index >= 0 && index < size && neighbor >= 0 && neighbor < size { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/core/container.rs:280:42 [INFO] [stdout] | [INFO] [stdout] 280 | if index >= 0 && index < size && neighbor >= 0 && neighbor < size { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/core/container.rs:352:20 [INFO] [stdout] | [INFO] [stdout] 352 | if last < 0 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWWidth` should have an upper case name [INFO] [stdout] --> src/libx/mod.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const CWWidth: libc::c_uint = 1<<2; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `CWWIDTH` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWHeight` should have an upper case name [INFO] [stdout] --> src/libx/mod.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const CWHeight: libc::c_uint = 1<<3; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `CWHEIGHT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWBorderWidth` should have an upper case name [INFO] [stdout] --> src/libx/mod.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const CWBorderWidth: libc::c_uint = 1<<4; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper case: `CWBORDER_WIDTH` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWSibling` should have an upper case name [INFO] [stdout] --> src/libx/mod.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const CWSibling: libc::c_uint = 1<<5; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `CWSIBLING` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWStackMode` should have an upper case name [INFO] [stdout] --> src/libx/mod.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | const CWStackMode: libc::c_uint = 1<<6; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper case: `CWSTACK_MODE` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 99 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unknown lint: `unstable` [INFO] [stdout] --> src/libx/mod.rs:1:10 [INFO] [stdout] | [INFO] [stdout] 1 | #![allow(unstable)] [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unknown_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x11::xlib::Window` [INFO] [stdout] --> src/core/window_manager.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use x11::xlib::Window; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Lines` [INFO] [stdout] --> src/core/config.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::Lines; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi` [INFO] [stdout] --> src/core/config.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ffi; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::boxed::Box` [INFO] [stdout] --> src/core/config.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::boxed::Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr` [INFO] [stdout] --> src/core/handler.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ptr; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::WindowManager` [INFO] [stdout] --> src/core/handler.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use super::WindowManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/core/handler.rs:13:32 [INFO] [stdout] | [INFO] [stdout] 13 | use super::super::libx::{self, Context}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/handler.rs:53:25 [INFO] [stdout] | [INFO] [stdout] 53 | pub type HandleFn = Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Workspaces)` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/core/layout.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi` [INFO] [stdout] --> src/core/layout.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ffi; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr` [INFO] [stdout] --> src/core/layout.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::ptr; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/core/layout.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | use super::container::{self, Container}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/core/layout.rs:188:40 [INFO] [stdout] | [INFO] [stdout] 188 | decorate(client, id==focus_id);; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::super::super::libx` [INFO] [stdout] --> src/core/container.rs:552:9 [INFO] [stdout] | [INFO] [stdout] 552 | use super::super::super::libx; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::boxed::Box` [INFO] [stdout] --> src/libx/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::boxed::Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `display` [INFO] [stdout] --> src/core/window_manager.rs:16:32 [INFO] [stdout] | [INFO] [stdout] 16 | unsafe extern fn error_handler(display: *mut xlib::Display, event: *mut xlib::XErrorEvent) -> libc::c_int { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/core/window_manager.rs:16:61 [INFO] [stdout] | [INFO] [stdout] 16 | unsafe extern fn error_handler(display: *mut xlib::Display, event: *mut xlib::XErrorEvent) -> libc::c_int { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root` [INFO] [stdout] --> src/core/window_manager.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | let root = context.root; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_root` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/core/window_manager.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | let p = setlocale(6, s); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/core/window_manager.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | let res = xlib::XSupportsLocale(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/core/window_manager.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | let res = xlib::XSetLocaleModifiers(s); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mask` [INFO] [stdout] --> src/core/window_manager.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | let mask = 0x420010; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mask` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/core/window_manager.rs:193:13 [INFO] [stdout] | [INFO] [stdout] 193 | let s = libx::get_atom_name(self.context, event.message_type); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/core/window_manager.rs:222:44 [INFO] [stdout] | [INFO] [stdout] 222 | pub fn handle_button_motion(&mut self, event: &xlib::XMotionEvent) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/core/window_manager.rs:250:45 [INFO] [stdout] | [INFO] [stdout] 250 | container::Mode::Resize(index, x, y) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/core/window_manager.rs:250:52 [INFO] [stdout] | [INFO] [stdout] 250 | container::Mode::Resize(index, x, y) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/core/window_manager.rs:250:55 [INFO] [stdout] | [INFO] [stdout] 250 | container::Mode::Resize(index, x, y) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `usertime` [INFO] [stdout] --> src/core/window_manager.rs:305:13 [INFO] [stdout] | [INFO] [stdout] 305 | let usertime = libx::get_atom(self.context, "_NET_WM_USER_TIME"); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_usertime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `usertime` [INFO] [stdout] --> src/core/window_manager.rs:307:13 [INFO] [stdout] | [INFO] [stdout] 307 | usertime => { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_usertime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mask` [INFO] [stdout] --> src/core/window_manager.rs:452:13 [INFO] [stdout] | [INFO] [stdout] 452 | let mask = 0x1A0034; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mask` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/core/config.rs:60:29 [INFO] [stdout] | [INFO] [stdout] 60 | Err(err) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/core/config.rs:66:17 [INFO] [stdout] | [INFO] [stdout] 66 | Err(err) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `workspaces` [INFO] [stdout] --> src/core/handler.rs:56:20 [INFO] [stdout] | [INFO] [stdout] 56 | Box::new(move |workspaces| {cmd.spawn();}) [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workspaces` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boundingbox` [INFO] [stdout] --> src/core/layout.rs:93:18 [INFO] [stdout] | [INFO] [stdout] 93 | let (boundingbox, dummy) = libx::text_extents(context, s.clone()); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boundingbox` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/core/layout.rs:164:10 [INFO] [stdout] | [INFO] [stdout] 164 | for (i, client) in container.clients.iter_mut().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/core/workspaces.rs:167:14 [INFO] [stdout] | [INFO] [stdout] 167 | for (k, workspace) in self.spaces.iter_mut() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/core/workspaces.rs:192:19 [INFO] [stdout] | [INFO] [stdout] 192 | Some((k, c)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/core/container.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | for i in 0..indent { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/core/container.rs:427:14 [INFO] [stdout] | [INFO] [stdout] 427 | let (x, _) = libx::get_input_focus(self.context); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/core/container.rs:432:21 [INFO] [stdout] | [INFO] [stdout] 432 | if let Some(p) = self.get_parent() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gc` [INFO] [stdout] --> src/core/taskbar.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | let gc = context.gc; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_gc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `display` [INFO] [stdout] --> src/core/taskbar.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | let display = context.display; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boundingbox` [INFO] [stdout] --> src/core/taskbar.rs:84:22 [INFO] [stdout] | [INFO] [stdout] 84 | let (boundingbox, dummy) = libx::text_extents(context, s.clone()); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boundingbox` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/libx/mod.rs:184:21 [INFO] [stdout] | [INFO] [stdout] 184 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `root` is assigned to, but never used [INFO] [stdout] --> src/libx/mod.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | let mut root = 0; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_root` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `root` is never read [INFO] [stdout] --> src/libx/mod.rs:285:21 [INFO] [stdout] | [INFO] [stdout] 285 | root = r; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pointer_root` [INFO] [stdout] --> src/libx/mod.rs:355:9 [INFO] [stdout] | [INFO] [stdout] 355 | let pointer_root = 1; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pointer_root` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent` [INFO] [stdout] --> src/libx/mod.rs:356:9 [INFO] [stdout] | [INFO] [stdout] 356 | let parent = 2; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/libx/mod.rs:368:13 [INFO] [stdout] | [INFO] [stdout] 368 | let s = xlib::XGetInputFocus(context.display, &mut window, &mut revert_to); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `status` [INFO] [stdout] --> src/libx/mod.rs:446:9 [INFO] [stdout] | [INFO] [stdout] 446 | let status: *mut xlib::XComposeStatus = ptr::null_mut(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/libx/mod.rs:518:13 [INFO] [stdout] | [INFO] [stdout] 518 | let r = xlib::XParseColor(display, cmap, cname, &mut color); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | let mut values: xlib::XGCValues = unsafe{ mem::zeroed() }; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:113:6 [INFO] [stdout] | [INFO] [stdout] 113 | let mut wm = WindowManager { [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:314:13 [INFO] [stdout] | [INFO] [stdout] 314 | let mut change = xlib::XWindowChanges { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:390:21 [INFO] [stdout] | [INFO] [stdout] 390 | let mut event: xlib::XMotionEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:395:21 [INFO] [stdout] | [INFO] [stdout] 395 | let mut event: xlib::XButtonEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:399:21 [INFO] [stdout] | [INFO] [stdout] 399 | let mut event: xlib::XButtonEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:406:21 [INFO] [stdout] | [INFO] [stdout] 406 | let mut event: xlib::XConfigureRequestEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:411:21 [INFO] [stdout] | [INFO] [stdout] 411 | let mut event: xlib::XFocusChangeEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:417:21 [INFO] [stdout] | [INFO] [stdout] 417 | let mut event: xlib::XFocusChangeEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:421:21 [INFO] [stdout] | [INFO] [stdout] 421 | let mut event: xlib::XCrossingEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:425:21 [INFO] [stdout] | [INFO] [stdout] 425 | let mut event: xlib::XCrossingEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:430:21 [INFO] [stdout] | [INFO] [stdout] 430 | let mut event: xlib::XPropertyEvent = From::from(e); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/window_manager.rs:442:17 [INFO] [stdout] | [INFO] [stdout] 442 | let mut e = libx::next_event(self.context); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/config.rs:108:21 [INFO] [stdout] | [INFO] [stdout] 108 | let mut cmd = build_cmd(args); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/container.rs:566:13 [INFO] [stdout] | [INFO] [stdout] 566 | let mut wm = init(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/libx/mod.rs:389:9 [INFO] [stdout] | [INFO] [stdout] 389 | let mut change = xlib::XWindowChanges { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/core/taskbar.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | unsafe{ [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWX` [INFO] [stdout] --> src/core/layout.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | const CWX: libc::c_uint = 1<<0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWY` [INFO] [stdout] --> src/core/layout.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | const CWY: libc::c_uint = 1<<1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWWidth` [INFO] [stdout] --> src/core/layout.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | const CWWidth: libc::c_uint = 1<<2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWHeight` [INFO] [stdout] --> src/core/layout.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | const CWHeight: libc::c_uint = 1<<3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWBorderWidth` [INFO] [stdout] --> src/core/layout.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | const CWBorderWidth: libc::c_uint = 1<<4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWSibling` [INFO] [stdout] --> src/core/layout.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | const CWSibling: libc::c_uint = 1<<5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWStackMode` [INFO] [stdout] --> src/core/layout.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | const CWStackMode: libc::c_uint = 1<<6; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clean` [INFO] [stdout] --> src/core/container.rs:560:8 [INFO] [stdout] | [INFO] [stdout] 560 | fn clean() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWBorderWidth` [INFO] [stdout] --> src/libx/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | const CWBorderWidth: libc::c_uint = 1<<4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWSibling` [INFO] [stdout] --> src/libx/mod.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | const CWSibling: libc::c_uint = 1<<5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `CWStackMode` [INFO] [stdout] --> src/libx/mod.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | const CWStackMode: libc::c_uint = 1<<6; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_window_property` [INFO] [stdout] --> src/libx/mod.rs:234:4 [INFO] [stdout] | [INFO] [stdout] 234 | fn get_window_property(context: Context, window: Window, atom: xlib::Atom) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/core/window_manager.rs:63:48 [INFO] [stdout] | [INFO] [stdout] 63 | let s = ffi::CString::new("").unwrap().as_ptr(); [INFO] [stdout] | ------------------------------ ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(temporary_cstring_as_ptr)]` on by default [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/core/window_manager.rs:73:57 [INFO] [stdout] | [INFO] [stdout] 73 | let fontbase = ffi::CString::new(name).unwrap().as_ptr(); [INFO] [stdout] | -------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/core/config.rs:231:40 [INFO] [stdout] | [INFO] [stdout] 231 | assert!(bindsyms.contains_key(&c), true); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 231 | assert!(bindsyms.contains_key(&c), "{}", true); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/libx/mod.rs:517:54 [INFO] [stdout] | [INFO] [stdout] 517 | let cname = ffi::CString::new(name).unwrap().as_ptr(); [INFO] [stdout] | -------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/libx/mod.rs:527:58 [INFO] [stdout] | [INFO] [stdout] 527 | let cstring = ffi::CString::new(string).unwrap().as_ptr(); [INFO] [stdout] | ---------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: getting the inner pointer of a temporary `CString` [INFO] [stdout] --> src/libx/mod.rs:540:58 [INFO] [stdout] | [INFO] [stdout] 540 | let cstring = ffi::CString::new(string).unwrap().as_ptr(); [INFO] [stdout] | ---------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stdout] | | [INFO] [stdout] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/core/config.rs:86:21 [INFO] [stdout] | [INFO] [stdout] 86 | cmd.spawn(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/core/handler.rs:56:33 [INFO] [stdout] | [INFO] [stdout] 56 | Box::new(move |workspaces| {cmd.spawn();}) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWWidth` should have an upper case name [INFO] [stdout] --> src/core/layout.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const CWWidth: libc::c_uint = 1<<2; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `CWWIDTH` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWHeight` should have an upper case name [INFO] [stdout] --> src/core/layout.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const CWHeight: libc::c_uint = 1<<3; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `CWHEIGHT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWBorderWidth` should have an upper case name [INFO] [stdout] --> src/core/layout.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const CWBorderWidth: libc::c_uint = 1<<4; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper case: `CWBORDER_WIDTH` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWSibling` should have an upper case name [INFO] [stdout] --> src/core/layout.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const CWSibling: libc::c_uint = 1<<5; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `CWSIBLING` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWStackMode` should have an upper case name [INFO] [stdout] --> src/core/layout.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const CWStackMode: libc::c_uint = 1<<6; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper case: `CWSTACK_MODE` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `border` should have an upper case name [INFO] [stdout] --> src/core/layout.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const border: u32 = 1; [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper case: `BORDER` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/core/container.rs:280:12 [INFO] [stdout] | [INFO] [stdout] 280 | if index >= 0 && index < size && neighbor >= 0 && neighbor < size { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/core/container.rs:280:42 [INFO] [stdout] | [INFO] [stdout] 280 | if index >= 0 && index < size && neighbor >= 0 && neighbor < size { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/core/container.rs:352:20 [INFO] [stdout] | [INFO] [stdout] 352 | if last < 0 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWWidth` should have an upper case name [INFO] [stdout] --> src/libx/mod.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const CWWidth: libc::c_uint = 1<<2; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `CWWIDTH` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWHeight` should have an upper case name [INFO] [stdout] --> src/libx/mod.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const CWHeight: libc::c_uint = 1<<3; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `CWHEIGHT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWBorderWidth` should have an upper case name [INFO] [stdout] --> src/libx/mod.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const CWBorderWidth: libc::c_uint = 1<<4; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper case: `CWBORDER_WIDTH` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWSibling` should have an upper case name [INFO] [stdout] --> src/libx/mod.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const CWSibling: libc::c_uint = 1<<5; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `CWSIBLING` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CWStackMode` should have an upper case name [INFO] [stdout] --> src/libx/mod.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | const CWStackMode: libc::c_uint = 1<<6; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper case: `CWSTACK_MODE` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 103 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.23s [INFO] running `Command { std: "docker" "inspect" "7e9b3c11b5898130a5c51bc33b2380a2ad6c74b6ce90f4519e1fe78ad4ac5c00", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7e9b3c11b5898130a5c51bc33b2380a2ad6c74b6ce90f4519e1fe78ad4ac5c00", kill_on_drop: false }` [INFO] [stdout] 7e9b3c11b5898130a5c51bc33b2380a2ad6c74b6ce90f4519e1fe78ad4ac5c00 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+ecabaf78506b7a4668d42dc20268c086b93f0fad" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ace6721c7d5f4cb0369741a1fba8fc5a5def8c6f31f9b3b0e5f2dc7ed68f196a [INFO] running `Command { std: "docker" "start" "-a" "ace6721c7d5f4cb0369741a1fba8fc5a5def8c6f31f9b3b0e5f2dc7ed68f196a", kill_on_drop: false }` [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] 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; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Workspaces)` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see issue #80165 [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: 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/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/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: constant 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 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 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 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 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 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 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 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 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 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: getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/core/window_manager.rs:63:48 [INFO] [stderr] | [INFO] [stderr] 63 | let s = ffi::CString::new("").unwrap().as_ptr(); [INFO] [stderr] | ------------------------------ ^^^^^^ this pointer will be invalid [INFO] [stderr] | | [INFO] [stderr] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(temporary_cstring_as_ptr)]` on by default [INFO] [stderr] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stderr] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stderr] [INFO] [stderr] warning: getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/core/window_manager.rs:73:57 [INFO] [stderr] | [INFO] [stderr] 73 | let fontbase = ffi::CString::new(name).unwrap().as_ptr(); [INFO] [stderr] | -------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stderr] | | [INFO] [stderr] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stderr] | [INFO] [stderr] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stderr] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stderr] [INFO] [stderr] warning: getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/libx/mod.rs:517:54 [INFO] [stderr] | [INFO] [stderr] 517 | let cname = ffi::CString::new(name).unwrap().as_ptr(); [INFO] [stderr] | -------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stderr] | | [INFO] [stderr] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stderr] | [INFO] [stderr] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stderr] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stderr] [INFO] [stderr] warning: getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/libx/mod.rs:527:58 [INFO] [stderr] | [INFO] [stderr] 527 | let cstring = ffi::CString::new(string).unwrap().as_ptr(); [INFO] [stderr] | ---------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stderr] | | [INFO] [stderr] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stderr] | [INFO] [stderr] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stderr] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stderr] [INFO] [stderr] warning: getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/libx/mod.rs:540:58 [INFO] [stderr] | [INFO] [stderr] 540 | let cstring = ffi::CString::new(string).unwrap().as_ptr(); [INFO] [stderr] | ---------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stderr] | | [INFO] [stderr] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stderr] | [INFO] [stderr] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stderr] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stderr] [INFO] [stderr] warning: unused `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 `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: 99 warnings emitted [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; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Workspaces)` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see issue #80165 [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 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: 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/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: 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 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 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 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 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 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 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 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: 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 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 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 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: getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/core/window_manager.rs:63:48 [INFO] [stderr] | [INFO] [stderr] 63 | let s = ffi::CString::new("").unwrap().as_ptr(); [INFO] [stderr] | ------------------------------ ^^^^^^ this pointer will be invalid [INFO] [stderr] | | [INFO] [stderr] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(temporary_cstring_as_ptr)]` on by default [INFO] [stderr] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stderr] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stderr] [INFO] [stderr] warning: getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/core/window_manager.rs:73:57 [INFO] [stderr] | [INFO] [stderr] 73 | let fontbase = ffi::CString::new(name).unwrap().as_ptr(); [INFO] [stderr] | -------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stderr] | | [INFO] [stderr] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stderr] | [INFO] [stderr] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stderr] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/core/config.rs:231:40 [INFO] [stderr] | [INFO] [stderr] 231 | assert!(bindsyms.contains_key(&c), true); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 231 | assert!(bindsyms.contains_key(&c), "{}", true); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/libx/mod.rs:517:54 [INFO] [stderr] | [INFO] [stderr] 517 | let cname = ffi::CString::new(name).unwrap().as_ptr(); [INFO] [stderr] | -------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stderr] | | [INFO] [stderr] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stderr] | [INFO] [stderr] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stderr] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stderr] [INFO] [stderr] warning: getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/libx/mod.rs:527:58 [INFO] [stderr] | [INFO] [stderr] 527 | let cstring = ffi::CString::new(string).unwrap().as_ptr(); [INFO] [stderr] | ---------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stderr] | | [INFO] [stderr] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stderr] | [INFO] [stderr] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stderr] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stderr] [INFO] [stderr] warning: getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/libx/mod.rs:540:58 [INFO] [stderr] | [INFO] [stderr] 540 | let cstring = ffi::CString::new(string).unwrap().as_ptr(); [INFO] [stderr] | ---------------------------------- ^^^^^^ this pointer will be invalid [INFO] [stderr] | | [INFO] [stderr] | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stderr] | [INFO] [stderr] = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stderr] = help: for more information, see https://doc.rust-lang.org/reference/destructors.html [INFO] [stderr] [INFO] [stderr] warning: unused `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 `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: 103 warnings emitted [INFO] [stderr] [INFO] [stdout] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stdout] running 3 tests [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: 1 warning emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/rustile-f246a6770d66937d) [INFO] [stdout] test core::config::test_map ... ok [INFO] [stdout] test core::container::test::new ... FAILED [INFO] [stdout] test libx::test::test_open ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- core::container::test::new stdout ---- [INFO] [stdout] thread 'core::container::test::new' panicked at 'can't open display', src/core/window_manager.rs:105:17 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x559aa611d900 - std::backtrace_rs::backtrace::libunwind::trace::h706b838f5bbd876b [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5 [INFO] [stdout] 1: 0x559aa611d900 - std::backtrace_rs::backtrace::trace_unsynchronized::hc15f29ae7822b7b8 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x559aa611d900 - std::sys_common::backtrace::_print_fmt::h7c580c971f91926c [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x559aa611d900 - ::fmt::h2a772198c4032452 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x559aa61401fc - core::fmt::write::h9a6d9c74526a6c1b [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/core/src/fmt/mod.rs:1115:17 [INFO] [stdout] 5: 0x559aa611a915 - std::io::Write::write_fmt::h583dff5009d01a9f [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/io/mod.rs:1663:15 [INFO] [stdout] 6: 0x559aa611fa6b - std::sys_common::backtrace::_print::h5b3c171e6f864ae4 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x559aa611fa6b - std::sys_common::backtrace::print::h93b9e9ed2a98e611 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x559aa611fa6b - std::panicking::default_hook::{{closure}}::hd8da92bb68d520c5 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panicking.rs:208:50 [INFO] [stdout] 9: 0x559aa611f57c - std::panicking::default_hook::hdbc8b2951c5afbab [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panicking.rs:222:9 [INFO] [stdout] 10: 0x559aa6120134 - std::panicking::rust_panic_with_hook::h8a4c841655926f4e [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panicking.rs:622:17 [INFO] [stdout] 11: 0x559aa60c339f - std::panicking::begin_panic::{{closure}}::hb276af47dd5b15dd [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panicking.rs:542:9 [INFO] [stdout] 12: 0x559aa60ab428 - std::sys_common::backtrace::__rust_end_short_backtrace::h81d06a8ecc9983dd [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/sys_common/backtrace.rs:141:18 [INFO] [stdout] 13: 0x559aa60c3195 - std::panicking::begin_panic::h24e685b3f8e16b3c [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panicking.rs:541:12 [INFO] [stdout] 14: 0x559aa60bbba9 - rustile::core::window_manager::WindowManager::new::hae65ce2bf6de001c [INFO] [stdout] at /opt/rustwide/workdir/src/core/window_manager.rs:105:17 [INFO] [stdout] 15: 0x559aa60c8e06 - rustile::core::container::test::init::h1d8c81d659cd7b5e [INFO] [stdout] at /opt/rustwide/workdir/src/core/container.rs:555:22 [INFO] [stdout] 16: 0x559aa60c8e81 - rustile::core::container::test::new::h76b79abe4af1ba74 [INFO] [stdout] at /opt/rustwide/workdir/src/core/container.rs:566:22 [INFO] [stdout] 17: 0x559aa60c8e5a - rustile::core::container::test::new::{{closure}}::h8175f7c8971c2924 [INFO] [stdout] at /opt/rustwide/workdir/src/core/container.rs:565:5 [INFO] [stdout] 18: 0x559aa60b8f4e - core::ops::function::FnOnce::call_once::h4fb8d4e3e46ec341 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 19: 0x559aa60f37e3 - core::ops::function::FnOnce::call_once::h99a97b0ff983bd25 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 20: 0x559aa60f37e3 - test::__rust_begin_short_backtrace::h8fe0d26ed1584e50 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/test/src/lib.rs:577:5 [INFO] [stdout] 21: 0x559aa60f2270 - as core::ops::function::FnOnce>::call_once::he6b90e352f394d8f [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/alloc/src/boxed.rs:1572:9 [INFO] [stdout] 22: 0x559aa60f2270 - as core::ops::function::FnOnce<()>>::call_once::h1c05475e029700b8 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panic.rs:347:9 [INFO] [stdout] 23: 0x559aa60f2270 - std::panicking::try::do_call::he6de943476ae628a [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panicking.rs:401:40 [INFO] [stdout] 24: 0x559aa60f2270 - std::panicking::try::ha21937b8feb06f89 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panicking.rs:365:19 [INFO] [stdout] 25: 0x559aa60f2270 - std::panic::catch_unwind::ha79830b3325c9fa6 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panic.rs:434:14 [INFO] [stdout] 26: 0x559aa60f2270 - test::run_test_in_process::h1ab180b83ee2d5b5 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/test/src/lib.rs:600:18 [INFO] [stdout] 27: 0x559aa60f2270 - test::run_test::run_test_inner::{{closure}}::h8258ffe088f187a1 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/test/src/lib.rs:492:39 [INFO] [stdout] 28: 0x559aa60cb832 - test::run_test::run_test_inner::{{closure}}::hc697b214abd32bc6 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/test/src/lib.rs:519:37 [INFO] [stdout] 29: 0x559aa60cb832 - std::sys_common::backtrace::__rust_begin_short_backtrace::h64de0d3f894854a9 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/sys_common/backtrace.rs:125:18 [INFO] [stdout] 30: 0x559aa60cf488 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h1fd98fc86e533ece [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/thread/mod.rs:476:17 [INFO] [stdout] 31: 0x559aa60cf488 - as core::ops::function::FnOnce<()>>::call_once::h4e2a7abf702e4cfd [INFO] [stderr] error: test failed, to rerun pass '--lib' [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panic.rs:347:9 [INFO] [stdout] 32: 0x559aa60cf488 - std::panicking::try::do_call::h4496392321a3c8c0 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panicking.rs:401:40 [INFO] [stdout] 33: 0x559aa60cf488 - std::panicking::try::hf1e14258e04e8e9a [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panicking.rs:365:19 [INFO] [stdout] 34: 0x559aa60cf488 - std::panic::catch_unwind::hb72c3777cd55642f [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panic.rs:434:14 [INFO] [stdout] 35: 0x559aa60cf488 - std::thread::Builder::spawn_unchecked::{{closure}}::h2d7915a5910e148e [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/thread/mod.rs:475:30 [INFO] [stdout] 36: 0x559aa60cf488 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h83fd2f1ef5be797c [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 37: 0x559aa6124de7 - as core::ops::function::FnOnce>::call_once::ha8b1d5a0092467fc [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/alloc/src/boxed.rs:1572:9 [INFO] [stdout] 38: 0x559aa6124de7 - as core::ops::function::FnOnce>::call_once::h4b9f24ec4e8a879e [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/alloc/src/boxed.rs:1572:9 [INFO] [stdout] 39: 0x559aa6124de7 - std::sys::unix::thread::Thread::new::thread_start::h2a0e98fbc4ab4c32 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/sys/unix/thread.rs:72:17 [INFO] [stdout] 40: 0x7efd260fe609 - start_thread [INFO] [stdout] 41: 0x7efd263a4293 - clone [INFO] [stdout] 42: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- libx::test::test_open stdout ---- [INFO] [stdout] thread 'libx::test::test_open' panicked at 'assertion failed: display.is_some()', src/libx/mod.rs:571:5 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x559aa611d900 - std::backtrace_rs::backtrace::libunwind::trace::h706b838f5bbd876b [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5 [INFO] [stdout] 1: 0x559aa611d900 - std::backtrace_rs::backtrace::trace_unsynchronized::hc15f29ae7822b7b8 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x559aa611d900 - std::sys_common::backtrace::_print_fmt::h7c580c971f91926c [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x559aa611d900 - ::fmt::h2a772198c4032452 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x559aa61401fc - core::fmt::write::h9a6d9c74526a6c1b [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/core/src/fmt/mod.rs:1115:17 [INFO] [stdout] 5: 0x559aa611a915 - std::io::Write::write_fmt::h583dff5009d01a9f [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/io/mod.rs:1663:15 [INFO] [stdout] 6: 0x559aa611fa6b - std::sys_common::backtrace::_print::h5b3c171e6f864ae4 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x559aa611fa6b - std::sys_common::backtrace::print::h93b9e9ed2a98e611 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x559aa611fa6b - std::panicking::default_hook::{{closure}}::hd8da92bb68d520c5 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panicking.rs:208:50 [INFO] [stdout] 9: 0x559aa611f57c - std::panicking::default_hook::hdbc8b2951c5afbab [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panicking.rs:222:9 [INFO] [stdout] 10: 0x559aa6120134 - std::panicking::rust_panic_with_hook::h8a4c841655926f4e [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panicking.rs:622:17 [INFO] [stdout] 11: 0x559aa611fbe7 - std::panicking::begin_panic_handler::{{closure}}::h471b6bc74904b7b0 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panicking.rs:517:13 [INFO] [stdout] 12: 0x559aa611ddfc - std::sys_common::backtrace::__rust_end_short_backtrace::h309f5c707f29932f [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/sys_common/backtrace.rs:141:18 [INFO] [stdout] 13: 0x559aa611fb79 - rust_begin_unwind [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panicking.rs:515:5 [INFO] [stdout] 14: 0x559aa60986c1 - core::panicking::panic_fmt::hcf5f6d96e1dd7099 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/core/src/panicking.rs:92:14 [INFO] [stdout] 15: 0x559aa609860d - core::panicking::panic::hd695e3b1d0dd4ef4 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/core/src/panicking.rs:50:5 [INFO] [stdout] 16: 0x559aa60a79aa - rustile::libx::test::test_open::h55be5e5a36f5efb9 [INFO] [stdout] at /opt/rustwide/workdir/src/libx/mod.rs:571:5 [INFO] [stdout] 17: 0x559aa60a793a - rustile::libx::test::test_open::{{closure}}::h70f940b83fd84b28 [INFO] [stdout] at /opt/rustwide/workdir/src/libx/mod.rs:569:1 [INFO] [stdout] 18: 0x559aa60b919e - core::ops::function::FnOnce::call_once::hd32b6e3754b29809 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 19: 0x559aa60f37e3 - core::ops::function::FnOnce::call_once::h99a97b0ff983bd25 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 20: 0x559aa60f37e3 - test::__rust_begin_short_backtrace::h8fe0d26ed1584e50 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/test/src/lib.rs:577:5 [INFO] [stdout] 21: 0x559aa60f2270 - as core::ops::function::FnOnce>::call_once::he6b90e352f394d8f [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/alloc/src/boxed.rs:1572:9 [INFO] [stdout] 22: 0x559aa60f2270 - as core::ops::function::FnOnce<()>>::call_once::h1c05475e029700b8 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panic.rs:347:9 [INFO] [stdout] 23: 0x559aa60f2270 - std::panicking::try::do_call::he6de943476ae628a [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panicking.rs:401:40 [INFO] [stdout] 24: 0x559aa60f2270 - std::panicking::try::ha21937b8feb06f89 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panicking.rs:365:19 [INFO] [stdout] 25: 0x559aa60f2270 - std::panic::catch_unwind::ha79830b3325c9fa6 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panic.rs:434:14 [INFO] [stdout] 26: 0x559aa60f2270 - test::run_test_in_process::h1ab180b83ee2d5b5 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/test/src/lib.rs:600:18 [INFO] [stdout] 27: 0x559aa60f2270 - test::run_test::run_test_inner::{{closure}}::h8258ffe088f187a1 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/test/src/lib.rs:492:39 [INFO] [stdout] 28: 0x559aa60cb832 - test::run_test::run_test_inner::{{closure}}::hc697b214abd32bc6 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/test/src/lib.rs:519:37 [INFO] [stdout] 29: 0x559aa60cb832 - std::sys_common::backtrace::__rust_begin_short_backtrace::h64de0d3f894854a9 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/sys_common/backtrace.rs:125:18 [INFO] [stdout] 30: 0x559aa60cf488 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h1fd98fc86e533ece [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/thread/mod.rs:476:17 [INFO] [stdout] 31: 0x559aa60cf488 - as core::ops::function::FnOnce<()>>::call_once::h4e2a7abf702e4cfd [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panic.rs:347:9 [INFO] [stdout] 32: 0x559aa60cf488 - std::panicking::try::do_call::h4496392321a3c8c0 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panicking.rs:401:40 [INFO] [stdout] 33: 0x559aa60cf488 - std::panicking::try::hf1e14258e04e8e9a [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panicking.rs:365:19 [INFO] [stdout] 34: 0x559aa60cf488 - std::panic::catch_unwind::hb72c3777cd55642f [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/panic.rs:434:14 [INFO] [stdout] 35: 0x559aa60cf488 - std::thread::Builder::spawn_unchecked::{{closure}}::h2d7915a5910e148e [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/thread/mod.rs:475:30 [INFO] [stdout] 36: 0x559aa60cf488 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h83fd2f1ef5be797c [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 37: 0x559aa6124de7 - as core::ops::function::FnOnce>::call_once::ha8b1d5a0092467fc [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/alloc/src/boxed.rs:1572:9 [INFO] [stdout] 38: 0x559aa6124de7 - as core::ops::function::FnOnce>::call_once::h4b9f24ec4e8a879e [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/alloc/src/boxed.rs:1572:9 [INFO] [stdout] 39: 0x559aa6124de7 - std::sys::unix::thread::Thread::new::thread_start::h2a0e98fbc4ab4c32 [INFO] [stdout] at /rustc/ecabaf78506b7a4668d42dc20268c086b93f0fad/library/std/src/sys/unix/thread.rs:72:17 [INFO] [stdout] 40: 0x7efd260fe609 - start_thread [INFO] [stdout] 41: 0x7efd263a4293 - clone [INFO] [stdout] 42: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] core::container::test::new [INFO] [stdout] libx::test::test_open [INFO] [stdout] [INFO] [stdout] test result: FAILED. 1 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ace6721c7d5f4cb0369741a1fba8fc5a5def8c6f31f9b3b0e5f2dc7ed68f196a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ace6721c7d5f4cb0369741a1fba8fc5a5def8c6f31f9b3b0e5f2dc7ed68f196a", kill_on_drop: false }` [INFO] [stdout] ace6721c7d5f4cb0369741a1fba8fc5a5def8c6f31f9b3b0e5f2dc7ed68f196a