[INFO] crate webkitten 0.1.0 is already in cache [INFO] extracting crate webkitten 0.1.0 into work/ex/clippy-test-run/sources/stable/reg/webkitten/0.1.0 [INFO] extracting crate webkitten 0.1.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/webkitten/0.1.0 [INFO] validating manifest of webkitten-0.1.0 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 webkitten-0.1.0 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 webkitten-0.1.0 [INFO] finished frobbing webkitten-0.1.0 [INFO] frobbed toml for webkitten-0.1.0 written to work/ex/clippy-test-run/sources/stable/reg/webkitten/0.1.0/Cargo.toml [INFO] started frobbing webkitten-0.1.0 [INFO] finished frobbing webkitten-0.1.0 [INFO] frobbed toml for webkitten-0.1.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/webkitten/0.1.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [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 webkitten-0.1.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/webkitten/0.1.0:/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] 2ca875148b0d8f70cf86039bf91acac92e38016fc117d1cb576633d87bebce61 [INFO] running `"docker" "start" "-a" "2ca875148b0d8f70cf86039bf91acac92e38016fc117d1cb576633d87bebce61"` [INFO] [stderr] Compiling webkitten v0.1.0 (/opt/crater/workdir) [INFO] [stderr] Compiling lua52-sys v0.0.4 [INFO] [stderr] Checking toml v0.1.30 [INFO] [stderr] Checking hlua v0.1.9 [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/command.rs:25:21 [INFO] [stderr] | [INFO] [stderr] 25 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/config.rs:117:40 [INFO] [stderr] | [INFO] [stderr] 117 | Ok(value) => Some(Config { value: value }), [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/optparse.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/optparse.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | exit_status: exit_status [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `exit_status` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/keybinding.rs:55:22 [INFO] [stderr] | [INFO] [stderr] 55 | ParseError { reason: reason, message: message } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reason` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/keybinding.rs:55:38 [INFO] [stderr] | [INFO] [stderr] 55 | ParseError { reason: reason, message: message } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `message` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:36:17 [INFO] [stderr] | [INFO] [stderr] 36 | config: config, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `config` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/command.rs:25:21 [INFO] [stderr] | [INFO] [stderr] 25 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/config.rs:117:40 [INFO] [stderr] | [INFO] [stderr] 117 | Ok(value) => Some(Config { value: value }), [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/optparse.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/optparse.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | exit_status: exit_status [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `exit_status` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/keybinding.rs:55:22 [INFO] [stderr] | [INFO] [stderr] 55 | ParseError { reason: reason, message: message } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reason` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/keybinding.rs:55:38 [INFO] [stderr] | [INFO] [stderr] 55 | ParseError { reason: reason, message: message } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `message` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:36:17 [INFO] [stderr] | [INFO] [stderr] 36 | config: config, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `config` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/command.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | return ordered_paths.pop(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `ordered_paths.pop()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/command.rs:116:9 [INFO] [stderr] | [INFO] [stderr] 116 | return (String::from(file_path.to_str().unwrap()), result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(String::from(file_path.to_str().unwrap()), result)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/config.rs:12:28 [INFO] [stderr] | [INFO] [stderr] 12 | pub const DEFAULT_CONFIG: &'static str = r#" [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/config.rs:25:20 [INFO] [stderr] | [INFO] [stderr] 25 | const CONFIG_DIR: &'static str = "CONFIG_DIR"; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/config.rs:27:14 [INFO] [stderr] | [INFO] [stderr] 27 | const HOME: &'static str = "HOME"; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/ui.rs:384:27 [INFO] [stderr] | [INFO] [stderr] 384 | const URI_DELIMITER: &'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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/ui.rs:385:27 [INFO] [stderr] | [INFO] [stderr] 385 | const HTTP_PROTOCOL: &'static str = "http"; [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: unneeded return statement [INFO] [stderr] --> src/optparse.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | return opts.usage(&brief); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `opts.usage(&brief)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/script/lua.rs:18:24 [INFO] [stderr] | [INFO] [stderr] 18 | const FILE_EXTENSION: &'static str = "lua"; [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: unneeded unit return type [INFO] [stderr] --> src/script/lua.rs:224:58 [INFO] [stderr] | [INFO] [stderr] 224 | lua.set("show_window", function1(|window_index: u32| -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/script/mod.rs:13:28 [INFO] [stderr] | [INFO] [stderr] 13 | pub const NOT_FOUND: u32 = 483600; [INFO] [stderr] | ^^^^^^ help: consider: `483_600` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/keybinding.rs:12:22 [INFO] [stderr] | [INFO] [stderr] 12 | const SHIFT_CODES: [&'static str; 1] = ["shift"]; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/keybinding.rs:13:24 [INFO] [stderr] | [INFO] [stderr] 13 | const CONTROL_CODES: [&'static str; 2] = ["control", "ctrl"]; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/keybinding.rs:14:20 [INFO] [stderr] | [INFO] [stderr] 14 | const ALT_CODES: [&'static str; 3] = ["alt", "option", "opt"]; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/keybinding.rs:15:22 [INFO] [stderr] | [INFO] [stderr] 15 | const SUPER_CODES: [&'static str; 3] = ["super", "cmd", "command"]; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/keybinding.rs:16:19 [INFO] [stderr] | [INFO] [stderr] 16 | const FN_CODES: [&'static str; 2] = ["fn", "function"]; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/keybinding.rs:17:20 [INFO] [stderr] | [INFO] [stderr] 17 | const SPACE_CODE: &'static str = "space"; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:18:30 [INFO] [stderr] | [INFO] [stderr] 18 | pub const WEBKITTEN_APP_ID: &'static str = "me.delisa.Webkitten"; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:20:29 [INFO] [stderr] | [INFO] [stderr] 20 | pub const WEBKITTEN_TITLE: &'static str = "Webkitten"; [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: use of deprecated item 'std::env::home_dir': This function's behavior is unexpected and probably not what you want. Consider using the home_dir function from https://crates.io/crates/dirs instead. [INFO] [stderr] --> src/config.rs:216:29 [INFO] [stderr] | [INFO] [stderr] 216 | if let Some(home) = env::home_dir() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/command.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | return ordered_paths.pop(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `ordered_paths.pop()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/config.rs:12:28 [INFO] [stderr] | [INFO] [stderr] 12 | pub const DEFAULT_CONFIG: &'static str = r#" [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/config.rs:25:20 [INFO] [stderr] | [INFO] [stderr] 25 | const CONFIG_DIR: &'static str = "CONFIG_DIR"; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/config.rs:27:14 [INFO] [stderr] | [INFO] [stderr] 27 | const HOME: &'static str = "HOME"; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/ui.rs:384:27 [INFO] [stderr] | [INFO] [stderr] 384 | const URI_DELIMITER: &'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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/ui.rs:385:27 [INFO] [stderr] | [INFO] [stderr] 385 | const HTTP_PROTOCOL: &'static str = "http"; [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: unneeded return statement [INFO] [stderr] --> src/optparse.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | return opts.usage(&brief); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `opts.usage(&brief)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/script/lua.rs:18:24 [INFO] [stderr] | [INFO] [stderr] 18 | const FILE_EXTENSION: &'static str = "lua"; [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: unneeded unit return type [INFO] [stderr] --> src/script/lua.rs:224:58 [INFO] [stderr] | [INFO] [stderr] 224 | lua.set("show_window", function1(|window_index: u32| -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/script/mod.rs:13:28 [INFO] [stderr] | [INFO] [stderr] 13 | pub const NOT_FOUND: u32 = 483600; [INFO] [stderr] | ^^^^^^ help: consider: `483_600` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/keybinding.rs:12:22 [INFO] [stderr] | [INFO] [stderr] 12 | const SHIFT_CODES: [&'static str; 1] = ["shift"]; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/keybinding.rs:13:24 [INFO] [stderr] | [INFO] [stderr] 13 | const CONTROL_CODES: [&'static str; 2] = ["control", "ctrl"]; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/keybinding.rs:14:20 [INFO] [stderr] | [INFO] [stderr] 14 | const ALT_CODES: [&'static str; 3] = ["alt", "option", "opt"]; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/keybinding.rs:15:22 [INFO] [stderr] | [INFO] [stderr] 15 | const SUPER_CODES: [&'static str; 3] = ["super", "cmd", "command"]; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/keybinding.rs:16:19 [INFO] [stderr] | [INFO] [stderr] 16 | const FN_CODES: [&'static str; 2] = ["fn", "function"]; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/keybinding.rs:17:20 [INFO] [stderr] | [INFO] [stderr] 17 | const SPACE_CODE: &'static str = "space"; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:18:30 [INFO] [stderr] | [INFO] [stderr] 18 | pub const WEBKITTEN_APP_ID: &'static str = "me.delisa.Webkitten"; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:20:29 [INFO] [stderr] | [INFO] [stderr] 20 | pub const WEBKITTEN_TITLE: &'static str = "Webkitten"; [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: use of deprecated item 'std::env::home_dir': This function's behavior is unexpected and probably not what you want. Consider using the home_dir function from https://crates.io/crates/dirs instead. [INFO] [stderr] --> src/config.rs:216:29 [INFO] [stderr] | [INFO] [stderr] 216 | if let Some(home) = env::home_dir() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/command.rs:26:47 [INFO] [stderr] | [INFO] [stderr] 26 | arguments: components.map(|arg| String::from(arg)).collect(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `String::from` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/command.rs:26:47 [INFO] [stderr] | [INFO] [stderr] 26 | arguments: components.map(|arg| String::from(arg)).collect(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `String::from` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/command.rs:95:31 [INFO] [stderr] | [INFO] [stderr] 95 | remove_file(Path::new(path.as_str().clone())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 95 | remove_file(Path::new(&(*path.as_str()).clone())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 95 | remove_file(Path::new(&str::clone(path.as_str()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/config.rs:202:28 [INFO] [stderr] | [INFO] [stderr] 202 | self.value.lookup(&key.clone()) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 202 | self.value.lookup(&&(*key).clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 202 | self.value.lookup(&&str::clone(key)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:212:14 [INFO] [stderr] | [INFO] [stderr] 212 | .unwrap_or(String::from(value)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from(value))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/ui.rs:74:21 [INFO] [stderr] | [INFO] [stderr] 74 | fn open_webview<'a, U, B>(&self, window_index: u32, uri: Option, config: Option) [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/config.rs:202:28 [INFO] [stderr] | [INFO] [stderr] 202 | self.value.lookup(&key.clone()) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 202 | self.value.lookup(&&(*key).clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 202 | self.value.lookup(&&str::clone(key)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config.rs:212:14 [INFO] [stderr] | [INFO] [stderr] 212 | .unwrap_or(String::from(value)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from(value))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/ui.rs:208:49 [INFO] [stderr] | [INFO] [stderr] 208 | self.lookup_str("commands.interpreter").or(Some(String::from("lua"))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| Some(String::from("lua")))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/ui.rs:214:14 [INFO] [stderr] | [INFO] [stderr] 214 | .unwrap_or(String::from(name)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from(name))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/ui.rs:74:21 [INFO] [stderr] | [INFO] [stderr] 74 | fn open_webview<'a, U, B>(&self, window_index: u32, uri: Option, config: Option) [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/ui.rs:247:32 [INFO] [stderr] | [INFO] [stderr] 247 | if let Some(_) = table.insert(command.to_owned(), (key, modifier)) { [INFO] [stderr] | _________________________- ^^^^^^^ [INFO] [stderr] 248 | | warn!("Overriding keybinding ({}) for '{}'", binding, command); [INFO] [stderr] 249 | | } [INFO] [stderr] | |_________________________- help: try this: `if table.insert(command.to_owned(), (key, modifier)).is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/ui.rs:208:49 [INFO] [stderr] | [INFO] [stderr] 208 | self.lookup_str("commands.interpreter").or(Some(String::from("lua"))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| Some(String::from("lua")))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/ui.rs:214:14 [INFO] [stderr] | [INFO] [stderr] 214 | .unwrap_or(String::from(name)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from(name))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/ui.rs:306:54 [INFO] [stderr] | [INFO] [stderr] 306 | self.lookup_str_vec("commands.search-paths").unwrap_or(vec![]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| vec![])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/ui.rs:324:19 [INFO] [stderr] | [INFO] [stderr] 324 | let key = match event { [INFO] [stderr] | ___________________^ [INFO] [stderr] 325 | | &BufferEvent::Load => "commands.on-load-uri", [INFO] [stderr] 326 | | &BufferEvent::Request => "commands.on-request-uri", [INFO] [stderr] 327 | | &BufferEvent::Focus => "commands.on-focus-uri", [INFO] [stderr] 328 | | &BufferEvent::Fail(_) => "commands.on-fail-uri", [INFO] [stderr] 329 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 324 | let key = match *event { [INFO] [stderr] 325 | BufferEvent::Load => "commands.on-load-uri", [INFO] [stderr] 326 | BufferEvent::Request => "commands.on-request-uri", [INFO] [stderr] 327 | BufferEvent::Focus => "commands.on-focus-uri", [INFO] [stderr] 328 | BufferEvent::Fail(_) => "commands.on-fail-uri", [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/ui.rs:330:34 [INFO] [stderr] | [INFO] [stderr] 330 | self.lookup_str_vec(key).unwrap_or(vec![]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| vec![])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/ui.rs:247:32 [INFO] [stderr] | [INFO] [stderr] 247 | if let Some(_) = table.insert(command.to_owned(), (key, modifier)) { [INFO] [stderr] | _________________________- ^^^^^^^ [INFO] [stderr] 248 | | warn!("Overriding keybinding ({}) for '{}'", binding, command); [INFO] [stderr] 249 | | } [INFO] [stderr] | |_________________________- help: try this: `if table.insert(command.to_owned(), (key, modifier)).is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/ui.rs:359:14 [INFO] [stderr] | [INFO] [stderr] 359 | .or(self.lookup_bool(&key)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| self.lookup_bool(&key))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/ui.rs:368:14 [INFO] [stderr] | [INFO] [stderr] 368 | .or(self.lookup_str(&key)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| self.lookup_str(&key))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/ui.rs:377:14 [INFO] [stderr] | [INFO] [stderr] 377 | .or(self.lookup_str_vec(&key)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| self.lookup_str_vec(&key))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/ui.rs:306:54 [INFO] [stderr] | [INFO] [stderr] 306 | self.lookup_str_vec("commands.search-paths").unwrap_or(vec![]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| vec![])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/ui.rs:324:19 [INFO] [stderr] | [INFO] [stderr] 324 | let key = match event { [INFO] [stderr] | ___________________^ [INFO] [stderr] 325 | | &BufferEvent::Load => "commands.on-load-uri", [INFO] [stderr] 326 | | &BufferEvent::Request => "commands.on-request-uri", [INFO] [stderr] 327 | | &BufferEvent::Focus => "commands.on-focus-uri", [INFO] [stderr] 328 | | &BufferEvent::Fail(_) => "commands.on-fail-uri", [INFO] [stderr] 329 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 324 | let key = match *event { [INFO] [stderr] 325 | BufferEvent::Load => "commands.on-load-uri", [INFO] [stderr] 326 | BufferEvent::Request => "commands.on-request-uri", [INFO] [stderr] 327 | BufferEvent::Focus => "commands.on-focus-uri", [INFO] [stderr] 328 | BufferEvent::Fail(_) => "commands.on-fail-uri", [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/ui.rs:330:34 [INFO] [stderr] | [INFO] [stderr] 330 | self.lookup_str_vec(key).unwrap_or(vec![]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| vec![])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/ui.rs:359:14 [INFO] [stderr] | [INFO] [stderr] 359 | .or(self.lookup_bool(&key)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| self.lookup_bool(&key))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/ui.rs:368:14 [INFO] [stderr] | [INFO] [stderr] 368 | .or(self.lookup_str(&key)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| self.lookup_str(&key))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/ui.rs:377:14 [INFO] [stderr] | [INFO] [stderr] 377 | .or(self.lookup_str_vec(&key)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| self.lookup_str_vec(&key))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/optparse.rs:27:18 [INFO] [stderr] | [INFO] [stderr] 27 | .unwrap_or(String::from(default_config_path)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from(default_config_path))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/optparse.rs:27:18 [INFO] [stderr] | [INFO] [stderr] 27 | .unwrap_or(String::from(default_config_path)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from(default_config_path))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/optparse.rs:63:8 [INFO] [stderr] | [INFO] [stderr] 63 | if !fs::metadata(config_path).is_ok() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `fs::metadata(config_path).is_err()` [INFO] [stderr] | [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] --> src/optparse.rs:63:8 [INFO] [stderr] | [INFO] [stderr] 63 | if !fs::metadata(config_path).is_ok() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `fs::metadata(config_path).is_err()` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/script/lua.rs:69:31 [INFO] [stderr] | [INFO] [stderr] 69 | .and_then(|output| coerce_lua_array(output)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `coerce_lua_array` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/script/lua.rs:90:48 [INFO] [stderr] | [INFO] [stderr] 90 | let func: Option> = match event { [INFO] [stderr] | ________________________________________________^ [INFO] [stderr] 91 | | &BufferEvent::Load => lua.get("on_load_uri"), [INFO] [stderr] 92 | | &BufferEvent::Focus => lua.get("on_focus"), [INFO] [stderr] 93 | | &BufferEvent::Request => lua.get("on_request_uri"), [INFO] [stderr] ... | [INFO] [stderr] 97 | | }, [INFO] [stderr] 98 | | }; [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 90 | let func: Option> = match *event { [INFO] [stderr] 91 | BufferEvent::Load => lua.get("on_load_uri"), [INFO] [stderr] 92 | BufferEvent::Focus => lua.get("on_focus"), [INFO] [stderr] 93 | BufferEvent::Request => lua.get("on_request_uri"), [INFO] [stderr] 94 | BufferEvent::Fail(ref message) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/script/lua.rs:69:31 [INFO] [stderr] | [INFO] [stderr] 69 | .and_then(|output| coerce_lua_array(output)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `coerce_lua_array` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/script/lua.rs:124:12 [INFO] [stderr] | [INFO] [stderr] 124 | if value.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/script/lua.rs:127:37 [INFO] [stderr] | [INFO] [stderr] 127 | Ok(value.split(",").map(|v| String::from(v)).collect()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `String::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/script/lua.rs:127:28 [INFO] [stderr] | [INFO] [stderr] 127 | Ok(value.split(",").map(|v| String::from(v)).collect()) [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/script/lua.rs:90:48 [INFO] [stderr] | [INFO] [stderr] 90 | let func: Option> = match event { [INFO] [stderr] | ________________________________________________^ [INFO] [stderr] 91 | | &BufferEvent::Load => lua.get("on_load_uri"), [INFO] [stderr] 92 | | &BufferEvent::Focus => lua.get("on_focus"), [INFO] [stderr] 93 | | &BufferEvent::Request => lua.get("on_request_uri"), [INFO] [stderr] ... | [INFO] [stderr] 97 | | }, [INFO] [stderr] 98 | | }; [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 90 | let func: Option> = match *event { [INFO] [stderr] 91 | BufferEvent::Load => lua.get("on_load_uri"), [INFO] [stderr] 92 | BufferEvent::Focus => lua.get("on_focus"), [INFO] [stderr] 93 | BufferEvent::Request => lua.get("on_request_uri"), [INFO] [stderr] 94 | BufferEvent::Fail(ref message) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/script/lua.rs:124:12 [INFO] [stderr] | [INFO] [stderr] 124 | if value.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/script/lua.rs:127:37 [INFO] [stderr] | [INFO] [stderr] 127 | Ok(value.split(",").map(|v| String::from(v)).collect()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `String::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/script/lua.rs:127:28 [INFO] [stderr] | [INFO] [stderr] 127 | Ok(value.split(",").map(|v| String::from(v)).collect()) [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/script/lua.rs:169:48 [INFO] [stderr] | [INFO] [stderr] 169 | return config.lookup_str_vec(&key).unwrap_or(vec![]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| vec![])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/script/lua.rs:176:20 [INFO] [stderr] | [INFO] [stderr] 176 | return config.lookup_str(&key).unwrap_or(String::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `config.lookup_str(&key).unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/script/lua.rs:169:48 [INFO] [stderr] | [INFO] [stderr] 169 | return config.lookup_str_vec(&key).unwrap_or(vec![]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| vec![])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/script/lua.rs:176:20 [INFO] [stderr] | [INFO] [stderr] 176 | return config.lookup_str(&key).unwrap_or(String::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `config.lookup_str(&key).unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/keybinding.rs:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | format!("No key specified in chord"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"No key specified in chord".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/keybinding.rs:51:17 [INFO] [stderr] | [INFO] [stderr] 51 | format!("No modifier specified in chord"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"No modifier specified in chord".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/keybinding.rs:69:34 [INFO] [stderr] | [INFO] [stderr] 69 | for component in chord.split(" ") { [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/keybinding.rs:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | format!("No key specified in chord"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"No key specified in chord".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/keybinding.rs:51:17 [INFO] [stderr] | [INFO] [stderr] 51 | format!("No modifier specified in chord"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"No modifier specified in chord".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/keybinding.rs:69:34 [INFO] [stderr] | [INFO] [stderr] 69 | for component in chord.split(" ") { [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:53:25 [INFO] [stderr] | [INFO] [stderr] 53 | prefix.contains(" ") [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:86:35 [INFO] [stderr] | [INFO] [stderr] 86 | let mut command = String::from(default); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `default` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [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/lib.rs:126:21 [INFO] [stderr] | [INFO] [stderr] 126 | / match S::on_buffer_event::(file, ui, &self.run_config.path, window_index, webview_index, uri, &event) { [INFO] [stderr] 127 | | Err(err) => warn!("{}", err), [INFO] [stderr] 128 | | Ok(_) => (), [INFO] [stderr] 129 | | } [INFO] [stderr] | |_____________________^ help: try this: `if let Err(err) = S::on_buffer_event::(file, ui, &self.run_config.path, window_index, webview_index, uri, &event) { warn!("{}", err) }` [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] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:53:25 [INFO] [stderr] | [INFO] [stderr] 53 | prefix.contains(" ") [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:86:35 [INFO] [stderr] | [INFO] [stderr] 86 | let mut command = String::from(default); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `default` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] error: Could not compile `webkitten`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib.rs:126:21 [INFO] [stderr] | [INFO] [stderr] 126 | / match S::on_buffer_event::(file, ui, &self.run_config.path, window_index, webview_index, uri, &event) { [INFO] [stderr] 127 | | Err(err) => warn!("{}", err), [INFO] [stderr] 128 | | Ok(_) => (), [INFO] [stderr] 129 | | } [INFO] [stderr] | |_____________________^ help: try this: `if let Err(err) = S::on_buffer_event::(file, ui, &self.run_config.path, window_index, webview_index, uri, &event) { warn!("{}", err) }` [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] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `webkitten`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "2ca875148b0d8f70cf86039bf91acac92e38016fc117d1cb576633d87bebce61"` [INFO] running `"docker" "rm" "-f" "2ca875148b0d8f70cf86039bf91acac92e38016fc117d1cb576633d87bebce61"` [INFO] [stdout] 2ca875148b0d8f70cf86039bf91acac92e38016fc117d1cb576633d87bebce61