[INFO] cloning repository https://github.com/visnkmr/perlink_local
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/visnkmr/perlink_local" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvisnkmr%2Fperlink_local", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvisnkmr%2Fperlink_local'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5fa32032473382d8ee793821d2903741cda1d7a6
[INFO] building visnkmr/perlink_local against master#c7f6aa2869acdbf014d094c6e427e554e160b6db for pr-146237-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvisnkmr%2Fperlink_local" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/visnkmr/perlink_local
[INFO] finished tweaking git repo https://github.com/visnkmr/perlink_local
[INFO] tweaked toml for git repo https://github.com/visnkmr/perlink_local written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/visnkmr/perlink_local on toolchain c7f6aa2869acdbf014d094c6e427e554e160b6db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/visnkmr/perlink_local already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/visnkmr/save-crash-logs-rs`
[INFO] [stderr]     Updating git repository `https://github.com/visnkmr/prefstore/`
[INFO] [stderr]     Updating git repository `https://github.com/HiruNya/window_titles`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded dirs v5.0.0
[INFO] [stderr]   Downloaded tracing-attributes v0.1.22
[INFO] [stderr]   Downloaded linkify v0.9.0
[INFO] [stderr]   Downloaded sluice v0.5.5
[INFO] [stderr]   Downloaded anstyle-wincon v0.2.0
[INFO] [stderr]   Downloaded anstyle-parse v0.1.1
[INFO] [stderr]   Downloaded concolor-override v1.0.0
[INFO] [stderr]   Downloaded ttf-parser v0.19.1
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.5
[INFO] [stderr]   Downloaded cxx-build v1.0.94
[INFO] [stderr]   Downloaded chrono v0.4.24
[INFO] [stderr]   Downloaded os_info v3.7.0
[INFO] [stderr]   Downloaded serde_spanned v0.6.1
[INFO] [stderr]   Downloaded toml_edit v0.19.8
[INFO] [stderr]   Downloaded curl v0.4.44
[INFO] [stderr]   Downloaded iana-time-zone v0.1.56
[INFO] [stderr]   Downloaded bytes v1.2.0
[INFO] [stderr]   Downloaded pin-project-internal v1.0.11
[INFO] [stderr]   Downloaded pin-project v1.0.11
[INFO] [stderr]   Downloaded libc v0.2.141
[INFO] [stderr]   Downloaded anstream v0.2.6
[INFO] [stderr]   Downloaded cxxbridge-flags v1.0.94
[INFO] [stderr]   Downloaded cxxbridge-macro v1.0.94
[INFO] [stderr]   Downloaded toml_datetime v0.6.1
[INFO] [stderr]   Downloaded concolor-query v0.3.3
[INFO] [stderr]   Downloaded isahc v1.7.2
[INFO] [stderr]   Downloaded anstyle v0.3.5
[INFO] [stderr]   Downloaded syn v2.0.26
[INFO] [stderr]   Downloaded curl-sys v0.4.56+curl-7.83.1
[INFO] [stderr]   Downloaded toml v0.7.3
[INFO] [stderr]   Downloaded uuid v1.3.1
[INFO] [stderr]   Downloaded linux-raw-sys v0.3.1
[INFO] [stderr]   Downloaded castaway v0.1.2
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.10
[INFO] [stderr]   Downloaded xcb v0.9.0
[INFO] [stderr]   Downloaded rustix v0.37.11
[INFO] [stderr]   Downloaded dirs-sys v0.4.0
[INFO] [stderr]   Downloaded serde_derive v1.0.171
[INFO] [stderr]   Downloaded cxx v1.0.94
[INFO] [stderr]   Downloaded fltk-sys v1.4.7
[INFO] [stderr]   Downloaded winnow v0.4.1
[INFO] [stderr]   Downloaded fltk v1.4.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7bab3eed386568ced293606fb353c3313b9b8e0706aa734892a9908890f296d8
[INFO] running `Command { std: "docker" "start" "-a" "7bab3eed386568ced293606fb353c3313b9b8e0706aa734892a9908890f296d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7bab3eed386568ced293606fb353c3313b9b8e0706aa734892a9908890f296d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7bab3eed386568ced293606fb353c3313b9b8e0706aa734892a9908890f296d8", kill_on_drop: false }`
[INFO] [stdout] 7bab3eed386568ced293606fb353c3313b9b8e0706aa734892a9908890f296d8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a4da34f2f278c7e54cabbbccdbdaee20007f1a0bcfbb664610cb13898486cd50
[INFO] running `Command { std: "docker" "start" "-a" "a4da34f2f278c7e54cabbbccdbdaee20007f1a0bcfbb664610cb13898486cd50", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.141
[INFO] [stderr]    Compiling proc-macro2 v1.0.64
[INFO] [stderr]    Compiling unicode-ident v1.0.2
[INFO] [stderr]    Compiling quote v1.0.29
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling syn v1.0.98
[INFO] [stderr]    Compiling serde v1.0.171
[INFO] [stderr]    Compiling once_cell v1.13.0
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling rustix v0.37.11
[INFO] [stderr]    Compiling tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.10
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.3
[INFO] [stderr]    Compiling linux-raw-sys v0.3.1
[INFO] [stderr]    Compiling matches v0.1.9
[INFO] [stderr]    Compiling concurrent-queue v1.2.4
[INFO] [stderr]    Compiling tracing-core v0.1.28
[INFO] [stderr]    Compiling slab v0.4.7
[INFO] [stderr]    Compiling gimli v0.27.2
[INFO] [stderr]    Compiling winnow v0.4.1
[INFO] [stderr]    Compiling curl v0.4.44
[INFO] [stderr]    Compiling unicode-bidi v0.3.8
[INFO] [stderr]    Compiling smallvec v1.9.0
[INFO] [stderr]    Compiling encoding_rs v0.8.31
[INFO] [stderr]    Compiling anstyle-parse v0.1.1
[INFO] [stderr]    Compiling form_urlencoded v1.0.1
[INFO] [stderr]    Compiling async-channel v1.6.1
[INFO] [stderr]    Compiling miniz_oxide v0.6.2
[INFO] [stderr]    Compiling object v0.30.3
[INFO] [stderr]    Compiling concolor-override v1.0.0
[INFO] [stderr]    Compiling bytes v1.2.0
[INFO] [stderr]    Compiling isahc v1.7.2
[INFO] [stderr]    Compiling cmake v0.1.48
[INFO] [stderr]    Compiling fastrand v1.8.0
[INFO] [stderr]    Compiling rustc-demangle v0.1.22
[INFO] [stderr]    Compiling concolor-query v0.3.3
[INFO] [stderr]    Compiling anstyle v0.3.5
[INFO] [stderr]    Compiling itoa v1.0.2
[INFO] [stderr]    Compiling iana-time-zone v0.1.56
[INFO] [stderr]    Compiling futures-lite v1.12.0
[INFO] [stderr]    Compiling syn v2.0.26
[INFO] [stderr]    Compiling xcb v0.9.0
[INFO] [stderr]    Compiling http v0.2.8
[INFO] [stderr]    Compiling sluice v0.5.5
[INFO] [stderr]    Compiling unicode-normalization v0.1.21
[INFO] [stderr]    Compiling openssl-sys v0.9.75
[INFO] [stderr]    Compiling libz-sys v1.1.8
[INFO] [stderr]    Compiling curl-sys v0.4.56+curl-7.83.1
[INFO] [stderr]    Compiling backtrace v0.3.67
[INFO] [stderr]    Compiling fltk-sys v1.4.7
[INFO] [stderr]    Compiling crossbeam-channel v0.5.5
[INFO] [stderr]    Compiling paste v1.0.7
[INFO] [stderr]    Compiling bitflags v2.3.3
[INFO] [stderr]    Compiling castaway v0.1.2
[INFO] [stderr]    Compiling io-lifetimes v1.0.10
[INFO] [stderr]    Compiling nix v0.24.2
[INFO] [stderr]    Compiling gethostname v0.2.3
[INFO] [stderr]    Compiling socket2 v0.4.4
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling addr2line v0.19.0
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]    Compiling dirs-sys v0.4.0
[INFO] [stderr]    Compiling getrandom v0.2.7
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling chrono v0.4.24
[INFO] [stderr]    Compiling polling v2.2.0
[INFO] [stderr]    Compiling dirs v5.0.0
[INFO] [stderr]    Compiling uuid v1.3.1
[INFO] [stderr]    Compiling ttf-parser v0.19.1
[INFO] [stderr]    Compiling mime v0.3.16
[INFO] [stderr]    Compiling prefstore v0.8.0 (https://github.com/visnkmr/prefstore/#ce001108)
[INFO] [stderr]    Compiling linkify v0.9.0
[INFO] [stderr]    Compiling serde_derive v1.0.171
[INFO] [stderr]    Compiling url v2.2.2
[INFO] [stderr]    Compiling is-terminal v0.4.7
[INFO] [stderr]    Compiling anstream v0.2.6
[INFO] [stderr]    Compiling x11rb-protocol v0.10.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.22
[INFO] [stderr]    Compiling pin-project-internal v1.0.11
[INFO] [stderr]    Compiling thiserror-impl v1.0.32
[INFO] [stderr]    Compiling thiserror v1.0.32
[INFO] [stderr]    Compiling pin-project v1.0.11
[INFO] [stderr]    Compiling tracing v0.1.35
[INFO] [stderr]    Compiling tracing-futures v0.2.5
[INFO] [stderr]    Compiling serde_spanned v0.6.1
[INFO] [stderr]    Compiling toml_datetime v0.6.1
[INFO] [stderr]    Compiling os_info v3.7.0
[INFO] [stderr]    Compiling toml_edit v0.19.8
[INFO] [stderr]    Compiling window_titles v0.1.0 (https://github.com/HiruNya/window_titles#924feffa)
[INFO] [stderr]    Compiling toml v0.7.3
[INFO] [stderr]    Compiling human-panic v1.1.3 (https://github.com/visnkmr/save-crash-logs-rs#ba4fbc0b)
[INFO] [stderr]    Compiling x11rb v0.10.1
[INFO] [stderr]    Compiling arboard v3.2.0
[INFO] [stderr]    Compiling fltk v1.4.7
[INFO] [stderr]    Compiling perlink v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `*`, `CallbackTrigger`, `CheckButton`, `DisplayExt`, `Event`, `TextBuffer`, `TextDisplay`, `app::MouseButton`, and `input::Input`
[INFO] [stdout]   --> src/main.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 |     enums::{Color, FrameType, Event, CallbackTrigger},
[INFO] [stdout]    |                               ^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     app::MouseButton,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     app::{App,*},
[INFO] [stdout]    |               ^
[INFO] [stdout] 15 |     prelude::{DisplayExt, GroupExt, WidgetBase, WidgetExt},
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 16 |     text::{TextBuffer, TextDisplay},
[INFO] [stdout]    |            ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 17 |     window::Window,
[INFO] [stdout] 18 |     button::{Button,CheckButton},
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout] 19 |    input::Input,
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stdio`
[INFO] [stdout]   --> src/main.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::process::{Command,Stdio};
[INFO] [stdout]    |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/main.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::create_dir_all`
[INFO] [stdout]   --> src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use std::fs::create_dir_all;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:688:19
[INFO] [stdout]     |
[INFO] [stdout] 688 |                 if(prefstore::getall(appname).is_empty()){
[INFO] [stdout]     |                   ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 688 -                 if(prefstore::getall(appname).is_empty()){
[INFO] [stdout] 688 +                 if prefstore::getall(appname).is_empty() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:741:23
[INFO] [stdout]     |
[INFO] [stdout] 741 |                     if(i%3 ==0){
[INFO] [stdout]     |                       ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 741 -                     if(i%3 ==0){
[INFO] [stdout] 741 +                     if i%3 ==0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/main.rs:861:29
[INFO] [stdout]     |
[INFO] [stdout] 861 |                     None => ({
[INFO] [stdout]     |                             ^
[INFO] [stdout] 862 |                         // println!("stop");
[INFO] [stdout] 863 |                     })
[INFO] [stdout]     |                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 861 ~                     None => {
[INFO] [stdout] 862 |                         // println!("stop");
[INFO] [stdout] 863 ~                     }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:776:31
[INFO] [stdout]     |
[INFO] [stdout] 776 | ...                   if(val.contains("//")){
[INFO] [stdout]     |                         ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 776 -                             if(val.contains("//")){
[INFO] [stdout] 776 +                             if val.contains("//") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:794:43
[INFO] [stdout]     |
[INFO] [stdout] 794 | ...                   if(sk.to_lowercase().contains("invalid")){
[INFO] [stdout]     |                         ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 794 -                                         if(sk.to_lowercase().contains("invalid")){
[INFO] [stdout] 794 +                                         if sk.to_lowercase().contains("invalid") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:814:36
[INFO] [stdout]     |
[INFO] [stdout] 814 | ...                   else if(val == "all"){
[INFO] [stdout]     |                              ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 814 -                             else if(val == "all"){
[INFO] [stdout] 814 +                             else if val == "all" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:819:35
[INFO] [stdout]     |
[INFO] [stdout] 819 | ...                   if(prefstore::getall(appname).is_empty()){
[INFO] [stdout]     |                         ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 819 -                                 if(prefstore::getall(appname).is_empty()){
[INFO] [stdout] 819 +                                 if prefstore::getall(appname).is_empty() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/main.rs:822:36
[INFO] [stdout]     |
[INFO] [stdout] 822 | ...                   let(hmap)=prefstore::getall(appname);
[INFO] [stdout]     |                          ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 822 -                                 let(hmap)=prefstore::getall(appname);
[INFO] [stdout] 822 +                                 let hmap=prefstore::getall(appname);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:828:36
[INFO] [stdout]     |
[INFO] [stdout] 828 | ...                   else if(val == "svc"){
[INFO] [stdout]     |                              ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 828 -                             else if(val == "svc"){
[INFO] [stdout] 828 +                             else if val == "svc" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:839:37
[INFO] [stdout]     |
[INFO] [stdout] 839 | ...                   }else if(val == "svw"){
[INFO] [stdout]     |                               ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 839 -                             }else if(val == "svw"){
[INFO] [stdout] 839 +                             }else if val == "svw" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead
[INFO] [stdout]    --> src/main.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | /     human_panic::setup_panic!(human_panic::Metadata {
[INFO] [stdout] 119 | |         version: env!("CARGO_PKG_VERSION").into(),
[INFO] [stdout] 120 | |         name: env!("CARGO_PKG_NAME").into(),
[INFO] [stdout] 121 | |         authors: env!("CARGO_PKG_AUTHORS").replace(":", ", ").into(),
[INFO] [stdout] 122 | |         homepage: env!("CARGO_PKG_HOMEPAGE").into(),
[INFO] [stdout] 123 | |         path_to_save_log_to: prefstore::prefstore_directory(&appname.to_string()).unwrap(),
[INFO] [stdout] 124 | |     });
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `human_panic::setup_panic` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead
[INFO] [stdout]    --> src/main.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | /     human_panic::setup_panic!(human_panic::Metadata {
[INFO] [stdout] 119 | |         version: env!("CARGO_PKG_VERSION").into(),
[INFO] [stdout] 120 | |         name: env!("CARGO_PKG_NAME").into(),
[INFO] [stdout] 121 | |         authors: env!("CARGO_PKG_AUTHORS").replace(":", ", ").into(),
[INFO] [stdout] 122 | |         homepage: env!("CARGO_PKG_HOMEPAGE").into(),
[INFO] [stdout] 123 | |         path_to_save_log_to: prefstore::prefstore_directory(&appname.to_string()).unwrap(),
[INFO] [stdout] 124 | |     });
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `human_panic::setup_panic` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let mut browsers;
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |             val => {
[INFO] [stdout]     |             --- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 155 |             _ =>{
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:345:21
[INFO] [stdout]     |
[INFO] [stdout] 339 |                     val => {
[INFO] [stdout]     |                     --- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 345 |                     _ =>{
[INFO] [stdout]     |                     ^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expandedurl` is never read
[INFO] [stdout]    --> src/main.rs:242:13
[INFO] [stdout]     |
[INFO] [stdout] 242 |     let mut expandedurl = "".to_string();
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ourl` is never read
[INFO] [stdout]    --> src/main.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |     let mut ourl = "".to_string();
[INFO] [stdout]     |             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `strtoshow`
[INFO] [stdout]    --> src/main.rs:247:13
[INFO] [stdout]     |
[INFO] [stdout] 247 |     let mut strtoshow="";
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strtoshow`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/main.rs:435:25
[INFO] [stdout]     |
[INFO] [stdout] 435 |                     Err(e) => {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expandedurl`
[INFO] [stdout]    --> src/main.rs:693:25
[INFO] [stdout]     |
[INFO] [stdout] 693 |                     let expandedurl=expandedurl.clone();
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expandedurl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/main.rs:808:41
[INFO] [stdout]     |
[INFO] [stdout] 808 | ...                   Err(e) => {
[INFO] [stdout]     |                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 808 |                                     Err(_e) => {
[INFO] [stdout]     |                                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `_`
[INFO] [stdout]     |
[INFO] [stdout] 808 -                                     Err(e) => {
[INFO] [stdout] 808 +                                     Err(_) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/main.rs:256:30
[INFO] [stdout]     |
[INFO] [stdout] 256 |             win.handle(move |f, ev|{
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |     let mut WIDGET_PADDING: i32 = 20;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |     let mut WIDGET_WIDTH: i32 = 420;
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |     let mut WIDGET_HEIGHT: i32 = 400;  
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |     let mut strtoshow="";
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:253:17
[INFO] [stdout]     |
[INFO] [stdout] 253 |             let mut app = App::default();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MyConfig` is never constructed
[INFO] [stdout]   --> src/main.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | struct MyConfig {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DAEMONIZE_ARG` is never used
[INFO] [stdout]    --> src/main.rs:873:7
[INFO] [stdout]     |
[INFO] [stdout] 873 | const DAEMONIZE_ARG: &str = "__internal_daemonize";
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `appname` should have an upper case name
[INFO] [stdout]   --> src/main.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const appname: &str = "perlink";
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 34 - const appname: &str = "perlink";
[INFO] [stdout] 34 + const APPNAME: &str = "perlink";
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `WIDGET_PADDING` should have a snake case name
[INFO] [stdout]    --> src/main.rs:238:13
[INFO] [stdout]     |
[INFO] [stdout] 238 |     let mut WIDGET_PADDING: i32 = 20;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `widget_padding`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `WIDGET_WIDTH` should have a snake case name
[INFO] [stdout]    --> src/main.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 |     let mut WIDGET_WIDTH: i32 = 420;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `widget_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `WIDGET_HEIGHT` should have a snake case name
[INFO] [stdout]    --> src/main.rs:240:13
[INFO] [stdout]     |
[INFO] [stdout] 240 |     let mut WIDGET_HEIGHT: i32 = 400;  
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `widget_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 30s
[INFO] running `Command { std: "docker" "inspect" "a4da34f2f278c7e54cabbbccdbdaee20007f1a0bcfbb664610cb13898486cd50", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4da34f2f278c7e54cabbbccdbdaee20007f1a0bcfbb664610cb13898486cd50", kill_on_drop: false }`
[INFO] [stdout] a4da34f2f278c7e54cabbbccdbdaee20007f1a0bcfbb664610cb13898486cd50
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bfb1837a889471af63e01bd4c08dfaef7a092b239f73c61afc60feeca1a8746e
[INFO] running `Command { std: "docker" "start" "-a" "bfb1837a889471af63e01bd4c08dfaef7a092b239f73c61afc60feeca1a8746e", kill_on_drop: false }`
[INFO] [stderr]    Compiling perlink v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `*`, `CallbackTrigger`, `CheckButton`, `DisplayExt`, `Event`, `TextBuffer`, `TextDisplay`, `app::MouseButton`, and `input::Input`
[INFO] [stdout]   --> src/main.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 |     enums::{Color, FrameType, Event, CallbackTrigger},
[INFO] [stdout]    |                               ^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     app::MouseButton,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     app::{App,*},
[INFO] [stdout]    |               ^
[INFO] [stdout] 15 |     prelude::{DisplayExt, GroupExt, WidgetBase, WidgetExt},
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 16 |     text::{TextBuffer, TextDisplay},
[INFO] [stdout]    |            ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 17 |     window::Window,
[INFO] [stdout] 18 |     button::{Button,CheckButton},
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout] 19 |    input::Input,
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stdio`
[INFO] [stdout]   --> src/main.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::process::{Command,Stdio};
[INFO] [stdout]    |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/main.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::create_dir_all`
[INFO] [stdout]   --> src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use std::fs::create_dir_all;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:688:19
[INFO] [stdout]     |
[INFO] [stdout] 688 |                 if(prefstore::getall(appname).is_empty()){
[INFO] [stdout]     |                   ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 688 -                 if(prefstore::getall(appname).is_empty()){
[INFO] [stdout] 688 +                 if prefstore::getall(appname).is_empty() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:741:23
[INFO] [stdout]     |
[INFO] [stdout] 741 |                     if(i%3 ==0){
[INFO] [stdout]     |                       ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 741 -                     if(i%3 ==0){
[INFO] [stdout] 741 +                     if i%3 ==0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/main.rs:861:29
[INFO] [stdout]     |
[INFO] [stdout] 861 |                     None => ({
[INFO] [stdout]     |                             ^
[INFO] [stdout] 862 |                         // println!("stop");
[INFO] [stdout] 863 |                     })
[INFO] [stdout]     |                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 861 ~                     None => {
[INFO] [stdout] 862 |                         // println!("stop");
[INFO] [stdout] 863 ~                     }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:776:31
[INFO] [stdout]     |
[INFO] [stdout] 776 | ...                   if(val.contains("//")){
[INFO] [stdout]     |                         ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 776 -                             if(val.contains("//")){
[INFO] [stdout] 776 +                             if val.contains("//") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:794:43
[INFO] [stdout]     |
[INFO] [stdout] 794 | ...                   if(sk.to_lowercase().contains("invalid")){
[INFO] [stdout]     |                         ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 794 -                                         if(sk.to_lowercase().contains("invalid")){
[INFO] [stdout] 794 +                                         if sk.to_lowercase().contains("invalid") {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:814:36
[INFO] [stdout]     |
[INFO] [stdout] 814 | ...                   else if(val == "all"){
[INFO] [stdout]     |                              ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 814 -                             else if(val == "all"){
[INFO] [stdout] 814 +                             else if val == "all" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:819:35
[INFO] [stdout]     |
[INFO] [stdout] 819 | ...                   if(prefstore::getall(appname).is_empty()){
[INFO] [stdout]     |                         ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 819 -                                 if(prefstore::getall(appname).is_empty()){
[INFO] [stdout] 819 +                                 if prefstore::getall(appname).is_empty() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/main.rs:822:36
[INFO] [stdout]     |
[INFO] [stdout] 822 | ...                   let(hmap)=prefstore::getall(appname);
[INFO] [stdout]     |                          ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 822 -                                 let(hmap)=prefstore::getall(appname);
[INFO] [stdout] 822 +                                 let hmap=prefstore::getall(appname);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:828:36
[INFO] [stdout]     |
[INFO] [stdout] 828 | ...                   else if(val == "svc"){
[INFO] [stdout]     |                              ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 828 -                             else if(val == "svc"){
[INFO] [stdout] 828 +                             else if val == "svc" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:839:37
[INFO] [stdout]     |
[INFO] [stdout] 839 | ...                   }else if(val == "svw"){
[INFO] [stdout]     |                               ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 839 -                             }else if(val == "svw"){
[INFO] [stdout] 839 +                             }else if val == "svw" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead
[INFO] [stdout]    --> src/main.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | /     human_panic::setup_panic!(human_panic::Metadata {
[INFO] [stdout] 119 | |         version: env!("CARGO_PKG_VERSION").into(),
[INFO] [stdout] 120 | |         name: env!("CARGO_PKG_NAME").into(),
[INFO] [stdout] 121 | |         authors: env!("CARGO_PKG_AUTHORS").replace(":", ", ").into(),
[INFO] [stdout] 122 | |         homepage: env!("CARGO_PKG_HOMEPAGE").into(),
[INFO] [stdout] 123 | |         path_to_save_log_to: prefstore::prefstore_directory(&appname.to_string()).unwrap(),
[INFO] [stdout] 124 | |     });
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `human_panic::setup_panic` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead
[INFO] [stdout]    --> src/main.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | /     human_panic::setup_panic!(human_panic::Metadata {
[INFO] [stdout] 119 | |         version: env!("CARGO_PKG_VERSION").into(),
[INFO] [stdout] 120 | |         name: env!("CARGO_PKG_NAME").into(),
[INFO] [stdout] 121 | |         authors: env!("CARGO_PKG_AUTHORS").replace(":", ", ").into(),
[INFO] [stdout] 122 | |         homepage: env!("CARGO_PKG_HOMEPAGE").into(),
[INFO] [stdout] 123 | |         path_to_save_log_to: prefstore::prefstore_directory(&appname.to_string()).unwrap(),
[INFO] [stdout] 124 | |     });
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `human_panic::setup_panic` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let mut browsers;
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |             val => {
[INFO] [stdout]     |             --- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 155 |             _ =>{
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:345:21
[INFO] [stdout]     |
[INFO] [stdout] 339 |                     val => {
[INFO] [stdout]     |                     --- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 345 |                     _ =>{
[INFO] [stdout]     |                     ^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expandedurl` is never read
[INFO] [stdout]    --> src/main.rs:242:13
[INFO] [stdout]     |
[INFO] [stdout] 242 |     let mut expandedurl = "".to_string();
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ourl` is never read
[INFO] [stdout]    --> src/main.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |     let mut ourl = "".to_string();
[INFO] [stdout]     |             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `strtoshow`
[INFO] [stdout]    --> src/main.rs:247:13
[INFO] [stdout]     |
[INFO] [stdout] 247 |     let mut strtoshow="";
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strtoshow`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/main.rs:435:25
[INFO] [stdout]     |
[INFO] [stdout] 435 |                     Err(e) => {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expandedurl`
[INFO] [stdout]    --> src/main.rs:693:25
[INFO] [stdout]     |
[INFO] [stdout] 693 |                     let expandedurl=expandedurl.clone();
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expandedurl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/main.rs:808:41
[INFO] [stdout]     |
[INFO] [stdout] 808 | ...                   Err(e) => {
[INFO] [stdout]     |                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 808 |                                     Err(_e) => {
[INFO] [stdout]     |                                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `_`
[INFO] [stdout]     |
[INFO] [stdout] 808 -                                     Err(e) => {
[INFO] [stdout] 808 +                                     Err(_) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/main.rs:256:30
[INFO] [stdout]     |
[INFO] [stdout] 256 |             win.handle(move |f, ev|{
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |     let mut WIDGET_PADDING: i32 = 20;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |     let mut WIDGET_WIDTH: i32 = 420;
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |     let mut WIDGET_HEIGHT: i32 = 400;  
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |     let mut strtoshow="";
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:253:17
[INFO] [stdout]     |
[INFO] [stdout] 253 |             let mut app = App::default();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MyConfig` is never constructed
[INFO] [stdout]   --> src/main.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | struct MyConfig {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DAEMONIZE_ARG` is never used
[INFO] [stdout]    --> src/main.rs:873:7
[INFO] [stdout]     |
[INFO] [stdout] 873 | const DAEMONIZE_ARG: &str = "__internal_daemonize";
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `appname` should have an upper case name
[INFO] [stdout]   --> src/main.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const appname: &str = "perlink";
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 34 - const appname: &str = "perlink";
[INFO] [stdout] 34 + const APPNAME: &str = "perlink";
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `WIDGET_PADDING` should have a snake case name
[INFO] [stdout]    --> src/main.rs:238:13
[INFO] [stdout]     |
[INFO] [stdout] 238 |     let mut WIDGET_PADDING: i32 = 20;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `widget_padding`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `WIDGET_WIDTH` should have a snake case name
[INFO] [stdout]    --> src/main.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 |     let mut WIDGET_WIDTH: i32 = 420;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `widget_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `WIDGET_HEIGHT` should have a snake case name
[INFO] [stdout]    --> src/main.rs:240:13
[INFO] [stdout]     |
[INFO] [stdout] 240 |     let mut WIDGET_HEIGHT: i32 = 400;  
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `widget_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.22s
[INFO] running `Command { std: "docker" "inspect" "bfb1837a889471af63e01bd4c08dfaef7a092b239f73c61afc60feeca1a8746e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bfb1837a889471af63e01bd4c08dfaef7a092b239f73c61afc60feeca1a8746e", kill_on_drop: false }`
[INFO] [stdout] bfb1837a889471af63e01bd4c08dfaef7a092b239f73c61afc60feeca1a8746e
