[INFO] updating cached repository bram209/qLaunch [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/bram209/qLaunch [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/bram209/qLaunch" "work/ex/clippy-test-run/sources/stable/gh/bram209/qLaunch"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/bram209/qLaunch'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/bram209/qLaunch" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/bram209/qLaunch"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/bram209/qLaunch'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 2b64f01fb6c14240850d4dca81e5cb94b8859d49 [INFO] sha for GitHub repo bram209/qLaunch: 2b64f01fb6c14240850d4dca81e5cb94b8859d49 [INFO] validating manifest of bram209/qLaunch 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 bram209/qLaunch 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 bram209/qLaunch [INFO] finished frobbing bram209/qLaunch [INFO] frobbed toml for bram209/qLaunch written to work/ex/clippy-test-run/sources/stable/gh/bram209/qLaunch/Cargo.toml [INFO] started frobbing bram209/qLaunch [INFO] finished frobbing bram209/qLaunch [INFO] frobbed toml for bram209/qLaunch written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/bram209/qLaunch/Cargo.toml [INFO] crate bram209/qLaunch 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 bram209/qLaunch against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/bram209/qLaunch:/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] 3b7cb3875f01225d418a1da27dca974fb3eeac6388272e6480344848e538eada [INFO] running `"docker" "start" "-a" "3b7cb3875f01225d418a1da27dca974fb3eeac6388272e6480344848e538eada"` [INFO] [stderr] Compiling cairo-rs v0.2.0 [INFO] [stderr] Compiling gio v0.2.0 [INFO] [stderr] Compiling gdk-pixbuf v0.2.0 [INFO] [stderr] Compiling gdk v0.6.0 [INFO] [stderr] Compiling gtk v0.2.0 [INFO] [stderr] Compiling glib-sys v0.4.0 [INFO] [stderr] Compiling gio-sys v0.4.0 [INFO] [stderr] Compiling pango-sys v0.4.0 [INFO] [stderr] Compiling cairo-sys-rs v0.4.0 [INFO] [stderr] Compiling gdk-pixbuf-sys v0.4.0 [INFO] [stderr] Compiling gdk-sys v0.4.0 [INFO] [stderr] Compiling gtk-sys v0.4.0 [INFO] [stderr] Checking rust-ini v0.10.0 [INFO] [stderr] Compiling gobject-sys v0.4.0 [INFO] [stderr] Compiling atk-sys v0.4.0 [INFO] [stderr] Checking glib v0.3.1 [INFO] [stderr] Checking pango v0.2.0 [INFO] [stderr] Checking app-launcher v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/applications.rs:80:21 [INFO] [stderr] | [INFO] [stderr] 80 | icon_path: icon_path, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `icon_path` [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/applications.rs:80:21 [INFO] [stderr] | [INFO] [stderr] 80 | icon_path: icon_path, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `icon_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/icons.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | icon_theme: icon_theme, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `icon_theme` [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/icons.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | icon_cache: icon_cache [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `icon_cache` [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/icons.rs:179:13 [INFO] [stderr] | [INFO] [stderr] 179 | directories: directories, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `directories` [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/icons.rs:180:13 [INFO] [stderr] | [INFO] [stderr] 180 | inherits: inherits [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `inherits` [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] | [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/icons.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | icon_theme: icon_theme, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `icon_theme` [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/icons.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | icon_cache: icon_cache [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `icon_cache` [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/icons.rs:179:13 [INFO] [stderr] | [INFO] [stderr] 179 | directories: directories, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `directories` [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/icons.rs:180:13 [INFO] [stderr] | [INFO] [stderr] 180 | inherits: inherits [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `inherits` [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: unused import: `std::str` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::str; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `engine::SearchResult` [INFO] [stderr] --> src/execution.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use engine::SearchResult; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::process::Output` [INFO] [stderr] --> src/execution.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::process::Output; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/applications.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/applications.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Cell` [INFO] [stderr] --> src/gui.rs:2:26 [INFO] [stderr] | [INFO] [stderr] 2 | use std::cell::{RefCell, Cell}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::env` [INFO] [stderr] --> src/gui.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::env; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AtomicBool`, `AtomicIsize`, `Ordering` [INFO] [stderr] --> src/gui.rs:4:25 [INFO] [stderr] | [INFO] [stderr] 4 | use std::sync::atomic::{AtomicBool, Ordering, AtomicIsize}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `glib` [INFO] [stderr] --> src/gui.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use glib; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `gdk_sys::GDK_KEY_PRESS` [INFO] [stderr] --> src/gui.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use gdk_sys::GDK_KEY_PRESS; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Button`, `ButtonsType`, `Container`, `DIALOG_MODAL`, `MessageDialog`, `MessageType` [INFO] [stderr] --> src/gui.rs:12:11 [INFO] [stderr] | [INFO] [stderr] 12 | use gtk::{MessageDialog, ButtonsType, CellRendererPixbuf, CssProvider, CssProviderExt, StyleContext, ListStore, [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] 13 | ScrolledWindow, Orientation, Button, Window, WindowType, SearchEntry, WindowPosition, TreeView, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 14 | TreeViewColumn, TreePath, CellRendererText, Container, DIALOG_MODAL, MessageType}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `gtk_sys` [INFO] [stderr] --> src/gui.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use gtk_sys; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/gui.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `execution` [INFO] [stderr] --> src/icons.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use execution; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::env` [INFO] [stderr] --> src/icons.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::env; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> src/icons.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/icons.rs:86:17 [INFO] [stderr] | [INFO] [stderr] 86 | / if !path.is_dir() { [INFO] [stderr] 87 | | if path.file_stem().unwrap() == icon_name { [INFO] [stderr] 88 | | return Some(path.to_str().unwrap().to_owned()); [INFO] [stderr] 89 | | } [INFO] [stderr] 90 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 86 | if !path.is_dir() && path.file_stem().unwrap() == icon_name { [INFO] [stderr] 87 | return Some(path.to_str().unwrap().to_owned()); [INFO] [stderr] 88 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::str; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `engine::SearchResult` [INFO] [stderr] --> src/execution.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use engine::SearchResult; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::process::Output` [INFO] [stderr] --> src/execution.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::process::Output; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/applications.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/applications.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Cell` [INFO] [stderr] --> src/gui.rs:2:26 [INFO] [stderr] | [INFO] [stderr] 2 | use std::cell::{RefCell, Cell}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::env` [INFO] [stderr] --> src/gui.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::env; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AtomicBool`, `AtomicIsize`, `Ordering` [INFO] [stderr] --> src/gui.rs:4:25 [INFO] [stderr] | [INFO] [stderr] 4 | use std::sync::atomic::{AtomicBool, Ordering, AtomicIsize}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `glib` [INFO] [stderr] --> src/gui.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use glib; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `gdk_sys::GDK_KEY_PRESS` [INFO] [stderr] --> src/gui.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use gdk_sys::GDK_KEY_PRESS; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Button`, `ButtonsType`, `Container`, `DIALOG_MODAL`, `MessageDialog`, `MessageType` [INFO] [stderr] --> src/gui.rs:12:11 [INFO] [stderr] | [INFO] [stderr] 12 | use gtk::{MessageDialog, ButtonsType, CellRendererPixbuf, CssProvider, CssProviderExt, StyleContext, ListStore, [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] 13 | ScrolledWindow, Orientation, Button, Window, WindowType, SearchEntry, WindowPosition, TreeView, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 14 | TreeViewColumn, TreePath, CellRendererText, Container, DIALOG_MODAL, MessageType}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `gtk_sys` [INFO] [stderr] --> src/gui.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use gtk_sys; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/gui.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `execution` [INFO] [stderr] --> src/icons.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use execution; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::env` [INFO] [stderr] --> src/icons.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::env; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> src/icons.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/icons.rs:86:17 [INFO] [stderr] | [INFO] [stderr] 86 | / if !path.is_dir() { [INFO] [stderr] 87 | | if path.file_stem().unwrap() == icon_name { [INFO] [stderr] 88 | | return Some(path.to_str().unwrap().to_owned()); [INFO] [stderr] 89 | | } [INFO] [stderr] 90 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 86 | if !path.is_dir() && path.file_stem().unwrap() == icon_name { [INFO] [stderr] 87 | return Some(path.to_str().unwrap().to_owned()); [INFO] [stderr] 88 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::slice_unchecked': use `get_unchecked(begin..end)` instead [INFO] [stderr] --> src/utils.rs:22:27 [INFO] [stderr] | [INFO] [stderr] 22 | Some(name.slice_unchecked(1, name.len() - 1).to_owned()) //'Faba-Mono' -> Faba-Mono [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `treeview` [INFO] [stderr] --> src/gui.rs:117:42 [INFO] [stderr] | [INFO] [stderr] 117 | treeview.connect_row_activated(move |treeview, path, column| { [INFO] [stderr] | ^^^^^^^^ help: consider using `_treeview` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `path` [INFO] [stderr] --> src/gui.rs:117:52 [INFO] [stderr] | [INFO] [stderr] 117 | treeview.connect_row_activated(move |treeview, path, column| { [INFO] [stderr] | ^^^^ help: consider using `_path` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column` [INFO] [stderr] --> src/gui.rs:117:58 [INFO] [stderr] | [INFO] [stderr] 117 | treeview.connect_row_activated(move |treeview, path, column| { [INFO] [stderr] | ^^^^^^ help: consider using `_column` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `keystate` [INFO] [stderr] --> src/gui.rs:137:13 [INFO] [stderr] | [INFO] [stderr] 137 | let keystate = key.get_state(); [INFO] [stderr] | ^^^^^^^^ help: consider using `_keystate` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/gui.rs:135:44 [INFO] [stderr] | [INFO] [stderr] 135 | window.connect_key_release_event(move |s, key| { [INFO] [stderr] | ^ help: consider using `_s` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/icons.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | Err(err) => HashMap::new() [INFO] [stderr] | ^^^ help: consider using `_err` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/icons.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | let result = ini.write_to_file(&icon_cache_path()); [INFO] [stderr] | ^^^^^^ help: consider using `_result` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/icons.rs:147:17 [INFO] [stderr] | [INFO] [stderr] 147 | Err(err) => return None [INFO] [stderr] | ^^^ help: consider using `_err` instead [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Output` [INFO] [stderr] --> src/execution.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | Output(String) [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `name` [INFO] [stderr] --> src/icons.rs:137:5 [INFO] [stderr] | [INFO] [stderr] 137 | name: String, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `comment` [INFO] [stderr] --> src/icons.rs:138:5 [INFO] [stderr] | [INFO] [stderr] 138 | comment: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `context` [INFO] [stderr] --> src/icons.rs:187:5 [INFO] [stderr] | [INFO] [stderr] 187 | context: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/applications.rs:41:21 [INFO] [stderr] | [INFO] [stderr] 41 | for path in vec!["/usr/share/applications/", &local_apps] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&["/usr/share/applications/", &local_apps]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::slice_unchecked': use `get_unchecked(begin..end)` instead [INFO] [stderr] --> src/utils.rs:22:27 [INFO] [stderr] | [INFO] [stderr] 22 | Some(name.slice_unchecked(1, name.len() - 1).to_owned()) //'Faba-Mono' -> Faba-Mono [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/gui.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | gtk::CssProviderExt::load_from_data(&css_provider, "entry.search { border-radius: 0px; font-size: 22px; }".as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/gui.rs:55:56 [INFO] [stderr] | [INFO] [stderr] 55 | gtk::CssProviderExt::load_from_data(&css_provider, "entry.search { border-radius: 0px; font-size: 22px; }".as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"entry.search { border-radius: 0px; font-size: 22px; }"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: unused variable: `treeview` [INFO] [stderr] --> src/gui.rs:117:42 [INFO] [stderr] | [INFO] [stderr] 117 | treeview.connect_row_activated(move |treeview, path, column| { [INFO] [stderr] | ^^^^^^^^ help: consider using `_treeview` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `path` [INFO] [stderr] --> src/gui.rs:117:52 [INFO] [stderr] | [INFO] [stderr] 117 | treeview.connect_row_activated(move |treeview, path, column| { [INFO] [stderr] | ^^^^ help: consider using `_path` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column` [INFO] [stderr] --> src/gui.rs:117:58 [INFO] [stderr] | [INFO] [stderr] 117 | treeview.connect_row_activated(move |treeview, path, column| { [INFO] [stderr] | ^^^^^^ help: consider using `_column` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `keystate` [INFO] [stderr] --> src/gui.rs:137:13 [INFO] [stderr] | [INFO] [stderr] 137 | let keystate = key.get_state(); [INFO] [stderr] | ^^^^^^^^ help: consider using `_keystate` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/gui.rs:135:44 [INFO] [stderr] | [INFO] [stderr] 135 | window.connect_key_release_event(move |s, key| { [INFO] [stderr] | ^ help: consider using `_s` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/icons.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | Err(err) => HashMap::new() [INFO] [stderr] | ^^^ help: consider using `_err` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/icons.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | let result = ini.write_to_file(&icon_cache_path()); [INFO] [stderr] | ^^^^^^ help: consider using `_result` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/icons.rs:147:17 [INFO] [stderr] | [INFO] [stderr] 147 | Err(err) => return None [INFO] [stderr] | ^^^ help: consider using `_err` instead [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/gui.rs:138:9 [INFO] [stderr] | [INFO] [stderr] 138 | / match keyval { [INFO] [stderr] 139 | | key::Escape => gtk::main_quit(), [INFO] [stderr] 140 | | _ => {} [INFO] [stderr] 141 | | } [INFO] [stderr] | |_________^ help: try this: `if let key::Escape = keyval { gtk::main_quit() }` [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] warning: length comparison to zero [INFO] [stderr] --> src/gui.rs:154:12 [INFO] [stderr] | [INFO] [stderr] 154 | if text.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `text.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: length comparison to zero [INFO] [stderr] --> src/gui.rs:165:12 [INFO] [stderr] | [INFO] [stderr] 165 | if results.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!results.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you should use the `starts_with` method [INFO] [stderr] --> src/icons.rs:53:12 [INFO] [stderr] | [INFO] [stderr] 53 | if icon_name.chars().next().unwrap() == '/' { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: like this: `icon_name.starts_with('/')` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::chars_next_cmp)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#chars_next_cmp [INFO] [stderr] [INFO] [stderr] warning: `ref` directly on a function argument is ignored. Consider using a reference type instead. [INFO] [stderr] --> src/icons.rs:97:67 [INFO] [stderr] | [INFO] [stderr] 97 | fn lookup_recursive(&self, theme_name: &str, icon_name: &str, ref mut checked: &mut HashSet) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [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/icons.rs:104:9 [INFO] [stderr] | [INFO] [stderr] 104 | / match icon_theme { [INFO] [stderr] 105 | | Some(icon_theme) => { [INFO] [stderr] 106 | | let mut icon_theme: IconTheme = icon_theme; [INFO] [stderr] 107 | | icon_theme.directories [INFO] [stderr] ... | [INFO] [stderr] 123 | | None => {}//println! ("Lookup failed for: {}", theme_name); } [INFO] [stderr] 124 | | } [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] 104 | if let Some(icon_theme) = icon_theme { [INFO] [stderr] 105 | let mut icon_theme: IconTheme = icon_theme; [INFO] [stderr] 106 | icon_theme.directories [INFO] [stderr] 107 | .sort_by(|a, b| b.icon_size.cmp(&a.icon_size)); //bigger is better? [INFO] [stderr] 108 | [INFO] [stderr] 109 | for theme_dir in icon_theme.directories { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/utils.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | fs::create_dir(settings_folder); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Output` [INFO] [stderr] --> src/execution.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | Output(String) [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `name` [INFO] [stderr] --> src/icons.rs:137:5 [INFO] [stderr] | [INFO] [stderr] 137 | name: String, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `comment` [INFO] [stderr] --> src/icons.rs:138:5 [INFO] [stderr] | [INFO] [stderr] 138 | comment: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `context` [INFO] [stderr] --> src/icons.rs:187:5 [INFO] [stderr] | [INFO] [stderr] 187 | context: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/applications.rs:41:21 [INFO] [stderr] | [INFO] [stderr] 41 | for path in vec!["/usr/share/applications/", &local_apps] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&["/usr/share/applications/", &local_apps]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/gui.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | gtk::CssProviderExt::load_from_data(&css_provider, "entry.search { border-radius: 0px; font-size: 22px; }".as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/gui.rs:55:56 [INFO] [stderr] | [INFO] [stderr] 55 | gtk::CssProviderExt::load_from_data(&css_provider, "entry.search { border-radius: 0px; font-size: 22px; }".as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"entry.search { border-radius: 0px; font-size: 22px; }"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [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/gui.rs:138:9 [INFO] [stderr] | [INFO] [stderr] 138 | / match keyval { [INFO] [stderr] 139 | | key::Escape => gtk::main_quit(), [INFO] [stderr] 140 | | _ => {} [INFO] [stderr] 141 | | } [INFO] [stderr] | |_________^ help: try this: `if let key::Escape = keyval { gtk::main_quit() }` [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] warning: length comparison to zero [INFO] [stderr] --> src/gui.rs:154:12 [INFO] [stderr] | [INFO] [stderr] 154 | if text.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `text.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: length comparison to zero [INFO] [stderr] --> src/gui.rs:165:12 [INFO] [stderr] | [INFO] [stderr] 165 | if results.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!results.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you should use the `starts_with` method [INFO] [stderr] --> src/icons.rs:53:12 [INFO] [stderr] | [INFO] [stderr] 53 | if icon_name.chars().next().unwrap() == '/' { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: like this: `icon_name.starts_with('/')` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::chars_next_cmp)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#chars_next_cmp [INFO] [stderr] [INFO] [stderr] warning: `ref` directly on a function argument is ignored. Consider using a reference type instead. [INFO] [stderr] --> src/icons.rs:97:67 [INFO] [stderr] | [INFO] [stderr] 97 | fn lookup_recursive(&self, theme_name: &str, icon_name: &str, ref mut checked: &mut HashSet) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [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/icons.rs:104:9 [INFO] [stderr] | [INFO] [stderr] 104 | / match icon_theme { [INFO] [stderr] 105 | | Some(icon_theme) => { [INFO] [stderr] 106 | | let mut icon_theme: IconTheme = icon_theme; [INFO] [stderr] 107 | | icon_theme.directories [INFO] [stderr] ... | [INFO] [stderr] 123 | | None => {}//println! ("Lookup failed for: {}", theme_name); } [INFO] [stderr] 124 | | } [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] 104 | if let Some(icon_theme) = icon_theme { [INFO] [stderr] 105 | let mut icon_theme: IconTheme = icon_theme; [INFO] [stderr] 106 | icon_theme.directories [INFO] [stderr] 107 | .sort_by(|a, b| b.icon_size.cmp(&a.icon_size)); //bigger is better? [INFO] [stderr] 108 | [INFO] [stderr] 109 | for theme_dir in icon_theme.directories { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/utils.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | fs::create_dir(settings_folder); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 06s [INFO] running `"docker" "inspect" "3b7cb3875f01225d418a1da27dca974fb3eeac6388272e6480344848e538eada"` [INFO] running `"docker" "rm" "-f" "3b7cb3875f01225d418a1da27dca974fb3eeac6388272e6480344848e538eada"` [INFO] [stdout] 3b7cb3875f01225d418a1da27dca974fb3eeac6388272e6480344848e538eada