[INFO] updating cached repository rsumner31/badtouch-2 [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/rsumner31/badtouch-2 [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/rsumner31/badtouch-2" "work/ex/clippy-test-run/sources/stable/gh/rsumner31/badtouch-2"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/rsumner31/badtouch-2'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/rsumner31/badtouch-2" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/rsumner31/badtouch-2"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/rsumner31/badtouch-2'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 2412a45678e3608d802852c40b2a7f8a08b60588 [INFO] sha for GitHub repo rsumner31/badtouch-2: 2412a45678e3608d802852c40b2a7f8a08b60588 [INFO] validating manifest of rsumner31/badtouch-2 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 rsumner31/badtouch-2 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 rsumner31/badtouch-2 [INFO] finished frobbing rsumner31/badtouch-2 [INFO] frobbed toml for rsumner31/badtouch-2 written to work/ex/clippy-test-run/sources/stable/gh/rsumner31/badtouch-2/Cargo.toml [INFO] started frobbing rsumner31/badtouch-2 [INFO] finished frobbing rsumner31/badtouch-2 [INFO] frobbed toml for rsumner31/badtouch-2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/rsumner31/badtouch-2/Cargo.toml [INFO] crate rsumner31/badtouch-2 has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting rsumner31/badtouch-2 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/rsumner31/badtouch-2:/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] ed8361e66be4af3518c24ee4ff58c641a834ef4021a2e7e81ca2c7d4de338e10 [INFO] running `"docker" "start" "-a" "ed8361e66be4af3518c24ee4ff58c641a834ef4021a2e7e81ca2c7d4de338e10"` [INFO] [stderr] Checking futures v0.1.20 [INFO] [stderr] Compiling procedural-masquerade v0.1.5 [INFO] [stderr] Checking nom v2.2.1 [INFO] [stderr] Checking termios v0.3.0 [INFO] [stderr] Compiling serde_json v1.0.13 [INFO] [stderr] Checking nix v0.9.0 [INFO] [stderr] Checking atoi v0.2.3 [INFO] [stderr] Compiling lua52-sys v0.1.1 [INFO] [stderr] Checking dtoa-short v0.3.2 [INFO] [stderr] Checking servo_arc v0.1.1 [INFO] [stderr] Checking bytes v0.4.6 [INFO] [stderr] Checking getch v0.2.0 [INFO] [stderr] Checking crossbeam-epoch v0.4.1 [INFO] [stderr] Checking debug_unreachable v0.1.1 [INFO] [stderr] Checking chrono v0.4.1 [INFO] [stderr] Compiling syn v0.12.15 [INFO] [stderr] Checking openssl-sys v0.9.27 [INFO] [stderr] Checking regex v0.2.10 [INFO] [stderr] Compiling cssparser v0.23.2 [INFO] [stderr] Compiling html5ever v0.22.0 [INFO] [stderr] Checking futf v0.1.3 [INFO] [stderr] Checking crossbeam-deque v0.3.0 [INFO] [stderr] Checking lber v0.1.6 [INFO] [stderr] Checking tokio-io v0.1.6 [INFO] [stderr] Checking tokio-executor v0.1.1 [INFO] [stderr] Checking tokio-service v0.1.0 [INFO] [stderr] Checking relay v0.1.1 [INFO] [stderr] Checking futures-cpupool v0.1.8 [INFO] [stderr] Checking openssl v0.9.24 [INFO] [stderr] Checking serde_urlencoded v0.5.1 [INFO] [stderr] Checking pbr v1.0.0 [INFO] [stderr] Checking tendril v0.4.0 [INFO] [stderr] Checking mysql_common v0.5.0 [INFO] [stderr] Checking tokio-threadpool v0.1.1 [INFO] [stderr] Checking md-5 v0.7.0 [INFO] [stderr] Checking sha-1 v0.7.0 [INFO] [stderr] Compiling string_cache_codegen v0.4.0 [INFO] [stderr] Checking tokio-reactor v0.1.1 [INFO] [stderr] Checking hlua-badtouch v0.4.2 [INFO] [stderr] Compiling selectors v0.19.0 [INFO] [stderr] Checking tokio-tcp v0.1.0 [INFO] [stderr] Checking tokio-udp v0.1.0 [INFO] [stderr] Compiling string_cache v0.7.1 [INFO] [stderr] Checking tokio v0.1.4 [INFO] [stderr] Checking mysql v12.3.1 [INFO] [stderr] Checking native-tls v0.1.5 [INFO] [stderr] Checking tokio-core v0.1.16 [INFO] [stderr] Checking tokio-proto v0.1.1 [INFO] [stderr] Checking tokio-uds v0.1.7 [INFO] [stderr] Checking tokio-tls v0.1.4 [INFO] [stderr] Compiling serde_derive_internals v0.22.2 [INFO] [stderr] Compiling cssparser-macros v0.3.2 [INFO] [stderr] Compiling structopt-derive v0.2.5 [INFO] [stderr] Checking hyper v0.11.24 [INFO] [stderr] Checking tokio-uds-proto v0.1.1 [INFO] [stderr] Compiling serde_derive v1.0.36 [INFO] [stderr] Checking structopt v0.2.5 [INFO] [stderr] Checking ldap3 v0.6.0 [INFO] [stderr] Checking hyper-tls v0.1.3 [INFO] [stderr] Compiling markup5ever v0.7.2 [INFO] [stderr] Checking reqwest v0.8.5 [INFO] [stderr] Checking kuchiki v0.7.0 [INFO] [stderr] Checking badtouch v0.3.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/http.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/http.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | #[macro_use] extern crate structopt; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ctx.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | return cp.into(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `cp.into()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/html.rs:49:19 [INFO] [stderr] | [INFO] [stderr] 49 | Err(_) => return Err("css selector failed".into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("css selector failed".into())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/html.rs:58:19 [INFO] [stderr] | [INFO] [stderr] 58 | Err(_) => return Err("css selector failed".into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("css selector failed".into())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/runtime.rs:46:14 [INFO] [stderr] | [INFO] [stderr] 46 | _ => return Err(format!("invalid type: {:?}", bytes).into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("invalid type: {:?}", bytes).into())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | #[macro_use] extern crate structopt; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ctx.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | return cp.into(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `cp.into()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/html.rs:49:19 [INFO] [stderr] | [INFO] [stderr] 49 | Err(_) => return Err("css selector failed".into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("css selector failed".into())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/html.rs:58:19 [INFO] [stderr] | [INFO] [stderr] 58 | Err(_) => return Err("css selector failed".into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("css selector failed".into())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/runtime.rs:46:14 [INFO] [stderr] | [INFO] [stderr] 46 | _ => return Err(format!("invalid type: {:?}", bytes).into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("invalid type: {:?}", bytes).into())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/ctx.rs:46:44 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn register_in_jar(&self, session: &String, cookies: Vec<(String, String)>) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/ctx.rs:101:53 [INFO] [stderr] | [INFO] [stderr] 101 | let descr: Result<_> = lua.get("descr").ok_or("descr undefined".into()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| "descr undefined".into())` [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 `ok_or` followed by a function call [INFO] [stderr] --> src/ctx.rs:107:55 [INFO] [stderr] | [INFO] [stderr] 107 | let verify: Result<_> = lua.get("verify").ok_or("verify undefined".into()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| "verify undefined".into())` [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 `ok_or` followed by a function call [INFO] [stderr] --> src/ctx.rs:175:51 [INFO] [stderr] | [INFO] [stderr] 175 | let verify: Result<_> = lua.get("verify").ok_or("verify undefined".into()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| "verify undefined".into())` [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/fsck.rs:23:30 [INFO] [stderr] | [INFO] [stderr] 23 | if line.find(":").is_some() || !args.require_colon { [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/html.rs:57:21 [INFO] [stderr] | [INFO] [stderr] 57 | Ok(x) => Ok(x.into_iter().map(transform_element).collect()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `x` [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: casting u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/http.rs:141:35 [INFO] [stderr] | [INFO] [stderr] 141 | resp.insert_num("status", status.as_u16() as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(status.as_u16())` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/http.rs:160:43 [INFO] [stderr] | [INFO] [stderr] 160 | fn register_cookies_on_state(session: &String, state: &State, cookies: &reqwest::header::Raw) { [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 `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/json.rs:23:33 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn lua_array_is_list(array: &Vec<(AnyLuaValue, AnyLuaValue)>) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(AnyLuaValue, AnyLuaValue)]` [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: length comparison to zero [INFO] [stderr] --> src/json.rs:24:8 [INFO] [stderr] | [INFO] [stderr] 24 | if array.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!array.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/json.rs:79:38 [INFO] [stderr] | [INFO] [stderr] 79 | LuaJsonValue::Number(match v % 1f64 == 0f64 { [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 80 | | true => (v as u64).into(), [INFO] [stderr] 81 | | false => Number::from_f64(v).expect("invalid LuaJson::Number"), [INFO] [stderr] 82 | | }) [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if v % 1f64 == 0f64 { (v as u64).into() } else { Number::from_f64(v).expect("invalid LuaJson::Number") }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/json.rs:93:64 [INFO] [stderr] | [INFO] [stderr] 93 | AnyLuaValue::LuaString(k) => Some((k.into(), v.into())), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `k` [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: this boolean expression can be simplified [INFO] [stderr] --> src/runtime.rs:310:12 [INFO] [stderr] | [INFO] [stderr] 310 | if !result.success().is_ok() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `result.success().is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/scheduler.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | Attempt(Attempt, Result), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] --> src/scheduler.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | Attempt(Attempt, Result), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] [INFO] [stderr] warning: Consider using an AtomicBool instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> src/scheduler.rs:58:38 [INFO] [stderr] | [INFO] [stderr] 58 | pause_trigger: Arc::new((Mutex::new(true), Condvar::new())), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::mutex_atomic)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [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/structs.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | / match k { [INFO] [stderr] 55 | | AnyLuaValue::LuaString(k) => map.insert(k, v), [INFO] [stderr] 56 | | _ => (), // TODO: handle unknown types [INFO] [stderr] 57 | | } [INFO] [stderr] | |_____________^ help: try this: `if let AnyLuaValue::LuaString(k) = k { map.insert(k, v) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/main.rs:83:28 [INFO] [stderr] | [INFO] [stderr] 83 | .map(|x| x.map(|x| Arc::new(x))) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove closure as shown: `Arc::new` [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: passing a unit value to a function [INFO] [stderr] --> src/main.rs:126:20 [INFO] [stderr] | [INFO] [stderr] 126 | Ok(writeln!(f, "{}:{}:{}", attempt.script.descr(), attempt.user, attempt.password)?) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 126 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:173:51 [INFO] [stderr] | [INFO] [stderr] 173 | if let Some(idx) = x.find(":") { [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/ctx.rs:46:44 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn register_in_jar(&self, session: &String, cookies: Vec<(String, String)>) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/ctx.rs:101:53 [INFO] [stderr] | [INFO] [stderr] 101 | let descr: Result<_> = lua.get("descr").ok_or("descr undefined".into()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| "descr undefined".into())` [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 `ok_or` followed by a function call [INFO] [stderr] --> src/ctx.rs:107:55 [INFO] [stderr] | [INFO] [stderr] 107 | let verify: Result<_> = lua.get("verify").ok_or("verify undefined".into()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| "verify undefined".into())` [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 `ok_or` followed by a function call [INFO] [stderr] --> src/ctx.rs:175:51 [INFO] [stderr] | [INFO] [stderr] 175 | let verify: Result<_> = lua.get("verify").ok_or("verify undefined".into()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| "verify undefined".into())` [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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/ctx.rs:205:40 [INFO] [stderr] | [INFO] [stderr] 205 | let script = Script::load_from(r#" [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 206 | | descr = "verify_false" [INFO] [stderr] 207 | | [INFO] [stderr] 208 | | function verify(user, password) [INFO] [stderr] 209 | | return false [INFO] [stderr] 210 | | end [INFO] [stderr] 211 | | "#.as_bytes()).unwrap(); [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] help: consider using a byte string literal instead [INFO] [stderr] | [INFO] [stderr] 205 | let script = Script::load_from(br#" [INFO] [stderr] 206 | descr = "verify_false" [INFO] [stderr] 207 | [INFO] [stderr] 208 | function verify(user, password) [INFO] [stderr] 209 | return false [INFO] [stderr] 210 | end [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/ctx.rs:219:40 [INFO] [stderr] | [INFO] [stderr] 219 | let script = Script::load_from(r#" [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 220 | | descr = "verify_false" [INFO] [stderr] 221 | | [INFO] [stderr] 222 | | function verify(user, password) [INFO] [stderr] 223 | | return true [INFO] [stderr] 224 | | end [INFO] [stderr] 225 | | "#.as_bytes()).unwrap(); [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] help: consider using a byte string literal instead [INFO] [stderr] | [INFO] [stderr] 219 | let script = Script::load_from(br#" [INFO] [stderr] 220 | descr = "verify_false" [INFO] [stderr] 221 | [INFO] [stderr] 222 | function verify(user, password) [INFO] [stderr] 223 | return true [INFO] [stderr] 224 | end [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/ctx.rs:233:40 [INFO] [stderr] | [INFO] [stderr] 233 | let script = Script::load_from(r#" [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 234 | | descr = "slow script" [INFO] [stderr] 235 | | [INFO] [stderr] 236 | | function verify(user, password) [INFO] [stderr] ... | [INFO] [stderr] 239 | | end [INFO] [stderr] 240 | | "#.as_bytes()).unwrap(); [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] help: consider using a byte string literal instead [INFO] [stderr] | [INFO] [stderr] 233 | let script = Script::load_from(br#" [INFO] [stderr] 234 | descr = "slow script" [INFO] [stderr] 235 | [INFO] [stderr] 236 | function verify(user, password) [INFO] [stderr] 237 | sleep(1) [INFO] [stderr] 238 | return true [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/ctx.rs:248:40 [INFO] [stderr] | [INFO] [stderr] 248 | let script = Script::load_from(r#" [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 249 | | descr = "basic auth httpbin.org" [INFO] [stderr] 250 | | [INFO] [stderr] 251 | | function verify(user, password) [INFO] [stderr] 252 | | return http_basic_auth("https://httpbin.org/basic-auth/foo/buzz", user, password) [INFO] [stderr] 253 | | end [INFO] [stderr] 254 | | "#.as_bytes()).unwrap(); [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] help: consider using a byte string literal instead [INFO] [stderr] | [INFO] [stderr] 248 | let script = Script::load_from(br#" [INFO] [stderr] 249 | descr = "basic auth httpbin.org" [INFO] [stderr] 250 | [INFO] [stderr] 251 | function verify(user, password) [INFO] [stderr] 252 | return http_basic_auth("https://httpbin.org/basic-auth/foo/buzz", user, password) [INFO] [stderr] 253 | end [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/ctx.rs:262:40 [INFO] [stderr] | [INFO] [stderr] 262 | let script = Script::load_from(r#" [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 263 | | descr = "basic auth httpbin.org" [INFO] [stderr] 264 | | [INFO] [stderr] 265 | | function verify(user, password) [INFO] [stderr] 266 | | return http_basic_auth("https://httpbin.org/basic-auth/foo/buzz", user, password) [INFO] [stderr] 267 | | end [INFO] [stderr] 268 | | "#.as_bytes()).unwrap(); [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] help: consider using a byte string literal instead [INFO] [stderr] | [INFO] [stderr] 262 | let script = Script::load_from(br#" [INFO] [stderr] 263 | descr = "basic auth httpbin.org" [INFO] [stderr] 264 | [INFO] [stderr] 265 | function verify(user, password) [INFO] [stderr] 266 | return http_basic_auth("https://httpbin.org/basic-auth/foo/buzz", user, password) [INFO] [stderr] 267 | end [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/ctx.rs:276:40 [INFO] [stderr] | [INFO] [stderr] 276 | let script = Script::load_from(r#" [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 277 | | descr = "hex test" [INFO] [stderr] 278 | | [INFO] [stderr] 279 | | function verify(user, password) [INFO] [stderr] ... | [INFO] [stderr] 282 | | end [INFO] [stderr] 283 | | "#.as_bytes()).unwrap(); [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] help: consider using a byte string literal instead [INFO] [stderr] | [INFO] [stderr] 276 | let script = Script::load_from(br#" [INFO] [stderr] 277 | descr = "hex test" [INFO] [stderr] 278 | [INFO] [stderr] 279 | function verify(user, password) [INFO] [stderr] 280 | x = hex({0x6F, 0x68, 0x61, 0x69, 0x0A, 0x00}) [INFO] [stderr] 281 | return x == "6f6861690a00" [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/ctx.rs:291:40 [INFO] [stderr] | [INFO] [stderr] 291 | let script = Script::load_from(r#" [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 292 | | descr = "hex test" [INFO] [stderr] 293 | | [INFO] [stderr] 294 | | function verify(user, password) [INFO] [stderr] ... | [INFO] [stderr] 297 | | end [INFO] [stderr] 298 | | "#.as_bytes()).unwrap(); [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] help: consider using a byte string literal instead [INFO] [stderr] | [INFO] [stderr] 291 | let script = Script::load_from(br#" [INFO] [stderr] 292 | descr = "hex test" [INFO] [stderr] 293 | [INFO] [stderr] 294 | function verify(user, password) [INFO] [stderr] 295 | x = hex({}) [INFO] [stderr] 296 | return x == "" [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/ctx.rs:306:40 [INFO] [stderr] | [INFO] [stderr] 306 | let script = Script::load_from(r#" [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 307 | | descr = "json" [INFO] [stderr] 308 | | [INFO] [stderr] 309 | | function verify(user, password) [INFO] [stderr] ... | [INFO] [stderr] 321 | | end [INFO] [stderr] 322 | | "#.as_bytes()).unwrap(); [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] help: consider using a byte string literal instead [INFO] [stderr] | [INFO] [stderr] 306 | let script = Script::load_from(br#" [INFO] [stderr] 307 | descr = "json" [INFO] [stderr] 308 | [INFO] [stderr] 309 | function verify(user, password) [INFO] [stderr] 310 | json_encode({ [INFO] [stderr] 311 | hello="world", [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/ctx.rs:330:40 [INFO] [stderr] | [INFO] [stderr] 330 | let script = Script::load_from(r#" [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 331 | | descr = "json" [INFO] [stderr] 332 | | [INFO] [stderr] 333 | | function verify(user, password) [INFO] [stderr] ... | [INFO] [stderr] 347 | | end [INFO] [stderr] 348 | | "#.as_bytes()).unwrap(); [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] help: consider using a byte string literal instead [INFO] [stderr] | [INFO] [stderr] 330 | let script = Script::load_from(br#" [INFO] [stderr] 331 | descr = "json" [INFO] [stderr] 332 | [INFO] [stderr] 333 | function verify(user, password) [INFO] [stderr] 334 | x = json_encode({ [INFO] [stderr] 335 | hello="world", [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/ctx.rs:356:40 [INFO] [stderr] | [INFO] [stderr] 356 | let script = Script::load_from(r#" [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 357 | | descr = "json" [INFO] [stderr] 358 | | [INFO] [stderr] 359 | | function verify(user, password) [INFO] [stderr] ... | [INFO] [stderr] 362 | | end [INFO] [stderr] 363 | | "#.as_bytes()).unwrap(); [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] help: consider using a byte string literal instead [INFO] [stderr] | [INFO] [stderr] 356 | let script = Script::load_from(br#" [INFO] [stderr] 357 | descr = "json" [INFO] [stderr] 358 | [INFO] [stderr] 359 | function verify(user, password) [INFO] [stderr] 360 | json_decode("{\"almost_one\":0.9999,\"data\":{\"password\":\"fizz\",\"user\":\"bar\"},\"hello\":\"world\",\"list\":[1,3,3,7]}") [INFO] [stderr] 361 | return true [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/ctx.rs:371:40 [INFO] [stderr] | [INFO] [stderr] 371 | let script = Script::load_from(r#" [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 372 | | descr = "json" [INFO] [stderr] 373 | | [INFO] [stderr] 374 | | function verify(user, password) [INFO] [stderr] ... | [INFO] [stderr] 377 | | end [INFO] [stderr] 378 | | "#.as_bytes()).unwrap(); [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] help: consider using a byte string literal instead [INFO] [stderr] | [INFO] [stderr] 371 | let script = Script::load_from(br#" [INFO] [stderr] 372 | descr = "json" [INFO] [stderr] 373 | [INFO] [stderr] 374 | function verify(user, password) [INFO] [stderr] 375 | json_decode("{\"almost_one\":0.9999,\"data\":{\"password\":\"fizz\",\"user\":\"bar\"}}}}}}}}}") [INFO] [stderr] 376 | return true [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/fsck.rs:23:30 [INFO] [stderr] | [INFO] [stderr] 23 | if line.find(":").is_some() || !args.require_colon { [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/html.rs:57:21 [INFO] [stderr] | [INFO] [stderr] 57 | Ok(x) => Ok(x.into_iter().map(transform_element).collect()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `x` [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: casting u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/http.rs:141:35 [INFO] [stderr] | [INFO] [stderr] 141 | resp.insert_num("status", status.as_u16() as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(status.as_u16())` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/http.rs:160:43 [INFO] [stderr] | [INFO] [stderr] 160 | fn register_cookies_on_state(session: &String, state: &State, cookies: &reqwest::header::Raw) { [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 `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/json.rs:23:33 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn lua_array_is_list(array: &Vec<(AnyLuaValue, AnyLuaValue)>) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(AnyLuaValue, AnyLuaValue)]` [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: length comparison to zero [INFO] [stderr] --> src/json.rs:24:8 [INFO] [stderr] | [INFO] [stderr] 24 | if array.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!array.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/json.rs:79:38 [INFO] [stderr] | [INFO] [stderr] 79 | LuaJsonValue::Number(match v % 1f64 == 0f64 { [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 80 | | true => (v as u64).into(), [INFO] [stderr] 81 | | false => Number::from_f64(v).expect("invalid LuaJson::Number"), [INFO] [stderr] 82 | | }) [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if v % 1f64 == 0f64 { (v as u64).into() } else { Number::from_f64(v).expect("invalid LuaJson::Number") }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/json.rs:93:64 [INFO] [stderr] | [INFO] [stderr] 93 | AnyLuaValue::LuaString(k) => Some((k.into(), v.into())), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `k` [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: this boolean expression can be simplified [INFO] [stderr] --> src/runtime.rs:310:12 [INFO] [stderr] | [INFO] [stderr] 310 | if !result.success().is_ok() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `result.success().is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/scheduler.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | Attempt(Attempt, Result), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] --> src/scheduler.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | Attempt(Attempt, Result), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] [INFO] [stderr] warning: Consider using an AtomicBool instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> src/scheduler.rs:58:38 [INFO] [stderr] | [INFO] [stderr] 58 | pause_trigger: Arc::new((Mutex::new(true), Condvar::new())), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::mutex_atomic)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [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/structs.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | / match k { [INFO] [stderr] 55 | | AnyLuaValue::LuaString(k) => map.insert(k, v), [INFO] [stderr] 56 | | _ => (), // TODO: handle unknown types [INFO] [stderr] 57 | | } [INFO] [stderr] | |_____________^ help: try this: `if let AnyLuaValue::LuaString(k) = k { map.insert(k, v) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/main.rs:83:28 [INFO] [stderr] | [INFO] [stderr] 83 | .map(|x| x.map(|x| Arc::new(x))) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove closure as shown: `Arc::new` [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: passing a unit value to a function [INFO] [stderr] --> src/main.rs:126:20 [INFO] [stderr] | [INFO] [stderr] 126 | Ok(writeln!(f, "{}:{}:{}", attempt.script.descr(), attempt.user, attempt.password)?) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 126 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:173:51 [INFO] [stderr] | [INFO] [stderr] 173 | if let Some(idx) = x.find(":") { [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] Finished dev [unoptimized + debuginfo] target(s) in 1m 40s [INFO] running `"docker" "inspect" "ed8361e66be4af3518c24ee4ff58c641a834ef4021a2e7e81ca2c7d4de338e10"` [INFO] running `"docker" "rm" "-f" "ed8361e66be4af3518c24ee4ff58c641a834ef4021a2e7e81ca2c7d4de338e10"` [INFO] [stdout] ed8361e66be4af3518c24ee4ff58c641a834ef4021a2e7e81ca2c7d4de338e10