[INFO] crate parse_qapi 0.1.2 is already in cache [INFO] extracting crate parse_qapi 0.1.2 into work/ex/clippy-test-run/sources/stable/reg/parse_qapi/0.1.2 [INFO] extracting crate parse_qapi 0.1.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/parse_qapi/0.1.2 [INFO] validating manifest of parse_qapi-0.1.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 parse_qapi-0.1.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 parse_qapi-0.1.2 [INFO] finished frobbing parse_qapi-0.1.2 [INFO] frobbed toml for parse_qapi-0.1.2 written to work/ex/clippy-test-run/sources/stable/reg/parse_qapi/0.1.2/Cargo.toml [INFO] started frobbing parse_qapi-0.1.2 [INFO] finished frobbing parse_qapi-0.1.2 [INFO] frobbed toml for parse_qapi-0.1.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/parse_qapi/0.1.2/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting parse_qapi-0.1.2 against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/parse_qapi/0.1.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 -Dclippy::into_iter_on_array" "-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] 0ab9251b4c42d696d4614fa9c4f7cb948e7b5af933bdf839b136fac4c6a2f5c5 [INFO] running `"docker" "start" "-a" "0ab9251b4c42d696d4614fa9c4f7cb948e7b5af933bdf839b136fac4c6a2f5c5"` [INFO] [stderr] Checking json v0.8.8 [INFO] [stderr] Checking parse_qapi v0.1.2 (/opt/crater/workdir) [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num` [INFO] [stderr] --> src/lib.rs:202:28 [INFO] [stderr] | [INFO] [stderr] 202 | &JsonValue::Number(num) => "f64".to_string(), [INFO] [stderr] | ^^^ help: consider using `_num` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/lib.rs:203:29 [INFO] [stderr] | [INFO] [stderr] 203 | &JsonValue::Boolean(b) => "bool".to_string(), [INFO] [stderr] | ^ help: consider using `_b` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `map` [INFO] [stderr] --> src/lib.rs:205:32 [INFO] [stderr] | [INFO] [stderr] 205 | &JsonValue::Object(ref map) => "struct".to_string(), [INFO] [stderr] | ^^^ help: consider using `_map` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `values` [INFO] [stderr] --> src/lib.rs:206:31 [INFO] [stderr] | [INFO] [stderr] 206 | &JsonValue::Array(ref values) => "Vec".to_string(), [INFO] [stderr] | ^^^^^^ help: consider using `_values` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/lib.rs:160:9 [INFO] [stderr] | [INFO] [stderr] 160 | let x: &[u8] = &[]; [INFO] [stderr] | ^ help: consider using `_x` instead [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/lib.rs:39:24 [INFO] [stderr] | [INFO] [stderr] 39 | fn sanitize_name(name: &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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:191:5 [INFO] [stderr] | [INFO] [stderr] 191 | / match input { [INFO] [stderr] 192 | | &JsonValue::String(ref s) => { [INFO] [stderr] 193 | | match s.as_ref() { [INFO] [stderr] 194 | | "uint64" => "u64".to_string(), [INFO] [stderr] ... | [INFO] [stderr] 206 | | &JsonValue::Array(ref values) => "Vec".to_string(), [INFO] [stderr] 207 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] warning: unused variable: `num` [INFO] [stderr] --> src/lib.rs:202:28 [INFO] [stderr] | [INFO] [stderr] 202 | &JsonValue::Number(num) => "f64".to_string(), [INFO] [stderr] | ^^^ help: consider using `_num` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/lib.rs:203:29 [INFO] [stderr] | [INFO] [stderr] 203 | &JsonValue::Boolean(b) => "bool".to_string(), [INFO] [stderr] | ^ help: consider using `_b` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `map` [INFO] [stderr] --> src/lib.rs:205:32 [INFO] [stderr] | [INFO] [stderr] 205 | &JsonValue::Object(ref map) => "struct".to_string(), [INFO] [stderr] | ^^^ help: consider using `_map` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `values` [INFO] [stderr] --> src/lib.rs:206:31 [INFO] [stderr] | [INFO] [stderr] 206 | &JsonValue::Array(ref values) => "Vec".to_string(), [INFO] [stderr] | ^^^^^^ help: consider using `_values` instead [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 191 | match *input { [INFO] [stderr] 192 | JsonValue::String(ref s) => { [INFO] [stderr] 193 | match s.as_ref() { [INFO] [stderr] 194 | "uint64" => "u64".to_string(), [INFO] [stderr] 195 | "uint32" => "u32".to_string(), [INFO] [stderr] 196 | "bool" => "bool".to_string(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:219:27 [INFO] [stderr] | [INFO] [stderr] 219 | pub fn to_rust_string(self) -> String { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:262:27 [INFO] [stderr] | [INFO] [stderr] 262 | pub fn to_rust_string(self) -> String { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib.rs:305:21 [INFO] [stderr] | [INFO] [stderr] 305 | / match name { [INFO] [stderr] 306 | | Some(n) => { [INFO] [stderr] 307 | | returns.push_str(&format!(r#" [INFO] [stderr] 308 | | fn parse_qemu_response(&self, response: &String) -> [INFO] [stderr] ... | [INFO] [stderr] 316 | | } [INFO] [stderr] 317 | | } [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] 305 | if let Some(n) = name { [INFO] [stderr] 306 | returns.push_str(&format!(r#" [INFO] [stderr] 307 | fn parse_qemu_response(&self, response: &String) -> [INFO] [stderr] 308 | rustc_json::DecodeResult<{name}>{{ [INFO] [stderr] 309 | rustc_json::decode(&response) [INFO] [stderr] 310 | }} [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:380:27 [INFO] [stderr] | [INFO] [stderr] 380 | pub fn to_rust_string(self) -> String { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:420:27 [INFO] [stderr] | [INFO] [stderr] 420 | pub fn to_rust_string(self) -> String { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:457:27 [INFO] [stderr] | [INFO] [stderr] 457 | pub fn to_rust_string(self) -> String { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib.rs:462:17 [INFO] [stderr] | [INFO] [stderr] 462 | / match f { [INFO] [stderr] 463 | | &JsonValue::String(ref s) => { [INFO] [stderr] 464 | | let name = sanitize_name(s); [INFO] [stderr] 465 | | struct_fields.push(format!("{name}", name=name)); [INFO] [stderr] 466 | | } [INFO] [stderr] 467 | | _ => {} [INFO] [stderr] 468 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 462 | if let &JsonValue::String(ref s) = f { [INFO] [stderr] 463 | let name = sanitize_name(s); [INFO] [stderr] 464 | struct_fields.push(format!("{name}", name=name)); [INFO] [stderr] 465 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:462:17 [INFO] [stderr] | [INFO] [stderr] 462 | / match f { [INFO] [stderr] 463 | | &JsonValue::String(ref s) => { [INFO] [stderr] 464 | | let name = sanitize_name(s); [INFO] [stderr] 465 | | struct_fields.push(format!("{name}", name=name)); [INFO] [stderr] 466 | | } [INFO] [stderr] 467 | | _ => {} [INFO] [stderr] 468 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 462 | match *f { [INFO] [stderr] 463 | JsonValue::String(ref s) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/lib.rs:530:17 [INFO] [stderr] | [INFO] [stderr] 530 | / let result: json::JsonResult; [INFO] [stderr] 531 | | if element.contains("#"){ [INFO] [stderr] 532 | | let clean_element = remove_comments(element); [INFO] [stderr] 533 | | result = json::parse(&clean_element); [INFO] [stderr] 534 | | }else{ [INFO] [stderr] 535 | | result = json::parse(&element); [INFO] [stderr] 536 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let result = if element.contains("#") { ..; json::parse(&clean_element) } else { json::parse(&element) };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:531:37 [INFO] [stderr] | [INFO] [stderr] 531 | if element.contains("#"){ [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/lib.rs:39:24 [INFO] [stderr] | [INFO] [stderr] 39 | fn sanitize_name(name: &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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:191:5 [INFO] [stderr] | [INFO] [stderr] 191 | / match input { [INFO] [stderr] 192 | | &JsonValue::String(ref s) => { [INFO] [stderr] 193 | | match s.as_ref() { [INFO] [stderr] 194 | | "uint64" => "u64".to_string(), [INFO] [stderr] ... | [INFO] [stderr] 206 | | &JsonValue::Array(ref values) => "Vec".to_string(), [INFO] [stderr] 207 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 191 | match *input { [INFO] [stderr] 192 | JsonValue::String(ref s) => { [INFO] [stderr] 193 | match s.as_ref() { [INFO] [stderr] 194 | "uint64" => "u64".to_string(), [INFO] [stderr] 195 | "uint32" => "u32".to_string(), [INFO] [stderr] 196 | "bool" => "bool".to_string(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:219:27 [INFO] [stderr] | [INFO] [stderr] 219 | pub fn to_rust_string(self) -> String { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:262:27 [INFO] [stderr] | [INFO] [stderr] 262 | pub fn to_rust_string(self) -> String { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib.rs:305:21 [INFO] [stderr] | [INFO] [stderr] 305 | / match name { [INFO] [stderr] 306 | | Some(n) => { [INFO] [stderr] 307 | | returns.push_str(&format!(r#" [INFO] [stderr] 308 | | fn parse_qemu_response(&self, response: &String) -> [INFO] [stderr] ... | [INFO] [stderr] 316 | | } [INFO] [stderr] 317 | | } [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] 305 | if let Some(n) = name { [INFO] [stderr] 306 | returns.push_str(&format!(r#" [INFO] [stderr] 307 | fn parse_qemu_response(&self, response: &String) -> [INFO] [stderr] 308 | rustc_json::DecodeResult<{name}>{{ [INFO] [stderr] 309 | rustc_json::decode(&response) [INFO] [stderr] 310 | }} [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:380:27 [INFO] [stderr] | [INFO] [stderr] 380 | pub fn to_rust_string(self) -> String { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:420:27 [INFO] [stderr] | [INFO] [stderr] 420 | pub fn to_rust_string(self) -> String { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:457:27 [INFO] [stderr] | [INFO] [stderr] 457 | pub fn to_rust_string(self) -> String { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib.rs:462:17 [INFO] [stderr] | [INFO] [stderr] 462 | / match f { [INFO] [stderr] 463 | | &JsonValue::String(ref s) => { [INFO] [stderr] 464 | | let name = sanitize_name(s); [INFO] [stderr] 465 | | struct_fields.push(format!("{name}", name=name)); [INFO] [stderr] 466 | | } [INFO] [stderr] 467 | | _ => {} [INFO] [stderr] 468 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 462 | if let &JsonValue::String(ref s) = f { [INFO] [stderr] 463 | let name = sanitize_name(s); [INFO] [stderr] 464 | struct_fields.push(format!("{name}", name=name)); [INFO] [stderr] 465 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:462:17 [INFO] [stderr] | [INFO] [stderr] 462 | / match f { [INFO] [stderr] 463 | | &JsonValue::String(ref s) => { [INFO] [stderr] 464 | | let name = sanitize_name(s); [INFO] [stderr] 465 | | struct_fields.push(format!("{name}", name=name)); [INFO] [stderr] 466 | | } [INFO] [stderr] 467 | | _ => {} [INFO] [stderr] 468 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 462 | match *f { [INFO] [stderr] 463 | JsonValue::String(ref s) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/lib.rs:530:17 [INFO] [stderr] | [INFO] [stderr] 530 | / let result: json::JsonResult; [INFO] [stderr] 531 | | if element.contains("#"){ [INFO] [stderr] 532 | | let clean_element = remove_comments(element); [INFO] [stderr] 533 | | result = json::parse(&clean_element); [INFO] [stderr] 534 | | }else{ [INFO] [stderr] 535 | | result = json::parse(&element); [INFO] [stderr] 536 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let result = if element.contains("#") { ..; json::parse(&clean_element) } else { json::parse(&element) };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:531:37 [INFO] [stderr] | [INFO] [stderr] 531 | if element.contains("#"){ [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] Finished dev [unoptimized + debuginfo] target(s) in 2.25s [INFO] running `"docker" "inspect" "0ab9251b4c42d696d4614fa9c4f7cb948e7b5af933bdf839b136fac4c6a2f5c5"` [INFO] running `"docker" "rm" "-f" "0ab9251b4c42d696d4614fa9c4f7cb948e7b5af933bdf839b136fac4c6a2f5c5"` [INFO] [stdout] 0ab9251b4c42d696d4614fa9c4f7cb948e7b5af933bdf839b136fac4c6a2f5c5