[INFO] updating cached repository SilverSoldier/rlock [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/SilverSoldier/rlock [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/SilverSoldier/rlock" "work/ex/clippy-test-run/sources/stable/gh/SilverSoldier/rlock"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/SilverSoldier/rlock'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/SilverSoldier/rlock" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/SilverSoldier/rlock"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/SilverSoldier/rlock'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] f325424f96e1a733eb7366ec2d46f14c77b25f53 [INFO] sha for GitHub repo SilverSoldier/rlock: f325424f96e1a733eb7366ec2d46f14c77b25f53 [INFO] validating manifest of SilverSoldier/rlock on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of SilverSoldier/rlock on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing SilverSoldier/rlock [INFO] finished frobbing SilverSoldier/rlock [INFO] frobbed toml for SilverSoldier/rlock written to work/ex/clippy-test-run/sources/stable/gh/SilverSoldier/rlock/Cargo.toml [INFO] started frobbing SilverSoldier/rlock [INFO] finished frobbing SilverSoldier/rlock [INFO] frobbed toml for SilverSoldier/rlock written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/SilverSoldier/rlock/Cargo.toml [INFO] crate SilverSoldier/rlock has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting SilverSoldier/rlock against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/SilverSoldier/rlock:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 8c23b20aec8200d7292302db115339b0c6b4d3a28525be6710212a9ccacb1b65 [INFO] running `"docker" "start" "-a" "8c23b20aec8200d7292302db115339b0c6b4d3a28525be6710212a9ccacb1b65"` [INFO] [stderr] Checking pwd v1.2.0 [INFO] [stderr] Compiling metadeps v1.1.2 [INFO] [stderr] Checking regex v0.2.5 [INFO] [stderr] Checking rust-crypto v0.2.36 [INFO] [stderr] Compiling x11 v2.17.0 [INFO] [stderr] Checking docopt v0.8.1 [INFO] [stderr] Checking rlock v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/config.rs:12:20 [INFO] [stderr] | [INFO] [stderr] 12 | const config_msg: &'static str = " [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/keys.rs:18:22 [INFO] [stderr] | [INFO] [stderr] 18 | _ if ksym >= 0x11000000 && ksym <= 0x1100FFFF => Ok(Key::PRIVATEKEYPAD), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x1100_0000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/keys.rs:18:44 [INFO] [stderr] | [INFO] [stderr] 18 | _ if ksym >= 0x11000000 && ksym <= 0x1100FFFF => Ok(Key::PRIVATEKEYPAD), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x1100_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/arg.rs:5:19 [INFO] [stderr] | [INFO] [stderr] 5 | pub const USAGE: &'static str = " [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/main.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 75 | path [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/main.rs:73:16 [INFO] [stderr] | [INFO] [stderr] 73 | let path = file_prefix + &username + &file_suffix; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:290:20 [INFO] [stderr] | [INFO] [stderr] 290 | usleep(100000); [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/config.rs:12:20 [INFO] [stderr] | [INFO] [stderr] 12 | const config_msg: &'static str = " [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/keys.rs:18:22 [INFO] [stderr] | [INFO] [stderr] 18 | _ if ksym >= 0x11000000 && ksym <= 0x1100FFFF => Ok(Key::PRIVATEKEYPAD), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x1100_0000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/keys.rs:18:44 [INFO] [stderr] | [INFO] [stderr] 18 | _ if ksym >= 0x11000000 && ksym <= 0x1100FFFF => Ok(Key::PRIVATEKEYPAD), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x1100_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/arg.rs:5:19 [INFO] [stderr] | [INFO] [stderr] 5 | pub const USAGE: &'static str = " [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/main.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 75 | path [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/main.rs:73:16 [INFO] [stderr] | [INFO] [stderr] 73 | let path = file_prefix + &username + &file_suffix; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:290:20 [INFO] [stderr] | [INFO] [stderr] 290 | usleep(100000); [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: constant `config_msg` should have an upper case name such as `CONFIG_MSG` [INFO] [stderr] --> src/config.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | / const config_msg: &'static str = " [INFO] [stderr] 13 | | Do not edit/remove this line. Change color for each screen by editing only the right hand side of following lines. If file is not parseable, will revert to default config. [INFO] [stderr] 14 | | "; [INFO] [stderr] | |__^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_upper_case_globals)] on by default [INFO] [stderr] [INFO] [stderr] error: you are getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/config.rs:31:27 [INFO] [stderr] | [INFO] [stderr] 31 | let name = getenv(CString::new("USER").unwrap().as_ptr()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::temporary_cstring_as_ptr)] on by default [INFO] [stderr] = note: that pointer will be invalid outside this expression [INFO] [stderr] help: assign the `CString` to a variable to extend its lifetime [INFO] [stderr] --> src/config.rs:31:27 [INFO] [stderr] | [INFO] [stderr] 31 | let name = getenv(CString::new("USER").unwrap().as_ptr()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#temporary_cstring_as_ptr [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/config.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | / match iter.next() { [INFO] [stderr] 58 | | Some(init_col) => { [INFO] [stderr] 59 | | iter.next(); [INFO] [stderr] 60 | | match iter.next() { [INFO] [stderr] ... | [INFO] [stderr] 73 | | None => {} [INFO] [stderr] 74 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 57 | if let Some(init_col) = iter.next() { [INFO] [stderr] 58 | iter.next(); [INFO] [stderr] 59 | match iter.next() { [INFO] [stderr] 60 | Some(inp_col) => { [INFO] [stderr] 61 | iter.next(); [INFO] [stderr] 62 | match iter.next() { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/config.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | / match iter.next() { [INFO] [stderr] 61 | | Some(inp_col) => { [INFO] [stderr] 62 | | iter.next(); [INFO] [stderr] 63 | | match iter.next() { [INFO] [stderr] ... | [INFO] [stderr] 70 | | None => {} [INFO] [stderr] 71 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 60 | if let Some(inp_col) = iter.next() { [INFO] [stderr] 61 | iter.next(); [INFO] [stderr] 62 | match iter.next() { [INFO] [stderr] 63 | Some(fail_col) => { [INFO] [stderr] 64 | return create_color_map(init_col, inp_col, fail_col) [INFO] [stderr] 65 | }, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/config.rs:63:21 [INFO] [stderr] | [INFO] [stderr] 63 | / match iter.next() { [INFO] [stderr] 64 | | Some(fail_col) => { [INFO] [stderr] 65 | | return create_color_map(init_col, inp_col, fail_col) [INFO] [stderr] 66 | | }, [INFO] [stderr] 67 | | None => {} [INFO] [stderr] 68 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 63 | if let Some(fail_col) = iter.next() { [INFO] [stderr] 64 | return create_color_map(init_col, inp_col, fail_col) [INFO] [stderr] 65 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/config.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | / match File::open(path) { [INFO] [stderr] 88 | | Ok(f) => { [INFO] [stderr] 89 | | println!("Reading from config"); [INFO] [stderr] 90 | | let mut file = f; [INFO] [stderr] ... | [INFO] [stderr] 100 | | } [INFO] [stderr] 101 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 87 | if let Ok(f) = File::open(path) { [INFO] [stderr] 88 | println!("Reading from config"); [INFO] [stderr] 89 | let mut file = f; [INFO] [stderr] 90 | let mut contents = String::new(); [INFO] [stderr] 91 | match file.read_to_string(&mut contents) { [INFO] [stderr] 92 | Ok(_) => return parse_contents(contents), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/config.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | / match file.read_to_string(&mut contents) { [INFO] [stderr] 93 | | Ok(_) => return parse_contents(contents), [INFO] [stderr] 94 | | Err(_) => {} [INFO] [stderr] 95 | | } [INFO] [stderr] | |_____________^ help: try this: `if let Ok(_) = file.read_to_string(&mut contents) { return parse_contents(contents) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/keys.rs:16:22 [INFO] [stderr] | [INFO] [stderr] 16 | _ if ksym >= XK_space as u64 && ksym <= XK_equal as u64 => Ok(Key::KEYPAD), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(XK_space)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/keys.rs:16:49 [INFO] [stderr] | [INFO] [stderr] 16 | _ if ksym >= XK_space as u64 && ksym <= XK_equal as u64 => Ok(Key::KEYPAD), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(XK_equal)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/keys.rs:17:22 [INFO] [stderr] | [INFO] [stderr] 17 | _ if ksym >= XK_F1 as u64 && ksym <= XK_F35 as u64 => Ok(Key::FUNCTION), [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(XK_F1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/keys.rs:17:46 [INFO] [stderr] | [INFO] [stderr] 17 | _ if ksym >= XK_F1 as u64 && ksym <= XK_F35 as u64 => Ok(Key::FUNCTION), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(XK_F35)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/keys.rs:19:22 [INFO] [stderr] | [INFO] [stderr] 19 | _ if ksym >= XK_Select as u64 && ksym <= XK_Break as u64 => Ok(Key::MISCFUNCTION), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u64::from(XK_Select)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/keys.rs:19:50 [INFO] [stderr] | [INFO] [stderr] 19 | _ if ksym >= XK_Select as u64 && ksym <= XK_Break as u64 => Ok(Key::MISCFUNCTION), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(XK_Break)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/keys.rs:20:22 [INFO] [stderr] | [INFO] [stderr] 20 | _ if ksym >= XK_F1 as u64 && ksym <= XK_F4 as u64 => Ok(Key::PF), [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(XK_F1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/keys.rs:20:46 [INFO] [stderr] | [INFO] [stderr] 20 | _ if ksym >= XK_F1 as u64 && ksym <= XK_F4 as u64 => Ok(Key::PF), [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(XK_F4)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:83:18 [INFO] [stderr] | [INFO] [stderr] 83 | fn hash(to_hash: &String) -> String { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: parameter of type `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/main.rs:166:32 [INFO] [stderr] | [INFO] [stderr] 166 | pub fn getvalue(key: u32, map: HashMap) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::implicit_hasher)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 166 | pub fn getvalue(key: u32, map: HashMap) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:326:17 [INFO] [stderr] | [INFO] [stderr] 326 | / match get_key_type(ksym) { [INFO] [stderr] 327 | | Ok(_) => continue, [INFO] [stderr] 328 | | Err(_) => {} [INFO] [stderr] 329 | | }; [INFO] [stderr] | |_________________^ help: try this: `if let Ok(_) = get_key_type(ksym) { continue }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `XK_Return` should have an upper case name such as `XK_RETURN` [INFO] [stderr] --> src/main.rs:332:21 [INFO] [stderr] | [INFO] [stderr] 332 | XK_Return => { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `XK_Escape` should have an upper case name such as `XK_ESCAPE` [INFO] [stderr] --> src/main.rs:350:21 [INFO] [stderr] | [INFO] [stderr] 350 | XK_Escape => { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `XK_BackSpace` should have an upper case name such as `XK_BACK_SPACE` [INFO] [stderr] --> src/main.rs:354:21 [INFO] [stderr] | [INFO] [stderr] 354 | XK_BackSpace => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:368:33 [INFO] [stderr] | [INFO] [stderr] 368 | let color = match passwd.is_empty() { [INFO] [stderr] | _________________________________^ [INFO] [stderr] 369 | | false => Color::INPUT, [INFO] [stderr] 370 | | _ => { [INFO] [stderr] 371 | | match failure { [INFO] [stderr] ... | [INFO] [stderr] 375 | | } [INFO] [stderr] 376 | | }; [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 368 | let color = if passwd.is_empty() { [INFO] [stderr] 369 | match failure { [INFO] [stderr] 370 | true => Color::FAILED, [INFO] [stderr] 371 | false => Color::INIT [INFO] [stderr] 372 | } [INFO] [stderr] 373 | } else { Color::INPUT }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:371:29 [INFO] [stderr] | [INFO] [stderr] 371 | / match failure { [INFO] [stderr] 372 | | true => Color::FAILED, [INFO] [stderr] 373 | | false => Color::INIT [INFO] [stderr] 374 | | } [INFO] [stderr] | |_____________________________^ help: consider using an if/else expression: `if failure { Color::FAILED } else { Color::INIT }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/main.rs:379:66 [INFO] [stderr] | [INFO] [stderr] 379 | XSetWindowBackground(dpy, lock.win, *lock.colors.get(color as usize).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `lock.colors[color as usize]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:389:39 [INFO] [stderr] | [INFO] [stderr] 389 | match rre.rotation as i32{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(rre.rotation)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `RR_Rotate_90` should have an upper case name such as `RR_ROTATE_90` [INFO] [stderr] --> src/main.rs:390:37 [INFO] [stderr] | [INFO] [stderr] 390 | RR_Rotate_90 | RR_Rotate_270 => XResizeWindow(dpy, lock.win, rre.height as u32, rre.width as u32), [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `RR_Rotate_270` should have an upper case name such as `RR_ROTATE_270` [INFO] [stderr] --> src/main.rs:390:52 [INFO] [stderr] | [INFO] [stderr] 390 | RR_Rotate_90 | RR_Rotate_270 => XResizeWindow(dpy, lock.win, rre.height as u32, rre.width as u32), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:444:13 [INFO] [stderr] | [INFO] [stderr] 444 | / match success { [INFO] [stderr] 445 | | true => locks.push(lock), [INFO] [stderr] 446 | | false => break [INFO] [stderr] 447 | | }; [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if success { locks.push(lock) } else { break }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `rlock`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: constant `config_msg` should have an upper case name such as `CONFIG_MSG` [INFO] [stderr] --> src/config.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | / const config_msg: &'static str = " [INFO] [stderr] 13 | | Do not edit/remove this line. Change color for each screen by editing only the right hand side of following lines. If file is not parseable, will revert to default config. [INFO] [stderr] 14 | | "; [INFO] [stderr] | |__^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_upper_case_globals)] on by default [INFO] [stderr] [INFO] [stderr] error: you are getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/config.rs:31:27 [INFO] [stderr] | [INFO] [stderr] 31 | let name = getenv(CString::new("USER").unwrap().as_ptr()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::temporary_cstring_as_ptr)] on by default [INFO] [stderr] = note: that pointer will be invalid outside this expression [INFO] [stderr] help: assign the `CString` to a variable to extend its lifetime [INFO] [stderr] --> src/config.rs:31:27 [INFO] [stderr] | [INFO] [stderr] 31 | let name = getenv(CString::new("USER").unwrap().as_ptr()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#temporary_cstring_as_ptr [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/config.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | / match iter.next() { [INFO] [stderr] 58 | | Some(init_col) => { [INFO] [stderr] 59 | | iter.next(); [INFO] [stderr] 60 | | match iter.next() { [INFO] [stderr] ... | [INFO] [stderr] 73 | | None => {} [INFO] [stderr] 74 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 57 | if let Some(init_col) = iter.next() { [INFO] [stderr] 58 | iter.next(); [INFO] [stderr] 59 | match iter.next() { [INFO] [stderr] 60 | Some(inp_col) => { [INFO] [stderr] 61 | iter.next(); [INFO] [stderr] 62 | match iter.next() { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/config.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | / match iter.next() { [INFO] [stderr] 61 | | Some(inp_col) => { [INFO] [stderr] 62 | | iter.next(); [INFO] [stderr] 63 | | match iter.next() { [INFO] [stderr] ... | [INFO] [stderr] 70 | | None => {} [INFO] [stderr] 71 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 60 | if let Some(inp_col) = iter.next() { [INFO] [stderr] 61 | iter.next(); [INFO] [stderr] 62 | match iter.next() { [INFO] [stderr] 63 | Some(fail_col) => { [INFO] [stderr] 64 | return create_color_map(init_col, inp_col, fail_col) [INFO] [stderr] 65 | }, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/config.rs:63:21 [INFO] [stderr] | [INFO] [stderr] 63 | / match iter.next() { [INFO] [stderr] 64 | | Some(fail_col) => { [INFO] [stderr] 65 | | return create_color_map(init_col, inp_col, fail_col) [INFO] [stderr] 66 | | }, [INFO] [stderr] 67 | | None => {} [INFO] [stderr] 68 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 63 | if let Some(fail_col) = iter.next() { [INFO] [stderr] 64 | return create_color_map(init_col, inp_col, fail_col) [INFO] [stderr] 65 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/config.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | / match File::open(path) { [INFO] [stderr] 88 | | Ok(f) => { [INFO] [stderr] 89 | | println!("Reading from config"); [INFO] [stderr] 90 | | let mut file = f; [INFO] [stderr] ... | [INFO] [stderr] 100 | | } [INFO] [stderr] 101 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 87 | if let Ok(f) = File::open(path) { [INFO] [stderr] 88 | println!("Reading from config"); [INFO] [stderr] 89 | let mut file = f; [INFO] [stderr] 90 | let mut contents = String::new(); [INFO] [stderr] 91 | match file.read_to_string(&mut contents) { [INFO] [stderr] 92 | Ok(_) => return parse_contents(contents), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/config.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | / match file.read_to_string(&mut contents) { [INFO] [stderr] 93 | | Ok(_) => return parse_contents(contents), [INFO] [stderr] 94 | | Err(_) => {} [INFO] [stderr] 95 | | } [INFO] [stderr] | |_____________^ help: try this: `if let Ok(_) = file.read_to_string(&mut contents) { return parse_contents(contents) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/keys.rs:16:22 [INFO] [stderr] | [INFO] [stderr] 16 | _ if ksym >= XK_space as u64 && ksym <= XK_equal as u64 => Ok(Key::KEYPAD), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(XK_space)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/keys.rs:16:49 [INFO] [stderr] | [INFO] [stderr] 16 | _ if ksym >= XK_space as u64 && ksym <= XK_equal as u64 => Ok(Key::KEYPAD), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(XK_equal)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/keys.rs:17:22 [INFO] [stderr] | [INFO] [stderr] 17 | _ if ksym >= XK_F1 as u64 && ksym <= XK_F35 as u64 => Ok(Key::FUNCTION), [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(XK_F1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/keys.rs:17:46 [INFO] [stderr] | [INFO] [stderr] 17 | _ if ksym >= XK_F1 as u64 && ksym <= XK_F35 as u64 => Ok(Key::FUNCTION), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(XK_F35)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/keys.rs:19:22 [INFO] [stderr] | [INFO] [stderr] 19 | _ if ksym >= XK_Select as u64 && ksym <= XK_Break as u64 => Ok(Key::MISCFUNCTION), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u64::from(XK_Select)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/keys.rs:19:50 [INFO] [stderr] | [INFO] [stderr] 19 | _ if ksym >= XK_Select as u64 && ksym <= XK_Break as u64 => Ok(Key::MISCFUNCTION), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(XK_Break)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/keys.rs:20:22 [INFO] [stderr] | [INFO] [stderr] 20 | _ if ksym >= XK_F1 as u64 && ksym <= XK_F4 as u64 => Ok(Key::PF), [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(XK_F1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/keys.rs:20:46 [INFO] [stderr] | [INFO] [stderr] 20 | _ if ksym >= XK_F1 as u64 && ksym <= XK_F4 as u64 => Ok(Key::PF), [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(XK_F4)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:83:18 [INFO] [stderr] | [INFO] [stderr] 83 | fn hash(to_hash: &String) -> String { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: parameter of type `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/main.rs:166:32 [INFO] [stderr] | [INFO] [stderr] 166 | pub fn getvalue(key: u32, map: HashMap) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::implicit_hasher)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 166 | pub fn getvalue(key: u32, map: HashMap) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:326:17 [INFO] [stderr] | [INFO] [stderr] 326 | / match get_key_type(ksym) { [INFO] [stderr] 327 | | Ok(_) => continue, [INFO] [stderr] 328 | | Err(_) => {} [INFO] [stderr] 329 | | }; [INFO] [stderr] | |_________________^ help: try this: `if let Ok(_) = get_key_type(ksym) { continue }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `XK_Return` should have an upper case name such as `XK_RETURN` [INFO] [stderr] --> src/main.rs:332:21 [INFO] [stderr] | [INFO] [stderr] 332 | XK_Return => { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `XK_Escape` should have an upper case name such as `XK_ESCAPE` [INFO] [stderr] --> src/main.rs:350:21 [INFO] [stderr] | [INFO] [stderr] 350 | XK_Escape => { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `XK_BackSpace` should have an upper case name such as `XK_BACK_SPACE` [INFO] [stderr] --> src/main.rs:354:21 [INFO] [stderr] | [INFO] [stderr] 354 | XK_BackSpace => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:368:33 [INFO] [stderr] | [INFO] [stderr] 368 | let color = match passwd.is_empty() { [INFO] [stderr] | _________________________________^ [INFO] [stderr] 369 | | false => Color::INPUT, [INFO] [stderr] 370 | | _ => { [INFO] [stderr] 371 | | match failure { [INFO] [stderr] ... | [INFO] [stderr] 375 | | } [INFO] [stderr] 376 | | }; [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 368 | let color = if passwd.is_empty() { [INFO] [stderr] 369 | match failure { [INFO] [stderr] 370 | true => Color::FAILED, [INFO] [stderr] 371 | false => Color::INIT [INFO] [stderr] 372 | } [INFO] [stderr] 373 | } else { Color::INPUT }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:371:29 [INFO] [stderr] | [INFO] [stderr] 371 | / match failure { [INFO] [stderr] 372 | | true => Color::FAILED, [INFO] [stderr] 373 | | false => Color::INIT [INFO] [stderr] 374 | | } [INFO] [stderr] | |_____________________________^ help: consider using an if/else expression: `if failure { Color::FAILED } else { Color::INIT }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/main.rs:379:66 [INFO] [stderr] | [INFO] [stderr] 379 | XSetWindowBackground(dpy, lock.win, *lock.colors.get(color as usize).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `lock.colors[color as usize]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:389:39 [INFO] [stderr] | [INFO] [stderr] 389 | match rre.rotation as i32{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(rre.rotation)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `RR_Rotate_90` should have an upper case name such as `RR_ROTATE_90` [INFO] [stderr] --> src/main.rs:390:37 [INFO] [stderr] | [INFO] [stderr] 390 | RR_Rotate_90 | RR_Rotate_270 => XResizeWindow(dpy, lock.win, rre.height as u32, rre.width as u32), [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant in pattern `RR_Rotate_270` should have an upper case name such as `RR_ROTATE_270` [INFO] [stderr] --> src/main.rs:390:52 [INFO] [stderr] | [INFO] [stderr] 390 | RR_Rotate_90 | RR_Rotate_270 => XResizeWindow(dpy, lock.win, rre.height as u32, rre.width as u32), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:444:13 [INFO] [stderr] | [INFO] [stderr] 444 | / match success { [INFO] [stderr] 445 | | true => locks.push(lock), [INFO] [stderr] 446 | | false => break [INFO] [stderr] 447 | | }; [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if success { locks.push(lock) } else { break }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `rlock`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "8c23b20aec8200d7292302db115339b0c6b4d3a28525be6710212a9ccacb1b65"` [INFO] running `"docker" "rm" "-f" "8c23b20aec8200d7292302db115339b0c6b4d3a28525be6710212a9ccacb1b65"` [INFO] [stdout] 8c23b20aec8200d7292302db115339b0c6b4d3a28525be6710212a9ccacb1b65