[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 master#99e3aef02079e9c10583638520cd0c134dc3a01d for pr-85530 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flutianming%2Frustile" "/workspace/builds/worker-5/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/lutianming/rustile on toolchain 99e3aef02079e9c10583638520cd0c134dc3a01d [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+99e3aef02079e9c10583638520cd0c134dc3a01d" "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-5/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" "+99e3aef02079e9c10583638520cd0c134dc3a01d" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+99e3aef02079e9c10583638520cd0c134dc3a01d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6fc4084dbfb564267aae4731bb19226cdb6cbfe823e637af2ced0039c81818be [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "6fc4084dbfb564267aae4731bb19226cdb6cbfe823e637af2ced0039c81818be", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6fc4084dbfb564267aae4731bb19226cdb6cbfe823e637af2ced0039c81818be", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6fc4084dbfb564267aae4731bb19226cdb6cbfe823e637af2ced0039c81818be", kill_on_drop: false }` [INFO] [stdout] 6fc4084dbfb564267aae4731bb19226cdb6cbfe823e637af2ced0039c81818be [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+99e3aef02079e9c10583638520cd0c134dc3a01d" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d53b41a0ab7f6cfbc2948d6deb10a7df3f463dd30255ee5923164339c6bc775b [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "d53b41a0ab7f6cfbc2948d6deb10a7df3f463dd30255ee5923164339c6bc775b", 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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition! [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] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 5.31s [INFO] running `Command { std: "docker" "inspect" "d53b41a0ab7f6cfbc2948d6deb10a7df3f463dd30255ee5923164339c6bc775b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d53b41a0ab7f6cfbc2948d6deb10a7df3f463dd30255ee5923164339c6bc775b", kill_on_drop: false }` [INFO] [stdout] d53b41a0ab7f6cfbc2948d6deb10a7df3f463dd30255ee5923164339c6bc775b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+99e3aef02079e9c10583638520cd0c134dc3a01d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 263aff8cc7d34897a916e0d44f1e5e142a2c7219089cfe4b8e479c4b296d8717 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "263aff8cc7d34897a916e0d44f1e5e142a2c7219089cfe4b8e479c4b296d8717", 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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition! [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] [stderr] Compiling rustile v0.0.1 (/opt/rustwide/workdir) [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] [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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition! [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_panic)]` on by default [INFO] [stdout] = note: this is no longer accepted in Rust 2021 [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: 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: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 103 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.98s [INFO] running `Command { std: "docker" "inspect" "263aff8cc7d34897a916e0d44f1e5e142a2c7219089cfe4b8e479c4b296d8717", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "263aff8cc7d34897a916e0d44f1e5e142a2c7219089cfe4b8e479c4b296d8717", kill_on_drop: false }` [INFO] [stdout] 263aff8cc7d34897a916e0d44f1e5e142a2c7219089cfe4b8e479c4b296d8717 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+99e3aef02079e9c10583638520cd0c134dc3a01d" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] acb9d7ab9c4bceb27f22ee1fc8fff8c6ba36d026b14f747e38b6335bde995e23 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "acb9d7ab9c4bceb27f22ee1fc8fff8c6ba36d026b14f747e38b6335bde995e23", 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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition! [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 was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition! [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_panic)]` on by default [INFO] [stderr] = note: this is no longer accepted in Rust 2021 [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] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/rustile-4b2cf9cc5f0db84c) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test core::config::test_map ... ok [INFO] [stderr] error: test failed, to rerun pass '--lib' [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: 0x56367ede8b60 - std::backtrace_rs::backtrace::libunwind::trace::h1037ca7e6eeef65c [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5 [INFO] [stdout] 1: 0x56367ede8b60 - std::backtrace_rs::backtrace::trace_unsynchronized::haaefac1bc3669450 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x56367ede8b60 - std::sys_common::backtrace::_print_fmt::h863a6f5e6d995885 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x56367ede8b60 - ::fmt::h767e17e1aa7df6a8 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x56367ee0b44c - core::fmt::write::h7aa6cd0067dca82a [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/core/src/fmt/mod.rs:1110:17 [INFO] [stdout] 5: 0x56367ede5b75 - std::io::Write::write_fmt::h6f1a9b91376a1376 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/io/mod.rs:1584:15 [INFO] [stdout] 6: 0x56367edeaccb - std::sys_common::backtrace::_print::h2769edb26a7eb606 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x56367edeaccb - std::sys_common::backtrace::print::ha71f3549862b4cb6 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x56367edeaccb - std::panicking::default_hook::{{closure}}::h95488a3bade217f6 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:208:50 [INFO] [stdout] 9: 0x56367edea7dc - std::panicking::default_hook::h290aa602c0fb11df [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:222:9 [INFO] [stdout] 10: 0x56367edeb371 - std::panicking::rust_panic_with_hook::hf32c4fa635e215f2 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:622:17 [INFO] [stdout] 11: 0x56367ed8d67f - std::panicking::begin_panic::{{closure}}::ha6359320eea08b04 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:542:9 [INFO] [stdout] 12: 0x56367ed83298 - std::sys_common::backtrace::__rust_end_short_backtrace::h0dac618b67049feb [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys_common/backtrace.rs:141:18 [INFO] [stdout] 13: 0x56367ed8d595 - std::panicking::begin_panic::he7f4c89b51128d74 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:541:12 [INFO] [stdout] 14: 0x56367ed8cda9 - rustile::core::window_manager::WindowManager::new::h9b935aaf1ba97a92 [INFO] [stdout] at /opt/rustwide/workdir/src/core/window_manager.rs:105:17 [INFO] [stdout] 15: 0x56367ed730d6 - rustile::core::container::test::init::h6f561fec05f7a2d8 [INFO] [stdout] at /opt/rustwide/workdir/src/core/container.rs:555:22 [INFO] [stdout] 16: 0x56367ed73e11 - rustile::core::container::test::new::h5b4371ebc92305c0 [INFO] [stdout] at /opt/rustwide/workdir/src/core/container.rs:566:22 [INFO] [stdout] 17: 0x56367ed73dea - rustile::core::container::test::new::{{closure}}::ha04c7bdc0fc3a9b5 [INFO] [stdout] at /opt/rustwide/workdir/src/core/container.rs:565:5 [INFO] [stdout] 18: 0x56367ed7be1e - core::ops::function::FnOnce::call_once::h6348b88158269d4a [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 19: 0x56367edbebe3 - core::ops::function::FnOnce::call_once::h673fbe3f96486fd2 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 20: 0x56367edbebe3 - test::__rust_begin_short_backtrace::h8eedc24e104ef6a0 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/test/src/lib.rs:577:5 [INFO] [stdout] 21: 0x56367edbd690 - as core::ops::function::FnOnce>::call_once::h028d0969d3f94d78 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/alloc/src/boxed.rs:1575:9 [INFO] [stdout] 22: 0x56367edbd690 - as core::ops::function::FnOnce<()>>::call_once::h7634b01590b1722b [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panic.rs:346:9 [INFO] [stdout] 23: 0x56367edbd690 - std::panicking::try::do_call::hf74f869706dec63b [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:401:40 [INFO] [stdout] 24: 0x56367edbd690 - std::panicking::try::hd0b7346ebfaaae44 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:365:19 [INFO] [stdout] 25: 0x56367edbd690 - std::panic::catch_unwind::hdbf6904f7c253080 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panic.rs:433:14 [INFO] [stdout] 26: 0x56367edbd690 - test::run_test_in_process::h87e95a014ac91067 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/test/src/lib.rs:600:18 [INFO] [stdout] 27: 0x56367edbd690 - test::run_test::run_test_inner::{{closure}}::hdd69ae44aaab3470 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/test/src/lib.rs:492:39 [INFO] [stdout] 28: 0x56367ed98962 - test::run_test::run_test_inner::{{closure}}::hc159305704d5b68a [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/test/src/lib.rs:519:37 [INFO] [stdout] 29: 0x56367ed98962 - std::sys_common::backtrace::__rust_begin_short_backtrace::h33d8a8ad5f788fcc [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys_common/backtrace.rs:125:18 [INFO] [stdout] 30: 0x56367ed9c6d8 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h6181011ddf4b8353 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/thread/mod.rs:481:17 [INFO] [stdout] 31: 0x56367ed9c6d8 - as core::ops::function::FnOnce<()>>::call_once::hf924ea0a0f25a1c0 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panic.rs:346:9 [INFO] [stdout] 32: 0x56367ed9c6d8 - std::panicking::try::do_call::hd58061792d05fa5c [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:401:40 [INFO] [stdout] 33: 0x56367ed9c6d8 - std::panicking::try::h3080747417e5af37 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:365:19 [INFO] [stdout] 34: 0x56367ed9c6d8 - std::panic::catch_unwind::hfeba515dcf36cb66 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panic.rs:433:14 [INFO] [stdout] 35: 0x56367ed9c6d8 - std::thread::Builder::spawn_unchecked::{{closure}}::h29d57a62faff749b [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/thread/mod.rs:480:30 [INFO] [stdout] 36: 0x56367ed9c6d8 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h44709d312d2a9c59 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 37: 0x56367edeff47 - as core::ops::function::FnOnce>::call_once::h902e2cf6655e1b0c [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/alloc/src/boxed.rs:1575:9 [INFO] [stdout] 38: 0x56367edeff47 - as core::ops::function::FnOnce>::call_once::h893a5452154309d1 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/alloc/src/boxed.rs:1575:9 [INFO] [stdout] 39: 0x56367edeff47 - std::sys::unix::thread::Thread::new::thread_start::hdedcb57c96ab37cd [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys/unix/thread.rs:71:17 [INFO] [stdout] 40: 0x7fa19d92d609 - start_thread [INFO] [stdout] 41: 0x7fa19dbd3293 - 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: 0x56367ede8b60 - std::backtrace_rs::backtrace::libunwind::trace::h1037ca7e6eeef65c [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5 [INFO] [stdout] 1: 0x56367ede8b60 - std::backtrace_rs::backtrace::trace_unsynchronized::haaefac1bc3669450 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x56367ede8b60 - std::sys_common::backtrace::_print_fmt::h863a6f5e6d995885 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x56367ede8b60 - ::fmt::h767e17e1aa7df6a8 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x56367ee0b44c - core::fmt::write::h7aa6cd0067dca82a [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/core/src/fmt/mod.rs:1110:17 [INFO] [stdout] 5: 0x56367ede5b75 - std::io::Write::write_fmt::h6f1a9b91376a1376 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/io/mod.rs:1584:15 [INFO] [stdout] 6: 0x56367edeaccb - std::sys_common::backtrace::_print::h2769edb26a7eb606 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x56367edeaccb - std::sys_common::backtrace::print::ha71f3549862b4cb6 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x56367edeaccb - std::panicking::default_hook::{{closure}}::h95488a3bade217f6 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:208:50 [INFO] [stdout] 9: 0x56367edea7dc - std::panicking::default_hook::h290aa602c0fb11df [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:222:9 [INFO] [stdout] 10: 0x56367edeb371 - std::panicking::rust_panic_with_hook::hf32c4fa635e215f2 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:622:17 [INFO] [stdout] 11: 0x56367edeae47 - std::panicking::begin_panic_handler::{{closure}}::h95197ccd88846f7a [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:517:13 [INFO] [stdout] 12: 0x56367ede903c - std::sys_common::backtrace::__rust_end_short_backtrace::h7641df9566f7b7d0 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys_common/backtrace.rs:141:18 [INFO] [stdout] 13: 0x56367edeadd9 - rust_begin_unwind [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:515:5 [INFO] [stdout] 14: 0x56367ed65531 - core::panicking::panic_fmt::hbe99dddd3092ba3c [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/core/src/panicking.rs:92:14 [INFO] [stdout] 15: 0x56367ed6547d - core::panicking::panic::h3de4db67bd397eb3 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/core/src/panicking.rs:50:5 [INFO] [stdout] 16: 0x56367ed7a09a - rustile::libx::test::test_open::h1917ec1ddcbbb02a [INFO] [stdout] at /opt/rustwide/workdir/src/libx/mod.rs:571:5 [INFO] [stdout] 17: 0x56367ed7a02a - rustile::libx::test::test_open::{{closure}}::h72f796fb922314c9 [INFO] [stdout] at /opt/rustwide/workdir/src/libx/mod.rs:569:1 [INFO] [stdout] 18: 0x56367ed7bffe - core::ops::function::FnOnce::call_once::hc46185ed38b53652 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 19: 0x56367edbebe3 - core::ops::function::FnOnce::call_once::h673fbe3f96486fd2 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 20: 0x56367edbebe3 - test::__rust_begin_short_backtrace::h8eedc24e104ef6a0 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/test/src/lib.rs:577:5 [INFO] [stdout] 21: 0x56367edbd690 - as core::ops::function::FnOnce>::call_once::h028d0969d3f94d78 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/alloc/src/boxed.rs:1575:9 [INFO] [stdout] 22: 0x56367edbd690 - as core::ops::function::FnOnce<()>>::call_once::h7634b01590b1722b [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panic.rs:346:9 [INFO] [stdout] 23: 0x56367edbd690 - std::panicking::try::do_call::hf74f869706dec63b [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:401:40 [INFO] [stdout] 24: 0x56367edbd690 - std::panicking::try::hd0b7346ebfaaae44 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:365:19 [INFO] [stdout] 25: 0x56367edbd690 - std::panic::catch_unwind::hdbf6904f7c253080 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panic.rs:433:14 [INFO] [stdout] 26: 0x56367edbd690 - test::run_test_in_process::h87e95a014ac91067 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/test/src/lib.rs:600:18 [INFO] [stdout] 27: 0x56367edbd690 - test::run_test::run_test_inner::{{closure}}::hdd69ae44aaab3470 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/test/src/lib.rs:492:39 [INFO] [stdout] 28: 0x56367ed98962 - test::run_test::run_test_inner::{{closure}}::hc159305704d5b68a [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/test/src/lib.rs:519:37 [INFO] [stdout] 29: 0x56367ed98962 - std::sys_common::backtrace::__rust_begin_short_backtrace::h33d8a8ad5f788fcc [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys_common/backtrace.rs:125:18 [INFO] [stdout] 30: 0x56367ed9c6d8 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h6181011ddf4b8353 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/thread/mod.rs:481:17 [INFO] [stdout] 31: 0x56367ed9c6d8 - as core::ops::function::FnOnce<()>>::call_once::hf924ea0a0f25a1c0 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panic.rs:346:9 [INFO] [stdout] 32: 0x56367ed9c6d8 - std::panicking::try::do_call::hd58061792d05fa5c [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:401:40 [INFO] [stdout] 33: 0x56367ed9c6d8 - std::panicking::try::h3080747417e5af37 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:365:19 [INFO] [stdout] 34: 0x56367ed9c6d8 - std::panic::catch_unwind::hfeba515dcf36cb66 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panic.rs:433:14 [INFO] [stdout] 35: 0x56367ed9c6d8 - std::thread::Builder::spawn_unchecked::{{closure}}::h29d57a62faff749b [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/thread/mod.rs:480:30 [INFO] [stdout] 36: 0x56367ed9c6d8 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h44709d312d2a9c59 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 37: 0x56367edeff47 - as core::ops::function::FnOnce>::call_once::h902e2cf6655e1b0c [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/alloc/src/boxed.rs:1575:9 [INFO] [stdout] 38: 0x56367edeff47 - as core::ops::function::FnOnce>::call_once::h893a5452154309d1 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/alloc/src/boxed.rs:1575:9 [INFO] [stdout] 39: 0x56367edeff47 - std::sys::unix::thread::Thread::new::thread_start::hdedcb57c96ab37cd [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys/unix/thread.rs:71:17 [INFO] [stdout] 40: 0x7fa19d92d609 - start_thread [INFO] [stdout] 41: 0x7fa19dbd3293 - 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" "acb9d7ab9c4bceb27f22ee1fc8fff8c6ba36d026b14f747e38b6335bde995e23", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "acb9d7ab9c4bceb27f22ee1fc8fff8c6ba36d026b14f747e38b6335bde995e23", kill_on_drop: false }` [INFO] [stdout] acb9d7ab9c4bceb27f22ee1fc8fff8c6ba36d026b14f747e38b6335bde995e23