[INFO] updating cached repository VerKnowSys/sysapi [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/VerKnowSys/sysapi [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/VerKnowSys/sysapi" "work/ex/clippy-test-run/sources/stable/gh/VerKnowSys/sysapi"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/VerKnowSys/sysapi'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/VerKnowSys/sysapi" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/VerKnowSys/sysapi"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/VerKnowSys/sysapi'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] cc1fc1b793915770d62c354f55fdda78f1e26456 [INFO] sha for GitHub repo VerKnowSys/sysapi: cc1fc1b793915770d62c354f55fdda78f1e26456 [INFO] validating manifest of VerKnowSys/sysapi 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 VerKnowSys/sysapi 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 VerKnowSys/sysapi [INFO] removed 0 missing examples [INFO] finished frobbing VerKnowSys/sysapi [INFO] frobbed toml for VerKnowSys/sysapi written to work/ex/clippy-test-run/sources/stable/gh/VerKnowSys/sysapi/Cargo.toml [INFO] started frobbing VerKnowSys/sysapi [INFO] removed 0 missing examples [INFO] finished frobbing VerKnowSys/sysapi [INFO] frobbed toml for VerKnowSys/sysapi written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/VerKnowSys/sysapi/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] [stderr] Downloading crates ... [INFO] [stderr] Downloaded uuid v0.7.2 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting VerKnowSys/sysapi against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/VerKnowSys/sysapi:/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] c10fcf93b3d27782a95e4a698c4385f93d692eaa2c65346a56608e33ec73dda7 [INFO] running `"docker" "start" "-a" "c10fcf93b3d27782a95e4a698c4385f93d692eaa2c65346a56608e33ec73dda7"` [INFO] [stderr] Compiling serde v1.0.85 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling libc v0.2.48 [INFO] [stderr] Compiling autocfg v0.1.2 [INFO] [stderr] Checking rand_core v0.4.0 [INFO] [stderr] Compiling cc v1.0.28 [INFO] [stderr] Compiling proc-macro2 v0.4.26 [INFO] [stderr] Compiling version_check v0.1.5 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling arrayvec v0.4.10 [INFO] [stderr] Checking lazy_static v1.2.0 [INFO] [stderr] Checking cfg-if v0.1.6 [INFO] [stderr] Compiling ryu v0.2.7 [INFO] [stderr] Checking nodrop v0.1.13 [INFO] [stderr] Compiling byteorder v1.3.1 [INFO] [stderr] Checking stable_deref_trait v1.1.1 [INFO] [stderr] Compiling rustc-demangle v0.1.13 [INFO] [stderr] Checking scopeguard v0.3.3 [INFO] [stderr] Checking memoffset v0.2.1 [INFO] [stderr] Compiling siphasher v0.2.3 [INFO] [stderr] Compiling itoa v0.4.3 [INFO] [stderr] Compiling pulldown-cmark v0.2.0 [INFO] [stderr] Checking futures v0.1.25 [INFO] [stderr] Compiling bitflags v1.0.4 [INFO] [stderr] Checking lazycell v1.2.1 [INFO] [stderr] Compiling remove_dir_all v0.5.1 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Compiling same-file v1.0.4 [INFO] [stderr] Compiling bytecount v0.4.0 [INFO] [stderr] Compiling num-traits v0.2.6 [INFO] [stderr] Compiling glob v0.2.11 [INFO] [stderr] Compiling memchr v2.1.3 [INFO] [stderr] Compiling failure_derive v0.1.5 [INFO] [stderr] Checking fnv v1.0.6 [INFO] [stderr] Compiling num-integer v0.1.39 [INFO] [stderr] Checking matches v0.1.8 [INFO] [stderr] Compiling httparse v1.3.3 [INFO] [stderr] Checking try-lock v0.2.2 [INFO] [stderr] Compiling nix v0.11.0 [INFO] [stderr] Checking indexmap v1.0.2 [INFO] [stderr] Checking ucd-util v0.1.3 [INFO] [stderr] Checking string v0.1.3 [INFO] [stderr] Compiling regex v1.1.0 [INFO] [stderr] Compiling regex v0.2.11 [INFO] [stderr] Checking percent-encoding v1.0.1 [INFO] [stderr] Checking scoped-tls v0.1.2 [INFO] [stderr] Checking quick-error v1.2.2 [INFO] [stderr] Checking utf8-ranges v1.0.2 [INFO] [stderr] Checking httpdate v0.3.2 [INFO] [stderr] Compiling sysapi v0.12.1 (/opt/crater/workdir) [INFO] [stderr] Checking linked-hash-map v0.5.1 [INFO] [stderr] Checking bytesize v0.1.3 [INFO] [stderr] Checking bencher v0.1.5 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking rand_jitter v0.1.0 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling backtrace v0.3.13 [INFO] [stderr] Checking unreachable v1.0.0 [INFO] [stderr] Compiling unicase v1.4.2 [INFO] [stderr] Compiling unicase v2.2.0 [INFO] [stderr] Compiling backtrace-sys v0.1.28 [INFO] [stderr] Compiling libloading v0.5.0 [INFO] [stderr] Checking log v0.4.6 [INFO] [stderr] Checking crossbeam-utils v0.6.5 [INFO] [stderr] Checking thread_local v0.3.6 [INFO] [stderr] Checking colored v1.7.0 [INFO] [stderr] Checking owning_ref v0.4.0 [INFO] [stderr] Compiling walkdir v2.2.7 [INFO] [stderr] Checking unicode-bidi v0.3.4 [INFO] [stderr] Checking regex-syntax v0.6.5 [INFO] [stderr] Checking regex-syntax v0.5.6 [INFO] [stderr] Checking tokio-sync v0.1.0 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking smallvec v0.6.8 [INFO] [stderr] Checking want v0.0.6 [INFO] [stderr] Checking fern v0.5.7 [INFO] [stderr] Checking tokio-executor v0.1.6 [INFO] [stderr] Checking lock_api v0.1.5 [INFO] [stderr] Checking rand_os v0.1.1 [INFO] [stderr] Checking iovec v0.1.2 [INFO] [stderr] Checking num_cpus v1.9.0 [INFO] [stderr] Checking net2 v0.2.33 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking time v0.1.42 [INFO] [stderr] Checking memchr v1.0.2 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Checking hostname v0.1.5 [INFO] [stderr] Checking crossbeam-channel v0.3.7 [INFO] [stderr] Checking unicode-normalization v0.1.8 [INFO] [stderr] Compiling quote v0.6.11 [INFO] [stderr] Checking crossbeam-epoch v0.7.1 [INFO] [stderr] Checking tokio-current-thread v0.1.4 [INFO] [stderr] Checking tokio-timer v0.2.9 [INFO] [stderr] Checking base64 v0.10.1 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling serde_json v1.0.37 [INFO] [stderr] Checking bincode v1.0.1 [INFO] [stderr] Checking bytes v0.4.11 [INFO] [stderr] Checking futures-cpupool v0.1.8 [INFO] [stderr] Checking mio v0.6.16 [INFO] [stderr] Checking nom v3.2.1 [INFO] [stderr] Checking aho-corasick v0.6.9 [INFO] [stderr] Checking cookie v0.11.0 [INFO] [stderr] Checking abstract-ns v0.4.3 [INFO] [stderr] Checking tempdir v0.3.7 [INFO] [stderr] Checking uuid v0.6.5 [INFO] [stderr] Checking phf_shared v0.7.24 [INFO] [stderr] Checking mime v0.3.13 [INFO] [stderr] Compiling syn v0.15.26 [INFO] [stderr] Checking crossbeam-deque v0.6.3 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Checking chrono v0.4.6 [INFO] [stderr] Checking tokio-io v0.1.11 [INFO] [stderr] Checking http v0.1.15 [INFO] [stderr] Checking mio-uds v0.6.7 [INFO] [stderr] Checking atomicwrites v0.2.2 [INFO] [stderr] Checking ns-std-threaded v0.3.0 [INFO] [stderr] Checking phf v0.7.24 [INFO] [stderr] Compiling error-chain v0.12.0 [INFO] [stderr] Compiling rand_pcg v0.1.1 [INFO] [stderr] Compiling parking_lot_core v0.4.0 [INFO] [stderr] Checking tokio-codec v0.1.1 [INFO] [stderr] Checking systemstat v0.1.3 [INFO] [stderr] Checking h2 v0.1.16 [INFO] [stderr] Checking idna v0.1.5 [INFO] [stderr] Compiling serde_derive v1.0.85 [INFO] [stderr] Compiling synstructure v0.10.1 [INFO] [stderr] Compiling gotham_derive v0.3.0 [INFO] [stderr] Checking url v1.7.2 [INFO] [stderr] Checking uuid v0.7.2 [INFO] [stderr] Checking parking_lot v0.7.1 [INFO] [stderr] Checking failure v0.1.5 [INFO] [stderr] Compiling phf_generator v0.7.24 [INFO] [stderr] Checking crossbeam v0.6.0 [INFO] [stderr] Checking tokio-reactor v0.1.8 [INFO] [stderr] Compiling phf_codegen v0.7.24 [INFO] [stderr] Checking tokio-threadpool v0.1.11 [INFO] [stderr] Compiling mime_guess v2.0.0-alpha.6 [INFO] [stderr] Checking tokio-tcp v0.1.3 [INFO] [stderr] Checking tokio-uds v0.2.5 [INFO] [stderr] Checking tokio-udp v0.1.3 [INFO] [stderr] Compiling cargo_metadata v0.6.4 [INFO] [stderr] Checking tokio-fs v0.1.5 [INFO] [stderr] Compiling skeptic v0.13.4 [INFO] [stderr] Checking tokio v0.1.15 [INFO] [stderr] Checking tokio-core v0.1.17 [INFO] [stderr] Checking hyper v0.12.23 [INFO] [stderr] Compiling borrow-bag v1.0.0 [INFO] [stderr] Checking domain v0.2.4 [INFO] [stderr] Checking gotham v0.3.0 [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/apis/cell.rs:293:17 [INFO] [stderr] | [INFO] [stderr] 293 | status: status, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `status` [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/apis/cell.rs:293:17 [INFO] [stderr] | [INFO] [stderr] 293 | status: status, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `status` [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/apis/cell.rs:293:17 [INFO] [stderr] | [INFO] [stderr] 293 | status: status, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `status` [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: long literal lacking separators [INFO] [stderr] --> src/lib.rs:155:21 [INFO] [stderr] | [INFO] [stderr] 155 | bytes: [u8; 262144], [INFO] [stderr] | ^^^^^^ help: consider: `262_144` [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: module has the same name as its containing module [INFO] [stderr] --> src/tests.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | / mod tests { [INFO] [stderr] 4 | | [INFO] [stderr] 5 | | // Load all internal modules: [INFO] [stderr] 6 | | use hyper::*; [INFO] [stderr] ... | [INFO] [stderr] 114 | | [INFO] [stderr] 115 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:155:21 [INFO] [stderr] | [INFO] [stderr] 155 | bytes: [u8; 262144], [INFO] [stderr] | ^^^^^^ help: consider: `262_144` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/helpers.rs:7:35 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn produce_list(glob_pattern: &String) -> Vec { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/helpers.rs:12:17 [INFO] [stderr] | [INFO] [stderr] 12 | / match path.file_name() { [INFO] [stderr] 13 | | Some(element) => { [INFO] [stderr] 14 | | element [INFO] [stderr] 15 | | .to_str() [INFO] [stderr] ... | [INFO] [stderr] 21 | | None => (), [INFO] [stderr] 22 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 12 | if let Some(element) = path.file_name() { [INFO] [stderr] 13 | element [INFO] [stderr] 14 | .to_str() [INFO] [stderr] 15 | .and_then(|elem| { [INFO] [stderr] 16 | list.push(elem.to_string()); [INFO] [stderr] 17 | Some(elem.to_string()) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/helpers.rs:35:35 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn list_attributes(cell_name: &String) -> Vec { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/cell.rs:118:14 [INFO] [stderr] | [INFO] [stderr] 118 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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 `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/cell.rs:127:14 [INFO] [stderr] | [INFO] [stderr] 127 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/cell.rs:143:26 [INFO] [stderr] | [INFO] [stderr] 143 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/cell.rs:165:18 [INFO] [stderr] | [INFO] [stderr] 165 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/cell.rs:181:24 [INFO] [stderr] | [INFO] [stderr] 181 | pub fn state(name: &String) -> Option { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/cell.rs:206:18 [INFO] [stderr] | [INFO] [stderr] 206 | .unwrap_or("127.0.0.1".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "127.0.0.1".to_string())` [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/apis/cell.rs:223:18 [INFO] [stderr] | [INFO] [stderr] 223 | .unwrap_or("0".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "0".to_string())` [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/apis/cell.rs:252:18 [INFO] [stderr] | [INFO] [stderr] 252 | .unwrap_or("localhost".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "localhost".to_string())` [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/apis/cell.rs:281:26 [INFO] [stderr] | [INFO] [stderr] 281 | .unwrap_or(String::from("")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from(""))` [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: struct update has no effect, all the fields in the struct have already been specified [INFO] [stderr] --> src/apis/cell.rs:295:20 [INFO] [stderr] | [INFO] [stderr] 295 | .. Cell::default() [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_update)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_update [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/cell.rs:310:37 [INFO] [stderr] | [INFO] [stderr] 310 | pub fn add_ssh_pubkey_to_cell(name: &String, ssh_pubkey: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/cell.rs:310:58 [INFO] [stderr] | [INFO] [stderr] 310 | pub fn add_ssh_pubkey_to_cell(name: &String, ssh_pubkey: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/cell.rs:330:26 [INFO] [stderr] | [INFO] [stderr] 330 | pub fn create_cell(name: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/cell.rs:349:27 [INFO] [stderr] | [INFO] [stderr] 349 | pub fn destroy_cell(name: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/proxy.rs:139:14 [INFO] [stderr] | [INFO] [stderr] 139 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:148:27 [INFO] [stderr] | [INFO] [stderr] 148 | pub fn new(cell_name: &String, from: &String, to: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:148:42 [INFO] [stderr] | [INFO] [stderr] 148 | pub fn new(cell_name: &String, from: &String, to: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:148:55 [INFO] [stderr] | [INFO] [stderr] 148 | pub fn new(cell_name: &String, from: &String, to: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:169:30 [INFO] [stderr] | [INFO] [stderr] 169 | pub fn create(cell_name: &String, from: &String, to: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:169:45 [INFO] [stderr] | [INFO] [stderr] 169 | pub fn create(cell_name: &String, from: &String, to: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:169:58 [INFO] [stderr] | [INFO] [stderr] 169 | pub fn create(cell_name: &String, from: &String, to: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:203:31 [INFO] [stderr] | [INFO] [stderr] 203 | pub fn destroy(cell_name: &String, from: &String, to: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:203:46 [INFO] [stderr] | [INFO] [stderr] 203 | pub fn destroy(cell_name: &String, from: &String, to: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:203:59 [INFO] [stderr] | [INFO] [stderr] 203 | pub fn destroy(cell_name: &String, from: &String, to: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:155:21 [INFO] [stderr] | [INFO] [stderr] 155 | bytes: [u8; 262144], [INFO] [stderr] | ^^^^^^ help: consider: `262_144` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:224:46 [INFO] [stderr] | [INFO] [stderr] 224 | pub fn config_from_template(from_domain: &String, to_domain: &String) -> String { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:224:66 [INFO] [stderr] | [INFO] [stderr] 224 | pub fn config_from_template(from_domain: &String, to_domain: &String) -> String { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/proxy.rs:246:30 [INFO] [stderr] | [INFO] [stderr] 246 | &DEFAULT_DNS.parse().unwrap_or(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1))), // resolver [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)))` [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/apis/proxy.rs:265:26 [INFO] [stderr] | [INFO] [stderr] 265 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/proxy.rs:287:18 [INFO] [stderr] | [INFO] [stderr] 287 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/zfs.rs:85:14 [INFO] [stderr] | [INFO] [stderr] 85 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/zfs.rs:94:14 [INFO] [stderr] | [INFO] [stderr] 94 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/zfs.rs:103:14 [INFO] [stderr] | [INFO] [stderr] 103 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/zfs.rs:119:26 [INFO] [stderr] | [INFO] [stderr] 119 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/zfs.rs:143:26 [INFO] [stderr] | [INFO] [stderr] 143 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:162:28 [INFO] [stderr] | [INFO] [stderr] 162 | pub fn list(cell_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/apis/zfs.rs:177:32 [INFO] [stderr] | [INFO] [stderr] 177 | .split("\n") [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [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: useless use of `format!` [INFO] [stderr] --> src/apis/zfs.rs:189:37 [INFO] [stderr] | [INFO] [stderr] 189 | let error_msg = format!("ZFS snapshot listing failed!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"ZFS snapshot listing failed!".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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:206:27 [INFO] [stderr] | [INFO] [stderr] 206 | pub fn new(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:206:50 [INFO] [stderr] | [INFO] [stderr] 206 | pub fn new(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:206:74 [INFO] [stderr] | [INFO] [stderr] 206 | pub fn new(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:217:30 [INFO] [stderr] | [INFO] [stderr] 217 | pub fn create(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:217:53 [INFO] [stderr] | [INFO] [stderr] 217 | pub fn create(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:217:77 [INFO] [stderr] | [INFO] [stderr] 217 | pub fn create(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:253:31 [INFO] [stderr] | [INFO] [stderr] 253 | pub fn destroy(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:253:54 [INFO] [stderr] | [INFO] [stderr] 253 | pub fn destroy(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:253:78 [INFO] [stderr] | [INFO] [stderr] 253 | pub fn destroy(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:279:28 [INFO] [stderr] | [INFO] [stderr] 279 | pub fn list(cell_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/apis/zfs.rs:294:32 [INFO] [stderr] | [INFO] [stderr] 294 | .split("\n") [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [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/apis/zfs.rs:306:37 [INFO] [stderr] | [INFO] [stderr] 306 | let error_msg = format!("ZFS snapshot listing failed!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"ZFS snapshot listing failed!".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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:317:29 [INFO] [stderr] | [INFO] [stderr] 317 | pub fn state(cell_name: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:317:53 [INFO] [stderr] | [INFO] [stderr] 317 | pub fn state(cell_name: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/apis/zfs.rs:333:32 [INFO] [stderr] | [INFO] [stderr] 333 | .split("\n") [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [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/apis/zfs.rs:356:37 [INFO] [stderr] | [INFO] [stderr] 356 | let error_msg = format!("Failed to list any snapshot!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Failed to list any snapshot!".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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:373:27 [INFO] [stderr] | [INFO] [stderr] 373 | pub fn new(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:373:50 [INFO] [stderr] | [INFO] [stderr] 373 | pub fn new(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:373:74 [INFO] [stderr] | [INFO] [stderr] 373 | pub fn new(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zone.rs:30:44 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn validate_domain_addresses(from: &String, to: &String) -> Result<(IpAddr, IpAddr), FromStrError> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zone.rs:30:57 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn validate_domain_addresses(from: &String, to: &String) -> Result<(IpAddr, IpAddr), FromStrError> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zone.rs:67:34 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn lookup_domain(domain: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: called `filter(p).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(p)` instead. [INFO] [stderr] --> src/apis/zone.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | / addresses [INFO] [stderr] 74 | | .iter() [INFO] [stderr] 75 | | .filter(|&element| !element.to_string().contains(":")) /* NOTE: filter out IPv6 - unsupported yet */ [INFO] [stderr] 76 | | .next() [INFO] [stderr] | |___________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::filter_next)] on by default [INFO] [stderr] = note: replace `filter(|&element| !element.to_string().contains(":")).next()` with `find(|&element| !element.to_string().contains(":"))` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/apis/zone.rs:75:70 [INFO] [stderr] | [INFO] [stderr] 75 | .filter(|&element| !element.to_string().contains(":")) /* NOTE: filter out IPv6 - unsupported yet */ [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/zone.rs:87:14 [INFO] [stderr] | [INFO] [stderr] 87 | .unwrap_or(Some(ip_localhost)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| Some(ip_localhost))` [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 closure found [INFO] [stderr] --> src/apis/status.rs:83:23 [INFO] [stderr] | [INFO] [stderr] 83 | .and_then(|cell_processes| Ok(cell_processes)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Ok` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/status.rs:88:28 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn of_cell(a_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/apis/status.rs:101:31 [INFO] [stderr] | [INFO] [stderr] 101 | .and_then(|cell_uid| Ok(cell_uid)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Ok` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/status.rs:136:14 [INFO] [stderr] | [INFO] [stderr] 136 | .unwrap_or(String::from("{\"status\": \"SerializationFailure: CellProcess\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure: CellProcess\"}"))` [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/apis/status.rs:145:14 [INFO] [stderr] | [INFO] [stderr] 145 | .unwrap_or(String::from("{\"status\": \"SerializationFailure: CellProcesses\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure: CellProcesses\"}"))` [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/apis/status.rs:158:18 [INFO] [stderr] | [INFO] [stderr] 158 | .unwrap_or(String::from("{\"status\": \"SerializationFailure: CellProcess\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure: CellProcess\"}"))` [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/apis/status.rs:174:26 [INFO] [stderr] | [INFO] [stderr] 174 | .unwrap_or(String::from("{\"status\": \"SerializationFailure: CellProcesses\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure: CellProcesses\"}"))` [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/apis/systat.rs:220:14 [INFO] [stderr] | [INFO] [stderr] 220 | .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 function call [INFO] [stderr] --> src/apis/systat.rs:259:14 [INFO] [stderr] | [INFO] [stderr] 259 | .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: useless use of `format!` [INFO] [stderr] --> src/apis/systat.rs:241:41 [INFO] [stderr] | [INFO] [stderr] 241 | format!("") [INFO] [stderr] | ^^^^^^^^^^^ help: consider using .to_string(): `"".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: useless use of `format!` [INFO] [stderr] --> src/apis/systat.rs:244:41 [INFO] [stderr] | [INFO] [stderr] 244 | format!("") [INFO] [stderr] | ^^^^^^^^^^^ help: consider using .to_string(): `"".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: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/apis/systat.rs:261:27 [INFO] [stderr] | [INFO] [stderr] 261 | let memory_stat = SYSTEM [INFO] [stderr] | ___________________________^ [INFO] [stderr] 262 | | .memory() [INFO] [stderr] 263 | | .and_then(|mem| { [INFO] [stderr] 264 | | debug!("Memory total: {}. Memory used: {}. Memory free: {}", [INFO] [stderr] ... | [INFO] [stderr] 277 | | }) [INFO] [stderr] 278 | | .unwrap_or(SystatMemory::default()); [INFO] [stderr] | |_______________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 261 | let memory_stat = SYSTEM [INFO] [stderr] 262 | .memory() [INFO] [stderr] 263 | .and_then(|mem| { [INFO] [stderr] 264 | debug!("Memory total: {}. Memory used: {}. Memory free: {}", [INFO] [stderr] 265 | mem.total, mem.total - mem.free, mem.free); [INFO] [stderr] 266 | Ok( [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/apis/systat.rs:268:37 [INFO] [stderr] | [INFO] [stderr] 268 | total: Some(ByteSize::from(mem.total).as_usize()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `ByteSize::from()`: `mem.total` [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: identical conversion [INFO] [stderr] --> src/apis/systat.rs:269:36 [INFO] [stderr] | [INFO] [stderr] 269 | used: Some(ByteSize::from(mem.total - mem.free).as_usize()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `ByteSize::from()`: `mem.total - mem.free` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/apis/systat.rs:270:36 [INFO] [stderr] | [INFO] [stderr] 270 | free: Some(ByteSize::from(mem.free).as_usize()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `ByteSize::from()`: `mem.free` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/apis/systat.rs:280:28 [INFO] [stderr] | [INFO] [stderr] 280 | let loadavg_stat = SYSTEM [INFO] [stderr] | ____________________________^ [INFO] [stderr] 281 | | .load_average() [INFO] [stderr] 282 | | .and_then(|loadavg| { [INFO] [stderr] 283 | | debug!("Load average: 1min: {}, 5min: {}, 15min: {}", [INFO] [stderr] ... | [INFO] [stderr] 296 | | }) [INFO] [stderr] 297 | | .unwrap_or(SystatSysLoad::default()); [INFO] [stderr] | |________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 280 | let loadavg_stat = SYSTEM [INFO] [stderr] 281 | .load_average() [INFO] [stderr] 282 | .and_then(|loadavg| { [INFO] [stderr] 283 | debug!("Load average: 1min: {}, 5min: {}, 15min: {}", [INFO] [stderr] 284 | loadavg.one, loadavg.five, loadavg.fifteen); [INFO] [stderr] 285 | Ok( [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/apis/systat.rs:302:32 [INFO] [stderr] | [INFO] [stderr] 302 | let duration = Duration::from(uptime); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `Duration::from()`: `uptime` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/apis/systat.rs:319:32 [INFO] [stderr] | [INFO] [stderr] 319 | let rfc_date = DateTime::from(boot_time).to_rfc2822(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `DateTime::from()`: `boot_time` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/apis/systat.rs:342:24 [INFO] [stderr] | [INFO] [stderr] 342 | let cpu_stat = SYSTEM [INFO] [stderr] | ________________________^ [INFO] [stderr] 343 | | .cpu_load_aggregate() [INFO] [stderr] 344 | | .and_then(|main_cpu| { [INFO] [stderr] 345 | | debug!("CPU Load - Measure in progress…"); [INFO] [stderr] ... | [INFO] [stderr] 366 | | }) [INFO] [stderr] 367 | | .unwrap_or(SystatCPU::default()); [INFO] [stderr] | |____________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 342 | let cpu_stat = SYSTEM [INFO] [stderr] 343 | .cpu_load_aggregate() [INFO] [stderr] 344 | .and_then(|main_cpu| { [INFO] [stderr] 345 | debug!("CPU Load - Measure in progress…"); [INFO] [stderr] 346 | thread::sleep(Duration::from_millis(250)); // XXX: TODO: make a future from it and process async timeout: [INFO] [stderr] 347 | main_cpu [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/apis/systat.rs:354:52 [INFO] [stderr] | [INFO] [stderr] 354 | user: Some(100.0 * cpu.user as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(cpu.user)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/apis/systat.rs:355:54 [INFO] [stderr] | [INFO] [stderr] 355 | system: Some(100.0 * cpu.system as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(cpu.system)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/apis/systat.rs:356:57 [INFO] [stderr] | [INFO] [stderr] 356 | interrupt: Some(100.0 * cpu.interrupt as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(cpu.interrupt)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/apis/systat.rs:357:52 [INFO] [stderr] | [INFO] [stderr] 357 | idle: Some(100.0 * cpu.idle as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(cpu.idle)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/apis/systat.rs:379:29 [INFO] [stderr] | [INFO] [stderr] 379 | boot_time: Some(boottime_stat.into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `boottime_stat` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/systat.rs:394:14 [INFO] [stderr] | [INFO] [stderr] 394 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/systat.rs:407:18 [INFO] [stderr] | [INFO] [stderr] 407 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/processors/cells.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | (state, Cell::state(&name).unwrap_or(Cell::new())) // XXX: TODO: it should load current service state and return json [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `Cell::state(&name).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 call to `new` [INFO] [stderr] --> src/processors/cells.rs:96:34 [INFO] [stderr] | [INFO] [stderr] 96 | let ssh_pubkey = String::from_utf8(valid_body.to_vec()).unwrap_or(String::new()); // Read SSH pubkey from request body: [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `String::from_utf8(valid_body.to_vec()).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: trivial regex [INFO] [stderr] --> src/processors/datasets.rs:18:20 [INFO] [stderr] | [INFO] [stderr] 18 | Regex::new(r", $").unwrap() [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivial_regex)] on by default [INFO] [stderr] = help: consider using `str::ends_with` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivial_regex [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:31:74 [INFO] [stderr] | [INFO] [stderr] 31 | let snapshot_name: String = cell_and_snapshot_name.split("/").skip(1).take(1).collect(); [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/processors/datasets.rs:32:70 [INFO] [stderr] | [INFO] [stderr] 32 | let cell_name: String = cell_and_snapshot_name.split("/").take(1).collect(); [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: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/processors/datasets.rs:33:36 [INFO] [stderr] | [INFO] [stderr] 33 | let dataset_path = String::from_utf8(valid_body.to_vec()) [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 34 | | .unwrap_or(String::new()); // Read full ZFS dataset path from the body [INFO] [stderr] | |_________________________________________________________________________________^ help: try this: `String::from_utf8(valid_body.to_vec()).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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:82:58 [INFO] [stderr] | [INFO] [stderr] 82 | let cell_name: String = cell_and_snapshot_name.split("/").skip(1).take(1).collect(); // first is "list", second "cell_name" [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/processors/datasets.rs:93:10 [INFO] [stderr] | [INFO] [stderr] 93 | .unwrap_or(String::from("")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from(""))` [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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:114:58 [INFO] [stderr] | [INFO] [stderr] 114 | let cell_name: String = cell_and_snapshot_name.split("/").skip(1).take(1).collect(); // first is "list", second "cell_name" [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/processors/datasets.rs:125:10 [INFO] [stderr] | [INFO] [stderr] 125 | .unwrap_or(String::from("")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from(""))` [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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:146:58 [INFO] [stderr] | [INFO] [stderr] 146 | let cell_name: String = cell_and_snapshot_name.split("/").take(1).collect(); [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/processors/datasets.rs:147:62 [INFO] [stderr] | [INFO] [stderr] 147 | let snapshot_name: String = cell_and_snapshot_name.split("/").skip(1).take(1).collect(); [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/processors/datasets.rs:155:10 [INFO] [stderr] | [INFO] [stderr] 155 | .unwrap_or(String::from("")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from(""))` [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 closure found [INFO] [stderr] --> src/processors/datasets.rs:150:19 [INFO] [stderr] | [INFO] [stderr] 150 | .and_then(|snapshot| Ok(snapshot)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Ok` [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/processors/datasets.rs:162:57 [INFO] [stderr] | [INFO] [stderr] 162 | let dataset_path: &String = &snapshot.split("@").take(1).collect(); [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/processors/datasets.rs:182:70 [INFO] [stderr] | [INFO] [stderr] 182 | let cell_name: String = cell_and_snapshot_name.split("/").take(1).collect(); [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/processors/datasets.rs:183:74 [INFO] [stderr] | [INFO] [stderr] 183 | let snapshot_name: String = cell_and_snapshot_name.split("/").skip(1).take(1).collect(); [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: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/processors/datasets.rs:185:36 [INFO] [stderr] | [INFO] [stderr] 185 | let dataset_path = String::from_utf8(valid_body.to_vec()).unwrap_or(String::new()); // Read ZFS dataset_path [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `String::from_utf8(valid_body.to_vec()).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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:195:46 [INFO] [stderr] | [INFO] [stderr] 195 | || dataset_path.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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:228:70 [INFO] [stderr] | [INFO] [stderr] 228 | let cell_name: String = cell_and_snapshot_name.split("/").take(1).collect(); [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/processors/datasets.rs:229:74 [INFO] [stderr] | [INFO] [stderr] 229 | let snapshot_name: String = cell_and_snapshot_name.split("/").skip(1).take(1).collect(); [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: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/processors/datasets.rs:230:36 [INFO] [stderr] | [INFO] [stderr] 230 | let dataset_path = String::from_utf8(valid_body.to_vec()).unwrap_or(String::new()); // Read ZFS dataset_path [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `String::from_utf8(valid_body.to_vec()).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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:240:46 [INFO] [stderr] | [INFO] [stderr] 240 | || dataset_path.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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/proxies.rs:21:60 [INFO] [stderr] | [INFO] [stderr] 21 | let cell_name: String = cell_from_to.split("/").take(1).collect(); [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/processors/proxies.rs:22:55 [INFO] [stderr] | [INFO] [stderr] 22 | let from: String = cell_from_to.split("/").skip(1).take(1).collect(); [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/processors/proxies.rs:23:53 [INFO] [stderr] | [INFO] [stderr] 23 | let to: String = cell_from_to.split("/").skip(2).take(1).collect(); [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/processors/proxies.rs:63:60 [INFO] [stderr] | [INFO] [stderr] 63 | let cell_name: String = cell_from_to.split("/").take(1).collect(); [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/processors/proxies.rs:64:55 [INFO] [stderr] | [INFO] [stderr] 64 | let from: String = cell_from_to.split("/").skip(1).take(1).collect(); [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/processors/proxies.rs:65:53 [INFO] [stderr] | [INFO] [stderr] 65 | let to: String = cell_from_to.split("/").skip(2).take(1).collect(); [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/webrouter.rs:49:18 [INFO] [stderr] | [INFO] [stderr] 49 | &format!("/version"), |handler| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"/version".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: useless use of `format!` [INFO] [stderr] --> src/webrouter.rs:56:18 [INFO] [stderr] | [INFO] [stderr] 56 | &format!("/systat"), |handler| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"/systat".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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/lib.rs:175:14 [INFO] [stderr] | [INFO] [stderr] 175 | .unwrap_or("[]".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "[]".to_string())` [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/lib.rs:167:97 [INFO] [stderr] | [INFO] [stderr] 167 | let data = String::from_utf8(data_struct.bytes[0..data_struct.length].to_vec()).unwrap_or("[]".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "[]".to_string())` [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/lib.rs:195:14 [INFO] [stderr] | [INFO] [stderr] 195 | .unwrap_or("[]".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "[]".to_string())` [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/lib.rs:187:97 [INFO] [stderr] | [INFO] [stderr] 187 | let data = String::from_utf8(data_struct.bytes[0..data_struct.length].to_vec()).unwrap_or("[]".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "[]".to_string())` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/helpers.rs:7:35 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn produce_list(glob_pattern: &String) -> Vec { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/helpers.rs:12:17 [INFO] [stderr] | [INFO] [stderr] 12 | / match path.file_name() { [INFO] [stderr] 13 | | Some(element) => { [INFO] [stderr] 14 | | element [INFO] [stderr] 15 | | .to_str() [INFO] [stderr] ... | [INFO] [stderr] 21 | | None => (), [INFO] [stderr] 22 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 12 | if let Some(element) = path.file_name() { [INFO] [stderr] 13 | element [INFO] [stderr] 14 | .to_str() [INFO] [stderr] 15 | .and_then(|elem| { [INFO] [stderr] 16 | list.push(elem.to_string()); [INFO] [stderr] 17 | Some(elem.to_string()) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/helpers.rs:35:35 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn list_attributes(cell_name: &String) -> Vec { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/cell.rs:118:14 [INFO] [stderr] | [INFO] [stderr] 118 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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 `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/cell.rs:127:14 [INFO] [stderr] | [INFO] [stderr] 127 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/cell.rs:143:26 [INFO] [stderr] | [INFO] [stderr] 143 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/cell.rs:165:18 [INFO] [stderr] | [INFO] [stderr] 165 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/cell.rs:181:24 [INFO] [stderr] | [INFO] [stderr] 181 | pub fn state(name: &String) -> Option { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/cell.rs:206:18 [INFO] [stderr] | [INFO] [stderr] 206 | .unwrap_or("127.0.0.1".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "127.0.0.1".to_string())` [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/apis/cell.rs:223:18 [INFO] [stderr] | [INFO] [stderr] 223 | .unwrap_or("0".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "0".to_string())` [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/apis/cell.rs:252:18 [INFO] [stderr] | [INFO] [stderr] 252 | .unwrap_or("localhost".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "localhost".to_string())` [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/apis/cell.rs:281:26 [INFO] [stderr] | [INFO] [stderr] 281 | .unwrap_or(String::from("")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from(""))` [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: struct update has no effect, all the fields in the struct have already been specified [INFO] [stderr] --> src/apis/cell.rs:295:20 [INFO] [stderr] | [INFO] [stderr] 295 | .. Cell::default() [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_update)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_update [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/cell.rs:310:37 [INFO] [stderr] | [INFO] [stderr] 310 | pub fn add_ssh_pubkey_to_cell(name: &String, ssh_pubkey: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/cell.rs:310:58 [INFO] [stderr] | [INFO] [stderr] 310 | pub fn add_ssh_pubkey_to_cell(name: &String, ssh_pubkey: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/cell.rs:330:26 [INFO] [stderr] | [INFO] [stderr] 330 | pub fn create_cell(name: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/cell.rs:349:27 [INFO] [stderr] | [INFO] [stderr] 349 | pub fn destroy_cell(name: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/proxy.rs:139:14 [INFO] [stderr] | [INFO] [stderr] 139 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:148:27 [INFO] [stderr] | [INFO] [stderr] 148 | pub fn new(cell_name: &String, from: &String, to: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:148:42 [INFO] [stderr] | [INFO] [stderr] 148 | pub fn new(cell_name: &String, from: &String, to: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:148:55 [INFO] [stderr] | [INFO] [stderr] 148 | pub fn new(cell_name: &String, from: &String, to: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:169:30 [INFO] [stderr] | [INFO] [stderr] 169 | pub fn create(cell_name: &String, from: &String, to: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:169:45 [INFO] [stderr] | [INFO] [stderr] 169 | pub fn create(cell_name: &String, from: &String, to: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:169:58 [INFO] [stderr] | [INFO] [stderr] 169 | pub fn create(cell_name: &String, from: &String, to: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:203:31 [INFO] [stderr] | [INFO] [stderr] 203 | pub fn destroy(cell_name: &String, from: &String, to: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:203:46 [INFO] [stderr] | [INFO] [stderr] 203 | pub fn destroy(cell_name: &String, from: &String, to: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:203:59 [INFO] [stderr] | [INFO] [stderr] 203 | pub fn destroy(cell_name: &String, from: &String, to: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:224:46 [INFO] [stderr] | [INFO] [stderr] 224 | pub fn config_from_template(from_domain: &String, to_domain: &String) -> String { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:224:66 [INFO] [stderr] | [INFO] [stderr] 224 | pub fn config_from_template(from_domain: &String, to_domain: &String) -> String { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/proxy.rs:246:30 [INFO] [stderr] | [INFO] [stderr] 246 | &DEFAULT_DNS.parse().unwrap_or(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1))), // resolver [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)))` [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/apis/proxy.rs:265:26 [INFO] [stderr] | [INFO] [stderr] 265 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/proxy.rs:287:18 [INFO] [stderr] | [INFO] [stderr] 287 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/zfs.rs:85:14 [INFO] [stderr] | [INFO] [stderr] 85 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/zfs.rs:94:14 [INFO] [stderr] | [INFO] [stderr] 94 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/zfs.rs:103:14 [INFO] [stderr] | [INFO] [stderr] 103 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/zfs.rs:119:26 [INFO] [stderr] | [INFO] [stderr] 119 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/zfs.rs:143:26 [INFO] [stderr] | [INFO] [stderr] 143 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:162:28 [INFO] [stderr] | [INFO] [stderr] 162 | pub fn list(cell_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/apis/zfs.rs:177:32 [INFO] [stderr] | [INFO] [stderr] 177 | .split("\n") [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [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: useless use of `format!` [INFO] [stderr] --> src/apis/zfs.rs:189:37 [INFO] [stderr] | [INFO] [stderr] 189 | let error_msg = format!("ZFS snapshot listing failed!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"ZFS snapshot listing failed!".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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:206:27 [INFO] [stderr] | [INFO] [stderr] 206 | pub fn new(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:206:50 [INFO] [stderr] | [INFO] [stderr] 206 | pub fn new(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:206:74 [INFO] [stderr] | [INFO] [stderr] 206 | pub fn new(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:217:30 [INFO] [stderr] | [INFO] [stderr] 217 | pub fn create(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:217:53 [INFO] [stderr] | [INFO] [stderr] 217 | pub fn create(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:217:77 [INFO] [stderr] | [INFO] [stderr] 217 | pub fn create(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:253:31 [INFO] [stderr] | [INFO] [stderr] 253 | pub fn destroy(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:253:54 [INFO] [stderr] | [INFO] [stderr] 253 | pub fn destroy(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:253:78 [INFO] [stderr] | [INFO] [stderr] 253 | pub fn destroy(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:279:28 [INFO] [stderr] | [INFO] [stderr] 279 | pub fn list(cell_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/apis/zfs.rs:294:32 [INFO] [stderr] | [INFO] [stderr] 294 | .split("\n") [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [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/apis/zfs.rs:306:37 [INFO] [stderr] | [INFO] [stderr] 306 | let error_msg = format!("ZFS snapshot listing failed!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"ZFS snapshot listing failed!".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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:317:29 [INFO] [stderr] | [INFO] [stderr] 317 | pub fn state(cell_name: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:317:53 [INFO] [stderr] | [INFO] [stderr] 317 | pub fn state(cell_name: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/apis/zfs.rs:333:32 [INFO] [stderr] | [INFO] [stderr] 333 | .split("\n") [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [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/apis/zfs.rs:356:37 [INFO] [stderr] | [INFO] [stderr] 356 | let error_msg = format!("Failed to list any snapshot!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Failed to list any snapshot!".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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:373:27 [INFO] [stderr] | [INFO] [stderr] 373 | pub fn new(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:373:50 [INFO] [stderr] | [INFO] [stderr] 373 | pub fn new(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:373:74 [INFO] [stderr] | [INFO] [stderr] 373 | pub fn new(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zone.rs:30:44 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn validate_domain_addresses(from: &String, to: &String) -> Result<(IpAddr, IpAddr), FromStrError> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zone.rs:30:57 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn validate_domain_addresses(from: &String, to: &String) -> Result<(IpAddr, IpAddr), FromStrError> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zone.rs:67:34 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn lookup_domain(domain: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: called `filter(p).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(p)` instead. [INFO] [stderr] --> src/apis/zone.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | / addresses [INFO] [stderr] 74 | | .iter() [INFO] [stderr] 75 | | .filter(|&element| !element.to_string().contains(":")) /* NOTE: filter out IPv6 - unsupported yet */ [INFO] [stderr] 76 | | .next() [INFO] [stderr] | |___________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::filter_next)] on by default [INFO] [stderr] = note: replace `filter(|&element| !element.to_string().contains(":")).next()` with `find(|&element| !element.to_string().contains(":"))` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/apis/zone.rs:75:70 [INFO] [stderr] | [INFO] [stderr] 75 | .filter(|&element| !element.to_string().contains(":")) /* NOTE: filter out IPv6 - unsupported yet */ [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/zone.rs:87:14 [INFO] [stderr] | [INFO] [stderr] 87 | .unwrap_or(Some(ip_localhost)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| Some(ip_localhost))` [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 closure found [INFO] [stderr] --> src/apis/status.rs:83:23 [INFO] [stderr] | [INFO] [stderr] 83 | .and_then(|cell_processes| Ok(cell_processes)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Ok` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/status.rs:88:28 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn of_cell(a_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/apis/status.rs:101:31 [INFO] [stderr] | [INFO] [stderr] 101 | .and_then(|cell_uid| Ok(cell_uid)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Ok` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/status.rs:136:14 [INFO] [stderr] | [INFO] [stderr] 136 | .unwrap_or(String::from("{\"status\": \"SerializationFailure: CellProcess\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure: CellProcess\"}"))` [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/apis/status.rs:145:14 [INFO] [stderr] | [INFO] [stderr] 145 | .unwrap_or(String::from("{\"status\": \"SerializationFailure: CellProcesses\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure: CellProcesses\"}"))` [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/apis/status.rs:158:18 [INFO] [stderr] | [INFO] [stderr] 158 | .unwrap_or(String::from("{\"status\": \"SerializationFailure: CellProcess\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure: CellProcess\"}"))` [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/apis/status.rs:174:26 [INFO] [stderr] | [INFO] [stderr] 174 | .unwrap_or(String::from("{\"status\": \"SerializationFailure: CellProcesses\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure: CellProcesses\"}"))` [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/apis/systat.rs:220:14 [INFO] [stderr] | [INFO] [stderr] 220 | .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 function call [INFO] [stderr] --> src/apis/systat.rs:259:14 [INFO] [stderr] | [INFO] [stderr] 259 | .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: useless use of `format!` [INFO] [stderr] --> src/apis/systat.rs:241:41 [INFO] [stderr] | [INFO] [stderr] 241 | format!("") [INFO] [stderr] | ^^^^^^^^^^^ help: consider using .to_string(): `"".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: useless use of `format!` [INFO] [stderr] --> src/apis/systat.rs:244:41 [INFO] [stderr] | [INFO] [stderr] 244 | format!("") [INFO] [stderr] | ^^^^^^^^^^^ help: consider using .to_string(): `"".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: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/apis/systat.rs:261:27 [INFO] [stderr] | [INFO] [stderr] 261 | let memory_stat = SYSTEM [INFO] [stderr] | ___________________________^ [INFO] [stderr] 262 | | .memory() [INFO] [stderr] 263 | | .and_then(|mem| { [INFO] [stderr] 264 | | debug!("Memory total: {}. Memory used: {}. Memory free: {}", [INFO] [stderr] ... | [INFO] [stderr] 277 | | }) [INFO] [stderr] 278 | | .unwrap_or(SystatMemory::default()); [INFO] [stderr] | |_______________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 261 | let memory_stat = SYSTEM [INFO] [stderr] 262 | .memory() [INFO] [stderr] 263 | .and_then(|mem| { [INFO] [stderr] 264 | debug!("Memory total: {}. Memory used: {}. Memory free: {}", [INFO] [stderr] 265 | mem.total, mem.total - mem.free, mem.free); [INFO] [stderr] 266 | Ok( [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/apis/systat.rs:268:37 [INFO] [stderr] | [INFO] [stderr] 268 | total: Some(ByteSize::from(mem.total).as_usize()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `ByteSize::from()`: `mem.total` [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: identical conversion [INFO] [stderr] --> src/apis/systat.rs:269:36 [INFO] [stderr] | [INFO] [stderr] 269 | used: Some(ByteSize::from(mem.total - mem.free).as_usize()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `ByteSize::from()`: `mem.total - mem.free` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/apis/systat.rs:270:36 [INFO] [stderr] | [INFO] [stderr] 270 | free: Some(ByteSize::from(mem.free).as_usize()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `ByteSize::from()`: `mem.free` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/apis/systat.rs:280:28 [INFO] [stderr] | [INFO] [stderr] 280 | let loadavg_stat = SYSTEM [INFO] [stderr] | ____________________________^ [INFO] [stderr] 281 | | .load_average() [INFO] [stderr] 282 | | .and_then(|loadavg| { [INFO] [stderr] 283 | | debug!("Load average: 1min: {}, 5min: {}, 15min: {}", [INFO] [stderr] ... | [INFO] [stderr] 296 | | }) [INFO] [stderr] 297 | | .unwrap_or(SystatSysLoad::default()); [INFO] [stderr] | |________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 280 | let loadavg_stat = SYSTEM [INFO] [stderr] 281 | .load_average() [INFO] [stderr] 282 | .and_then(|loadavg| { [INFO] [stderr] 283 | debug!("Load average: 1min: {}, 5min: {}, 15min: {}", [INFO] [stderr] 284 | loadavg.one, loadavg.five, loadavg.fifteen); [INFO] [stderr] 285 | Ok( [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/apis/systat.rs:302:32 [INFO] [stderr] | [INFO] [stderr] 302 | let duration = Duration::from(uptime); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `Duration::from()`: `uptime` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/apis/systat.rs:319:32 [INFO] [stderr] | [INFO] [stderr] 319 | let rfc_date = DateTime::from(boot_time).to_rfc2822(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `DateTime::from()`: `boot_time` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/apis/systat.rs:342:24 [INFO] [stderr] | [INFO] [stderr] 342 | let cpu_stat = SYSTEM [INFO] [stderr] | ________________________^ [INFO] [stderr] 343 | | .cpu_load_aggregate() [INFO] [stderr] 344 | | .and_then(|main_cpu| { [INFO] [stderr] 345 | | debug!("CPU Load - Measure in progress…"); [INFO] [stderr] ... | [INFO] [stderr] 366 | | }) [INFO] [stderr] 367 | | .unwrap_or(SystatCPU::default()); [INFO] [stderr] | |____________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 342 | let cpu_stat = SYSTEM [INFO] [stderr] 343 | .cpu_load_aggregate() [INFO] [stderr] 344 | .and_then(|main_cpu| { [INFO] [stderr] 345 | debug!("CPU Load - Measure in progress…"); [INFO] [stderr] 346 | thread::sleep(Duration::from_millis(250)); // XXX: TODO: make a future from it and process async timeout: [INFO] [stderr] 347 | main_cpu [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/apis/systat.rs:354:52 [INFO] [stderr] | [INFO] [stderr] 354 | user: Some(100.0 * cpu.user as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(cpu.user)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/apis/systat.rs:355:54 [INFO] [stderr] | [INFO] [stderr] 355 | system: Some(100.0 * cpu.system as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(cpu.system)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/apis/systat.rs:356:57 [INFO] [stderr] | [INFO] [stderr] 356 | interrupt: Some(100.0 * cpu.interrupt as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(cpu.interrupt)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/apis/systat.rs:357:52 [INFO] [stderr] | [INFO] [stderr] 357 | idle: Some(100.0 * cpu.idle as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(cpu.idle)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/apis/systat.rs:379:29 [INFO] [stderr] | [INFO] [stderr] 379 | boot_time: Some(boottime_stat.into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `boottime_stat` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/systat.rs:394:14 [INFO] [stderr] | [INFO] [stderr] 394 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/systat.rs:407:18 [INFO] [stderr] | [INFO] [stderr] 407 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/processors/cells.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | (state, Cell::state(&name).unwrap_or(Cell::new())) // XXX: TODO: it should load current service state and return json [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `Cell::state(&name).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 call to `new` [INFO] [stderr] --> src/processors/cells.rs:96:34 [INFO] [stderr] | [INFO] [stderr] 96 | let ssh_pubkey = String::from_utf8(valid_body.to_vec()).unwrap_or(String::new()); // Read SSH pubkey from request body: [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `String::from_utf8(valid_body.to_vec()).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: trivial regex [INFO] [stderr] --> src/processors/datasets.rs:18:20 [INFO] [stderr] | [INFO] [stderr] 18 | Regex::new(r", $").unwrap() [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivial_regex)] on by default [INFO] [stderr] = help: consider using `str::ends_with` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivial_regex [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:31:74 [INFO] [stderr] | [INFO] [stderr] 31 | let snapshot_name: String = cell_and_snapshot_name.split("/").skip(1).take(1).collect(); [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/processors/datasets.rs:32:70 [INFO] [stderr] | [INFO] [stderr] 32 | let cell_name: String = cell_and_snapshot_name.split("/").take(1).collect(); [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: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/processors/datasets.rs:33:36 [INFO] [stderr] | [INFO] [stderr] 33 | let dataset_path = String::from_utf8(valid_body.to_vec()) [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 34 | | .unwrap_or(String::new()); // Read full ZFS dataset path from the body [INFO] [stderr] | |_________________________________________________________________________________^ help: try this: `String::from_utf8(valid_body.to_vec()).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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:82:58 [INFO] [stderr] | [INFO] [stderr] 82 | let cell_name: String = cell_and_snapshot_name.split("/").skip(1).take(1).collect(); // first is "list", second "cell_name" [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/processors/datasets.rs:93:10 [INFO] [stderr] | [INFO] [stderr] 93 | .unwrap_or(String::from("")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from(""))` [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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:114:58 [INFO] [stderr] | [INFO] [stderr] 114 | let cell_name: String = cell_and_snapshot_name.split("/").skip(1).take(1).collect(); // first is "list", second "cell_name" [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/processors/datasets.rs:125:10 [INFO] [stderr] | [INFO] [stderr] 125 | .unwrap_or(String::from("")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from(""))` [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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:146:58 [INFO] [stderr] | [INFO] [stderr] 146 | let cell_name: String = cell_and_snapshot_name.split("/").take(1).collect(); [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/processors/datasets.rs:147:62 [INFO] [stderr] | [INFO] [stderr] 147 | let snapshot_name: String = cell_and_snapshot_name.split("/").skip(1).take(1).collect(); [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/processors/datasets.rs:155:10 [INFO] [stderr] | [INFO] [stderr] 155 | .unwrap_or(String::from("")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from(""))` [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 closure found [INFO] [stderr] --> src/processors/datasets.rs:150:19 [INFO] [stderr] | [INFO] [stderr] 150 | .and_then(|snapshot| Ok(snapshot)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Ok` [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/processors/datasets.rs:162:57 [INFO] [stderr] | [INFO] [stderr] 162 | let dataset_path: &String = &snapshot.split("@").take(1).collect(); [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/processors/datasets.rs:182:70 [INFO] [stderr] | [INFO] [stderr] 182 | let cell_name: String = cell_and_snapshot_name.split("/").take(1).collect(); [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/processors/datasets.rs:183:74 [INFO] [stderr] | [INFO] [stderr] 183 | let snapshot_name: String = cell_and_snapshot_name.split("/").skip(1).take(1).collect(); [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: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/processors/datasets.rs:185:36 [INFO] [stderr] | [INFO] [stderr] 185 | let dataset_path = String::from_utf8(valid_body.to_vec()).unwrap_or(String::new()); // Read ZFS dataset_path [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `String::from_utf8(valid_body.to_vec()).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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:195:46 [INFO] [stderr] | [INFO] [stderr] 195 | || dataset_path.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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:228:70 [INFO] [stderr] | [INFO] [stderr] 228 | let cell_name: String = cell_and_snapshot_name.split("/").take(1).collect(); [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/processors/datasets.rs:229:74 [INFO] [stderr] | [INFO] [stderr] 229 | let snapshot_name: String = cell_and_snapshot_name.split("/").skip(1).take(1).collect(); [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: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/processors/datasets.rs:230:36 [INFO] [stderr] | [INFO] [stderr] 230 | let dataset_path = String::from_utf8(valid_body.to_vec()).unwrap_or(String::new()); // Read ZFS dataset_path [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `String::from_utf8(valid_body.to_vec()).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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:240:46 [INFO] [stderr] | [INFO] [stderr] 240 | || dataset_path.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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/proxies.rs:21:60 [INFO] [stderr] | [INFO] [stderr] 21 | let cell_name: String = cell_from_to.split("/").take(1).collect(); [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/processors/proxies.rs:22:55 [INFO] [stderr] | [INFO] [stderr] 22 | let from: String = cell_from_to.split("/").skip(1).take(1).collect(); [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/processors/proxies.rs:23:53 [INFO] [stderr] | [INFO] [stderr] 23 | let to: String = cell_from_to.split("/").skip(2).take(1).collect(); [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/processors/proxies.rs:63:60 [INFO] [stderr] | [INFO] [stderr] 63 | let cell_name: String = cell_from_to.split("/").take(1).collect(); [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/processors/proxies.rs:64:55 [INFO] [stderr] | [INFO] [stderr] 64 | let from: String = cell_from_to.split("/").skip(1).take(1).collect(); [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/processors/proxies.rs:65:53 [INFO] [stderr] | [INFO] [stderr] 65 | let to: String = cell_from_to.split("/").skip(2).take(1).collect(); [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/webrouter.rs:49:18 [INFO] [stderr] | [INFO] [stderr] 49 | &format!("/version"), |handler| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"/version".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: useless use of `format!` [INFO] [stderr] --> src/webrouter.rs:56:18 [INFO] [stderr] | [INFO] [stderr] 56 | &format!("/systat"), |handler| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"/systat".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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/lib.rs:175:14 [INFO] [stderr] | [INFO] [stderr] 175 | .unwrap_or("[]".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "[]".to_string())` [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/lib.rs:167:97 [INFO] [stderr] | [INFO] [stderr] 167 | let data = String::from_utf8(data_struct.bytes[0..data_struct.length].to_vec()).unwrap_or("[]".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "[]".to_string())` [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/lib.rs:195:14 [INFO] [stderr] | [INFO] [stderr] 195 | .unwrap_or("[]".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "[]".to_string())` [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/lib.rs:187:97 [INFO] [stderr] | [INFO] [stderr] 187 | let data = String::from_utf8(data_struct.bytes[0..data_struct.length].to_vec()).unwrap_or("[]".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "[]".to_string())` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/helpers.rs:7:35 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn produce_list(glob_pattern: &String) -> Vec { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/helpers.rs:12:17 [INFO] [stderr] | [INFO] [stderr] 12 | / match path.file_name() { [INFO] [stderr] 13 | | Some(element) => { [INFO] [stderr] 14 | | element [INFO] [stderr] 15 | | .to_str() [INFO] [stderr] ... | [INFO] [stderr] 21 | | None => (), [INFO] [stderr] 22 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 12 | if let Some(element) = path.file_name() { [INFO] [stderr] 13 | element [INFO] [stderr] 14 | .to_str() [INFO] [stderr] 15 | .and_then(|elem| { [INFO] [stderr] 16 | list.push(elem.to_string()); [INFO] [stderr] 17 | Some(elem.to_string()) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/helpers.rs:35:35 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn list_attributes(cell_name: &String) -> Vec { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/cell.rs:118:14 [INFO] [stderr] | [INFO] [stderr] 118 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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 `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/cell.rs:127:14 [INFO] [stderr] | [INFO] [stderr] 127 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/cell.rs:143:26 [INFO] [stderr] | [INFO] [stderr] 143 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/cell.rs:165:18 [INFO] [stderr] | [INFO] [stderr] 165 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/cell.rs:181:24 [INFO] [stderr] | [INFO] [stderr] 181 | pub fn state(name: &String) -> Option { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/cell.rs:206:18 [INFO] [stderr] | [INFO] [stderr] 206 | .unwrap_or("127.0.0.1".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "127.0.0.1".to_string())` [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/apis/cell.rs:223:18 [INFO] [stderr] | [INFO] [stderr] 223 | .unwrap_or("0".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "0".to_string())` [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/apis/cell.rs:252:18 [INFO] [stderr] | [INFO] [stderr] 252 | .unwrap_or("localhost".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "localhost".to_string())` [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/apis/cell.rs:281:26 [INFO] [stderr] | [INFO] [stderr] 281 | .unwrap_or(String::from("")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from(""))` [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: struct update has no effect, all the fields in the struct have already been specified [INFO] [stderr] --> src/apis/cell.rs:295:20 [INFO] [stderr] | [INFO] [stderr] 295 | .. Cell::default() [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_update)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_update [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/cell.rs:310:37 [INFO] [stderr] | [INFO] [stderr] 310 | pub fn add_ssh_pubkey_to_cell(name: &String, ssh_pubkey: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/cell.rs:310:58 [INFO] [stderr] | [INFO] [stderr] 310 | pub fn add_ssh_pubkey_to_cell(name: &String, ssh_pubkey: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/cell.rs:330:26 [INFO] [stderr] | [INFO] [stderr] 330 | pub fn create_cell(name: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/cell.rs:349:27 [INFO] [stderr] | [INFO] [stderr] 349 | pub fn destroy_cell(name: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/proxy.rs:139:14 [INFO] [stderr] | [INFO] [stderr] 139 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:148:27 [INFO] [stderr] | [INFO] [stderr] 148 | pub fn new(cell_name: &String, from: &String, to: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:148:42 [INFO] [stderr] | [INFO] [stderr] 148 | pub fn new(cell_name: &String, from: &String, to: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:148:55 [INFO] [stderr] | [INFO] [stderr] 148 | pub fn new(cell_name: &String, from: &String, to: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:169:30 [INFO] [stderr] | [INFO] [stderr] 169 | pub fn create(cell_name: &String, from: &String, to: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:169:45 [INFO] [stderr] | [INFO] [stderr] 169 | pub fn create(cell_name: &String, from: &String, to: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:169:58 [INFO] [stderr] | [INFO] [stderr] 169 | pub fn create(cell_name: &String, from: &String, to: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:203:31 [INFO] [stderr] | [INFO] [stderr] 203 | pub fn destroy(cell_name: &String, from: &String, to: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:203:46 [INFO] [stderr] | [INFO] [stderr] 203 | pub fn destroy(cell_name: &String, from: &String, to: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:203:59 [INFO] [stderr] | [INFO] [stderr] 203 | pub fn destroy(cell_name: &String, from: &String, to: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:224:46 [INFO] [stderr] | [INFO] [stderr] 224 | pub fn config_from_template(from_domain: &String, to_domain: &String) -> String { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/proxy.rs:224:66 [INFO] [stderr] | [INFO] [stderr] 224 | pub fn config_from_template(from_domain: &String, to_domain: &String) -> String { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/proxy.rs:246:30 [INFO] [stderr] | [INFO] [stderr] 246 | &DEFAULT_DNS.parse().unwrap_or(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1))), // resolver [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)))` [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/apis/proxy.rs:265:26 [INFO] [stderr] | [INFO] [stderr] 265 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/proxy.rs:287:18 [INFO] [stderr] | [INFO] [stderr] 287 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/zfs.rs:85:14 [INFO] [stderr] | [INFO] [stderr] 85 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/zfs.rs:94:14 [INFO] [stderr] | [INFO] [stderr] 94 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/zfs.rs:103:14 [INFO] [stderr] | [INFO] [stderr] 103 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/zfs.rs:119:26 [INFO] [stderr] | [INFO] [stderr] 119 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/zfs.rs:143:26 [INFO] [stderr] | [INFO] [stderr] 143 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:162:28 [INFO] [stderr] | [INFO] [stderr] 162 | pub fn list(cell_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/apis/zfs.rs:177:32 [INFO] [stderr] | [INFO] [stderr] 177 | .split("\n") [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [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: useless use of `format!` [INFO] [stderr] --> src/apis/zfs.rs:189:37 [INFO] [stderr] | [INFO] [stderr] 189 | let error_msg = format!("ZFS snapshot listing failed!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"ZFS snapshot listing failed!".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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:206:27 [INFO] [stderr] | [INFO] [stderr] 206 | pub fn new(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:206:50 [INFO] [stderr] | [INFO] [stderr] 206 | pub fn new(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:206:74 [INFO] [stderr] | [INFO] [stderr] 206 | pub fn new(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:217:30 [INFO] [stderr] | [INFO] [stderr] 217 | pub fn create(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:217:53 [INFO] [stderr] | [INFO] [stderr] 217 | pub fn create(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:217:77 [INFO] [stderr] | [INFO] [stderr] 217 | pub fn create(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:253:31 [INFO] [stderr] | [INFO] [stderr] 253 | pub fn destroy(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:253:54 [INFO] [stderr] | [INFO] [stderr] 253 | pub fn destroy(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:253:78 [INFO] [stderr] | [INFO] [stderr] 253 | pub fn destroy(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:279:28 [INFO] [stderr] | [INFO] [stderr] 279 | pub fn list(cell_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/apis/zfs.rs:294:32 [INFO] [stderr] | [INFO] [stderr] 294 | .split("\n") [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [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/apis/zfs.rs:306:37 [INFO] [stderr] | [INFO] [stderr] 306 | let error_msg = format!("ZFS snapshot listing failed!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"ZFS snapshot listing failed!".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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:317:29 [INFO] [stderr] | [INFO] [stderr] 317 | pub fn state(cell_name: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:317:53 [INFO] [stderr] | [INFO] [stderr] 317 | pub fn state(cell_name: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/apis/zfs.rs:333:32 [INFO] [stderr] | [INFO] [stderr] 333 | .split("\n") [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [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/apis/zfs.rs:356:37 [INFO] [stderr] | [INFO] [stderr] 356 | let error_msg = format!("Failed to list any snapshot!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Failed to list any snapshot!".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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:373:27 [INFO] [stderr] | [INFO] [stderr] 373 | pub fn new(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:373:50 [INFO] [stderr] | [INFO] [stderr] 373 | pub fn new(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zfs.rs:373:74 [INFO] [stderr] | [INFO] [stderr] 373 | pub fn new(cell_name: &String, dataset_path: &String, snapshot_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zone.rs:30:44 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn validate_domain_addresses(from: &String, to: &String) -> Result<(IpAddr, IpAddr), FromStrError> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zone.rs:30:57 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn validate_domain_addresses(from: &String, to: &String) -> Result<(IpAddr, IpAddr), FromStrError> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/zone.rs:67:34 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn lookup_domain(domain: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: called `filter(p).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(p)` instead. [INFO] [stderr] --> src/apis/zone.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | / addresses [INFO] [stderr] 74 | | .iter() [INFO] [stderr] 75 | | .filter(|&element| !element.to_string().contains(":")) /* NOTE: filter out IPv6 - unsupported yet */ [INFO] [stderr] 76 | | .next() [INFO] [stderr] | |___________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::filter_next)] on by default [INFO] [stderr] = note: replace `filter(|&element| !element.to_string().contains(":")).next()` with `find(|&element| !element.to_string().contains(":"))` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/apis/zone.rs:75:70 [INFO] [stderr] | [INFO] [stderr] 75 | .filter(|&element| !element.to_string().contains(":")) /* NOTE: filter out IPv6 - unsupported yet */ [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/zone.rs:87:14 [INFO] [stderr] | [INFO] [stderr] 87 | .unwrap_or(Some(ip_localhost)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| Some(ip_localhost))` [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 closure found [INFO] [stderr] --> src/apis/status.rs:83:23 [INFO] [stderr] | [INFO] [stderr] 83 | .and_then(|cell_processes| Ok(cell_processes)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Ok` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/apis/status.rs:88:28 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn of_cell(a_name: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/apis/status.rs:101:31 [INFO] [stderr] | [INFO] [stderr] 101 | .and_then(|cell_uid| Ok(cell_uid)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Ok` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/status.rs:136:14 [INFO] [stderr] | [INFO] [stderr] 136 | .unwrap_or(String::from("{\"status\": \"SerializationFailure: CellProcess\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure: CellProcess\"}"))` [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/apis/status.rs:145:14 [INFO] [stderr] | [INFO] [stderr] 145 | .unwrap_or(String::from("{\"status\": \"SerializationFailure: CellProcesses\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure: CellProcesses\"}"))` [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/apis/status.rs:158:18 [INFO] [stderr] | [INFO] [stderr] 158 | .unwrap_or(String::from("{\"status\": \"SerializationFailure: CellProcess\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure: CellProcess\"}"))` [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/apis/status.rs:174:26 [INFO] [stderr] | [INFO] [stderr] 174 | .unwrap_or(String::from("{\"status\": \"SerializationFailure: CellProcesses\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure: CellProcesses\"}"))` [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/apis/systat.rs:220:14 [INFO] [stderr] | [INFO] [stderr] 220 | .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 function call [INFO] [stderr] --> src/apis/systat.rs:259:14 [INFO] [stderr] | [INFO] [stderr] 259 | .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: useless use of `format!` [INFO] [stderr] --> src/apis/systat.rs:241:41 [INFO] [stderr] | [INFO] [stderr] 241 | format!("") [INFO] [stderr] | ^^^^^^^^^^^ help: consider using .to_string(): `"".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: useless use of `format!` [INFO] [stderr] --> src/apis/systat.rs:244:41 [INFO] [stderr] | [INFO] [stderr] 244 | format!("") [INFO] [stderr] | ^^^^^^^^^^^ help: consider using .to_string(): `"".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: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/apis/systat.rs:261:27 [INFO] [stderr] | [INFO] [stderr] 261 | let memory_stat = SYSTEM [INFO] [stderr] | ___________________________^ [INFO] [stderr] 262 | | .memory() [INFO] [stderr] 263 | | .and_then(|mem| { [INFO] [stderr] 264 | | debug!("Memory total: {}. Memory used: {}. Memory free: {}", [INFO] [stderr] ... | [INFO] [stderr] 277 | | }) [INFO] [stderr] 278 | | .unwrap_or(SystatMemory::default()); [INFO] [stderr] | |_______________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 261 | let memory_stat = SYSTEM [INFO] [stderr] 262 | .memory() [INFO] [stderr] 263 | .and_then(|mem| { [INFO] [stderr] 264 | debug!("Memory total: {}. Memory used: {}. Memory free: {}", [INFO] [stderr] 265 | mem.total, mem.total - mem.free, mem.free); [INFO] [stderr] 266 | Ok( [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/apis/systat.rs:268:37 [INFO] [stderr] | [INFO] [stderr] 268 | total: Some(ByteSize::from(mem.total).as_usize()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `ByteSize::from()`: `mem.total` [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: identical conversion [INFO] [stderr] --> src/apis/systat.rs:269:36 [INFO] [stderr] | [INFO] [stderr] 269 | used: Some(ByteSize::from(mem.total - mem.free).as_usize()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `ByteSize::from()`: `mem.total - mem.free` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/apis/systat.rs:270:36 [INFO] [stderr] | [INFO] [stderr] 270 | free: Some(ByteSize::from(mem.free).as_usize()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `ByteSize::from()`: `mem.free` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/apis/systat.rs:280:28 [INFO] [stderr] | [INFO] [stderr] 280 | let loadavg_stat = SYSTEM [INFO] [stderr] | ____________________________^ [INFO] [stderr] 281 | | .load_average() [INFO] [stderr] 282 | | .and_then(|loadavg| { [INFO] [stderr] 283 | | debug!("Load average: 1min: {}, 5min: {}, 15min: {}", [INFO] [stderr] ... | [INFO] [stderr] 296 | | }) [INFO] [stderr] 297 | | .unwrap_or(SystatSysLoad::default()); [INFO] [stderr] | |________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 280 | let loadavg_stat = SYSTEM [INFO] [stderr] 281 | .load_average() [INFO] [stderr] 282 | .and_then(|loadavg| { [INFO] [stderr] 283 | debug!("Load average: 1min: {}, 5min: {}, 15min: {}", [INFO] [stderr] 284 | loadavg.one, loadavg.five, loadavg.fifteen); [INFO] [stderr] 285 | Ok( [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/apis/systat.rs:302:32 [INFO] [stderr] | [INFO] [stderr] 302 | let duration = Duration::from(uptime); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `Duration::from()`: `uptime` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/apis/systat.rs:319:32 [INFO] [stderr] | [INFO] [stderr] 319 | let rfc_date = DateTime::from(boot_time).to_rfc2822(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `DateTime::from()`: `boot_time` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/apis/systat.rs:342:24 [INFO] [stderr] | [INFO] [stderr] 342 | let cpu_stat = SYSTEM [INFO] [stderr] | ________________________^ [INFO] [stderr] 343 | | .cpu_load_aggregate() [INFO] [stderr] 344 | | .and_then(|main_cpu| { [INFO] [stderr] 345 | | debug!("CPU Load - Measure in progress…"); [INFO] [stderr] ... | [INFO] [stderr] 366 | | }) [INFO] [stderr] 367 | | .unwrap_or(SystatCPU::default()); [INFO] [stderr] | |____________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 342 | let cpu_stat = SYSTEM [INFO] [stderr] 343 | .cpu_load_aggregate() [INFO] [stderr] 344 | .and_then(|main_cpu| { [INFO] [stderr] 345 | debug!("CPU Load - Measure in progress…"); [INFO] [stderr] 346 | thread::sleep(Duration::from_millis(250)); // XXX: TODO: make a future from it and process async timeout: [INFO] [stderr] 347 | main_cpu [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/apis/systat.rs:354:52 [INFO] [stderr] | [INFO] [stderr] 354 | user: Some(100.0 * cpu.user as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(cpu.user)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/apis/systat.rs:355:54 [INFO] [stderr] | [INFO] [stderr] 355 | system: Some(100.0 * cpu.system as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(cpu.system)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/apis/systat.rs:356:57 [INFO] [stderr] | [INFO] [stderr] 356 | interrupt: Some(100.0 * cpu.interrupt as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(cpu.interrupt)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/apis/systat.rs:357:52 [INFO] [stderr] | [INFO] [stderr] 357 | idle: Some(100.0 * cpu.idle as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(cpu.idle)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/apis/systat.rs:379:29 [INFO] [stderr] | [INFO] [stderr] 379 | boot_time: Some(boottime_stat.into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `boottime_stat` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/apis/systat.rs:394:14 [INFO] [stderr] | [INFO] [stderr] 394 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/apis/systat.rs:407:18 [INFO] [stderr] | [INFO] [stderr] 407 | .unwrap_or(String::from("{\"status\": \"SerializationFailure\"}")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from("{\"status\": \"SerializationFailure\"}"))` [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/processors/cells.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | (state, Cell::state(&name).unwrap_or(Cell::new())) // XXX: TODO: it should load current service state and return json [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `Cell::state(&name).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 call to `new` [INFO] [stderr] --> src/processors/cells.rs:96:34 [INFO] [stderr] | [INFO] [stderr] 96 | let ssh_pubkey = String::from_utf8(valid_body.to_vec()).unwrap_or(String::new()); // Read SSH pubkey from request body: [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `String::from_utf8(valid_body.to_vec()).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: trivial regex [INFO] [stderr] --> src/processors/datasets.rs:18:20 [INFO] [stderr] | [INFO] [stderr] 18 | Regex::new(r", $").unwrap() [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivial_regex)] on by default [INFO] [stderr] = help: consider using `str::ends_with` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivial_regex [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:31:74 [INFO] [stderr] | [INFO] [stderr] 31 | let snapshot_name: String = cell_and_snapshot_name.split("/").skip(1).take(1).collect(); [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/processors/datasets.rs:32:70 [INFO] [stderr] | [INFO] [stderr] 32 | let cell_name: String = cell_and_snapshot_name.split("/").take(1).collect(); [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: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/processors/datasets.rs:33:36 [INFO] [stderr] | [INFO] [stderr] 33 | let dataset_path = String::from_utf8(valid_body.to_vec()) [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 34 | | .unwrap_or(String::new()); // Read full ZFS dataset path from the body [INFO] [stderr] | |_________________________________________________________________________________^ help: try this: `String::from_utf8(valid_body.to_vec()).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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:82:58 [INFO] [stderr] | [INFO] [stderr] 82 | let cell_name: String = cell_and_snapshot_name.split("/").skip(1).take(1).collect(); // first is "list", second "cell_name" [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/processors/datasets.rs:93:10 [INFO] [stderr] | [INFO] [stderr] 93 | .unwrap_or(String::from("")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from(""))` [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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:114:58 [INFO] [stderr] | [INFO] [stderr] 114 | let cell_name: String = cell_and_snapshot_name.split("/").skip(1).take(1).collect(); // first is "list", second "cell_name" [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/processors/datasets.rs:125:10 [INFO] [stderr] | [INFO] [stderr] 125 | .unwrap_or(String::from("")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from(""))` [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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:146:58 [INFO] [stderr] | [INFO] [stderr] 146 | let cell_name: String = cell_and_snapshot_name.split("/").take(1).collect(); [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/processors/datasets.rs:147:62 [INFO] [stderr] | [INFO] [stderr] 147 | let snapshot_name: String = cell_and_snapshot_name.split("/").skip(1).take(1).collect(); [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/processors/datasets.rs:155:10 [INFO] [stderr] | [INFO] [stderr] 155 | .unwrap_or(String::from("")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String::from(""))` [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 closure found [INFO] [stderr] --> src/processors/datasets.rs:150:19 [INFO] [stderr] | [INFO] [stderr] 150 | .and_then(|snapshot| Ok(snapshot)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Ok` [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/processors/datasets.rs:162:57 [INFO] [stderr] | [INFO] [stderr] 162 | let dataset_path: &String = &snapshot.split("@").take(1).collect(); [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/processors/datasets.rs:182:70 [INFO] [stderr] | [INFO] [stderr] 182 | let cell_name: String = cell_and_snapshot_name.split("/").take(1).collect(); [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/processors/datasets.rs:183:74 [INFO] [stderr] | [INFO] [stderr] 183 | let snapshot_name: String = cell_and_snapshot_name.split("/").skip(1).take(1).collect(); [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: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/processors/datasets.rs:185:36 [INFO] [stderr] | [INFO] [stderr] 185 | let dataset_path = String::from_utf8(valid_body.to_vec()).unwrap_or(String::new()); // Read ZFS dataset_path [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `String::from_utf8(valid_body.to_vec()).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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:195:46 [INFO] [stderr] | [INFO] [stderr] 195 | || dataset_path.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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:228:70 [INFO] [stderr] | [INFO] [stderr] 228 | let cell_name: String = cell_and_snapshot_name.split("/").take(1).collect(); [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/processors/datasets.rs:229:74 [INFO] [stderr] | [INFO] [stderr] 229 | let snapshot_name: String = cell_and_snapshot_name.split("/").skip(1).take(1).collect(); [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: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/processors/datasets.rs:230:36 [INFO] [stderr] | [INFO] [stderr] 230 | let dataset_path = String::from_utf8(valid_body.to_vec()).unwrap_or(String::new()); // Read ZFS dataset_path [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `String::from_utf8(valid_body.to_vec()).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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/datasets.rs:240:46 [INFO] [stderr] | [INFO] [stderr] 240 | || dataset_path.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: single-character string constant used as pattern [INFO] [stderr] --> src/processors/proxies.rs:21:60 [INFO] [stderr] | [INFO] [stderr] 21 | let cell_name: String = cell_from_to.split("/").take(1).collect(); [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/processors/proxies.rs:22:55 [INFO] [stderr] | [INFO] [stderr] 22 | let from: String = cell_from_to.split("/").skip(1).take(1).collect(); [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/processors/proxies.rs:23:53 [INFO] [stderr] | [INFO] [stderr] 23 | let to: String = cell_from_to.split("/").skip(2).take(1).collect(); [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/processors/proxies.rs:63:60 [INFO] [stderr] | [INFO] [stderr] 63 | let cell_name: String = cell_from_to.split("/").take(1).collect(); [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/processors/proxies.rs:64:55 [INFO] [stderr] | [INFO] [stderr] 64 | let from: String = cell_from_to.split("/").skip(1).take(1).collect(); [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/processors/proxies.rs:65:53 [INFO] [stderr] | [INFO] [stderr] 65 | let to: String = cell_from_to.split("/").skip(2).take(1).collect(); [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/webrouter.rs:49:18 [INFO] [stderr] | [INFO] [stderr] 49 | &format!("/version"), |handler| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"/version".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: useless use of `format!` [INFO] [stderr] --> src/webrouter.rs:56:18 [INFO] [stderr] | [INFO] [stderr] 56 | &format!("/systat"), |handler| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"/systat".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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/lib.rs:175:14 [INFO] [stderr] | [INFO] [stderr] 175 | .unwrap_or("[]".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "[]".to_string())` [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/lib.rs:167:97 [INFO] [stderr] | [INFO] [stderr] 167 | let data = String::from_utf8(data_struct.bytes[0..data_struct.length].to_vec()).unwrap_or("[]".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "[]".to_string())` [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/lib.rs:195:14 [INFO] [stderr] | [INFO] [stderr] 195 | .unwrap_or("[]".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "[]".to_string())` [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/lib.rs:187:97 [INFO] [stderr] | [INFO] [stderr] 187 | let data = String::from_utf8(data_struct.bytes[0..data_struct.length].to_vec()).unwrap_or("[]".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "[]".to_string())` [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/sysapi.rs:88:22 [INFO] [stderr] | [INFO] [stderr] 88 | .unwrap_or(File::open("/dev/stdout") [INFO] [stderr] | ______________________^ [INFO] [stderr] 89 | | .expect("FATAL: No /dev/stdout!?"))) [INFO] [stderr] | |_______________________________________________________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 88 | .unwrap_or_else(|_| File::open("/dev/stdout") [INFO] [stderr] 89 | .expect("FATAL: No /dev/stdout!?"))) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/sysapi.rs:94:43 [INFO] [stderr] | [INFO] [stderr] 94 | version, get_hostname().unwrap_or(String::from("localhost")), listen_address); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from("localhost"))` [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/sysapi.rs:88:22 [INFO] [stderr] | [INFO] [stderr] 88 | .unwrap_or(File::open("/dev/stdout") [INFO] [stderr] | ______________________^ [INFO] [stderr] 89 | | .expect("FATAL: No /dev/stdout!?"))) [INFO] [stderr] | |_______________________________________________________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 88 | .unwrap_or_else(|_| File::open("/dev/stdout") [INFO] [stderr] 89 | .expect("FATAL: No /dev/stdout!?"))) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/sysapi.rs:94:43 [INFO] [stderr] | [INFO] [stderr] 94 | version, get_hostname().unwrap_or(String::from("localhost")), listen_address); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from("localhost"))` [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] Finished dev [unoptimized + debuginfo] target(s) in 5m 07s [INFO] running `"docker" "inspect" "c10fcf93b3d27782a95e4a698c4385f93d692eaa2c65346a56608e33ec73dda7"` [INFO] running `"docker" "rm" "-f" "c10fcf93b3d27782a95e4a698c4385f93d692eaa2c65346a56608e33ec73dda7"` [INFO] [stdout] c10fcf93b3d27782a95e4a698c4385f93d692eaa2c65346a56608e33ec73dda7