[INFO] crate varlink_parser 2.2.2 is already in cache [INFO] extracting crate varlink_parser 2.2.2 into work/ex/clippy-test-run/sources/stable/reg/varlink_parser/2.2.2 [INFO] extracting crate varlink_parser 2.2.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/varlink_parser/2.2.2 [INFO] validating manifest of varlink_parser-2.2.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 varlink_parser-2.2.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 varlink_parser-2.2.2 [INFO] finished frobbing varlink_parser-2.2.2 [INFO] frobbed toml for varlink_parser-2.2.2 written to work/ex/clippy-test-run/sources/stable/reg/varlink_parser/2.2.2/Cargo.toml [INFO] started frobbing varlink_parser-2.2.2 [INFO] finished frobbing varlink_parser-2.2.2 [INFO] frobbed toml for varlink_parser-2.2.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/varlink_parser/2.2.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 varlink_parser-2.2.2 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/varlink_parser/2.2.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] 63570b12725e71203c0a56149b5db11a119c3cad81b58f47e58fc9d2c00f97fd [INFO] running `"docker" "start" "-a" "63570b12725e71203c0a56149b5db11a119c3cad81b58f47e58fc9d2c00f97fd"` [INFO] [stderr] Compiling varlink_parser v2.2.2 (/opt/crater/workdir) [INFO] [stderr] warning: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/test.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | / v.interface [INFO] [stderr] 48 | | .methods [INFO] [stderr] 49 | | .get("GetInterfaceDescription".into()) [INFO] [stderr] 50 | | .unwrap() [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 47 | &v.interface [INFO] [stderr] 48 | .methods["GetInterfaceDescription".into()] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/test.rs:49:18 [INFO] [stderr] | [INFO] [stderr] 49 | .get("GetInterfaceDescription".into()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `"GetInterfaceDescription"` [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: the function has a cyclomatic complexity of 32 [INFO] [stderr] --> src/test.rs:213:1 [INFO] [stderr] | [INFO] [stderr] 213 | / fn test_domainnames() { [INFO] [stderr] 214 | | assert!(Varlink::from_string("interface org.varlink.service\nmethod F()->()").is_ok()); [INFO] [stderr] 215 | | assert!(Varlink::from_string("interface com.example.0example\nmethod F()->()").is_ok()); [INFO] [stderr] 216 | | assert!(Varlink::from_string("interface com.example.example-dash\nmethod F()->()").is_ok()); [INFO] [stderr] ... | [INFO] [stderr] 250 | | assert!(Varlink::from_string("interface a.?\nmethod F()->()").is_err()); [INFO] [stderr] 251 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/varlink_grammar.rs:43:12 [INFO] [stderr] | [INFO] [stderr] 43 | if self.expected.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.expected.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 appear to be counting bytes the naive way [INFO] [stderr] --> src/varlink_grammar.rs:111:16 [INFO] [stderr] | [INFO] [stderr] 111 | let line = before.as_bytes().iter().filter(|&&c| c == b'\n').count() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider using the bytecount crate: `bytecount::count(before.as_bytes(), b'\n')` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::naive_bytecount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#naive_bytecount [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/varlink_grammar.rs:412:67 [INFO] [stderr] | [INFO] [stderr] 412 | Matched(__pos, __value) => Matched(__pos, __value), [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] 412 | Matched(__pos, __value) => Matched(__pos, ()), [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/varlink_grammar.rs:419:75 [INFO] [stderr] | [INFO] [stderr] 419 | Matched(__pos, __value) => Matched(__pos, __value), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [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] 419 | Matched(__pos, __value) => Matched(__pos, ()), [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 27 [INFO] [stderr] --> src/varlink_grammar.rs:570:1 [INFO] [stderr] | [INFO] [stderr] 570 | / fn __parse_interface_name<'input>( [INFO] [stderr] 571 | | __input: &'input str, [INFO] [stderr] 572 | | __state: &mut ParseState<'input>, [INFO] [stderr] 573 | | __pos: usize, [INFO] [stderr] ... | [INFO] [stderr] 787 | | } [INFO] [stderr] 788 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/varlink_grammar.rs:754:69 [INFO] [stderr] | [INFO] [stderr] 754 | __repeat_value.push(__value); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [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] 754 | __repeat_value.push(()); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/varlink_grammar.rs:761:40 [INFO] [stderr] | [INFO] [stderr] 761 | if __repeat_value.len() >= 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!__repeat_value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/varlink_grammar.rs:1259:48 [INFO] [stderr] | [INFO] [stderr] 1259 | let __pos = if __repeat_value.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!__repeat_value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/varlink_grammar.rs:1362:48 [INFO] [stderr] | [INFO] [stderr] 1362 | let __pos = if __repeat_value.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!__repeat_value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 34 [INFO] [stderr] --> src/varlink_grammar.rs:1454:1 [INFO] [stderr] | [INFO] [stderr] 1454 | / fn __parse_vtypedef<'input>( [INFO] [stderr] 1455 | | __input: &'input str, [INFO] [stderr] 1456 | | __state: &mut ParseState<'input>, [INFO] [stderr] 1457 | | __pos: usize, [INFO] [stderr] ... | [INFO] [stderr] 1713 | | } [INFO] [stderr] 1714 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/varlink_grammar.rs:1504:65 [INFO] [stderr] | [INFO] [stderr] 1504 | __repeat_value.push(__value); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [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] 1504 | __repeat_value.push(()); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/varlink_grammar.rs:1511:36 [INFO] [stderr] | [INFO] [stderr] 1511 | if __repeat_value.len() >= 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!__repeat_value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/varlink_grammar.rs:1630:69 [INFO] [stderr] | [INFO] [stderr] 1630 | __repeat_value.push(__value); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [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] 1630 | __repeat_value.push(()); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/varlink_grammar.rs:1637:40 [INFO] [stderr] | [INFO] [stderr] 1637 | if __repeat_value.len() >= 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!__repeat_value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/varlink_grammar.rs:1765:61 [INFO] [stderr] | [INFO] [stderr] 1765 | __repeat_value.push(__value); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [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] 1765 | __repeat_value.push(()); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/varlink_grammar.rs:1772:32 [INFO] [stderr] | [INFO] [stderr] 1772 | if __repeat_value.len() >= 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!__repeat_value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/varlink_grammar.rs:1895:61 [INFO] [stderr] | [INFO] [stderr] 1895 | __repeat_value.push(__value); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [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] 1895 | __repeat_value.push(()); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/varlink_grammar.rs:1902:32 [INFO] [stderr] | [INFO] [stderr] 1902 | if __repeat_value.len() >= 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!__repeat_value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/varlink_grammar.rs:2169:61 [INFO] [stderr] | [INFO] [stderr] 2169 | __repeat_value.push(__value); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [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] 2169 | __repeat_value.push(()); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/varlink_grammar.rs:2176:32 [INFO] [stderr] | [INFO] [stderr] 2176 | if __repeat_value.len() >= 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!__repeat_value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/varlink_grammar.rs:2209:72 [INFO] [stderr] | [INFO] [stderr] 2209 | let __pos = if __repeat_value.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!__repeat_value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/varlink_grammar.rs:2235:56 [INFO] [stderr] | [INFO] [stderr] 2235 | if __repeat_value.len() >= 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!__repeat_value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/varlink_grammar.rs:2300:5 [INFO] [stderr] | [INFO] [stderr] 2300 | / match __parse_VInterface(__input, &mut __state, 0) { [INFO] [stderr] 2301 | | Matched(__pos, __value) => { [INFO] [stderr] 2302 | | if __pos == __input.len() { [INFO] [stderr] 2303 | | return Ok(__value); [INFO] [stderr] ... | [INFO] [stderr] 2306 | | _ => {} [INFO] [stderr] 2307 | | } [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] 2300 | if let Matched(__pos, __value) = __parse_VInterface(__input, &mut __state, 0) { [INFO] [stderr] 2301 | if __pos == __input.len() { [INFO] [stderr] 2302 | return Ok(__value); [INFO] [stderr] 2303 | } [INFO] [stderr] 2304 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/lib.rs:407:23 [INFO] [stderr] | [INFO] [stderr] 407 | f += &format!(",\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using .to_string(): `",\n".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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:606:24 [INFO] [stderr] | [INFO] [stderr] 606 | .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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:656:28 [INFO] [stderr] | [INFO] [stderr] 656 | .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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:719:28 [INFO] [stderr] | [INFO] [stderr] 719 | .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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:816:24 [INFO] [stderr] | [INFO] [stderr] 816 | .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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:842:28 [INFO] [stderr] | [INFO] [stderr] 842 | .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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:884:28 [INFO] [stderr] | [INFO] [stderr] 884 | .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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:955:28 [INFO] [stderr] | [INFO] [stderr] 955 | .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: length comparison to zero [INFO] [stderr] --> src/varlink_grammar.rs:43:12 [INFO] [stderr] | [INFO] [stderr] 43 | if self.expected.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.expected.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 appear to be counting bytes the naive way [INFO] [stderr] --> src/varlink_grammar.rs:111:16 [INFO] [stderr] | [INFO] [stderr] 111 | let line = before.as_bytes().iter().filter(|&&c| c == b'\n').count() + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider using the bytecount crate: `bytecount::count(before.as_bytes(), b'\n')` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::naive_bytecount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#naive_bytecount [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/varlink_grammar.rs:412:67 [INFO] [stderr] | [INFO] [stderr] 412 | Matched(__pos, __value) => Matched(__pos, __value), [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] 412 | Matched(__pos, __value) => Matched(__pos, ()), [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/varlink_grammar.rs:419:75 [INFO] [stderr] | [INFO] [stderr] 419 | Matched(__pos, __value) => Matched(__pos, __value), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [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] 419 | Matched(__pos, __value) => Matched(__pos, ()), [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 27 [INFO] [stderr] --> src/varlink_grammar.rs:570:1 [INFO] [stderr] | [INFO] [stderr] 570 | / fn __parse_interface_name<'input>( [INFO] [stderr] 571 | | __input: &'input str, [INFO] [stderr] 572 | | __state: &mut ParseState<'input>, [INFO] [stderr] 573 | | __pos: usize, [INFO] [stderr] ... | [INFO] [stderr] 787 | | } [INFO] [stderr] 788 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/varlink_grammar.rs:754:69 [INFO] [stderr] | [INFO] [stderr] 754 | __repeat_value.push(__value); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [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] 754 | __repeat_value.push(()); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/varlink_grammar.rs:761:40 [INFO] [stderr] | [INFO] [stderr] 761 | if __repeat_value.len() >= 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!__repeat_value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/varlink_grammar.rs:1259:48 [INFO] [stderr] | [INFO] [stderr] 1259 | let __pos = if __repeat_value.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!__repeat_value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/varlink_grammar.rs:1362:48 [INFO] [stderr] | [INFO] [stderr] 1362 | let __pos = if __repeat_value.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!__repeat_value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 34 [INFO] [stderr] --> src/varlink_grammar.rs:1454:1 [INFO] [stderr] | [INFO] [stderr] 1454 | / fn __parse_vtypedef<'input>( [INFO] [stderr] 1455 | | __input: &'input str, [INFO] [stderr] 1456 | | __state: &mut ParseState<'input>, [INFO] [stderr] 1457 | | __pos: usize, [INFO] [stderr] ... | [INFO] [stderr] 1713 | | } [INFO] [stderr] 1714 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/varlink_grammar.rs:1504:65 [INFO] [stderr] | [INFO] [stderr] 1504 | __repeat_value.push(__value); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [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] 1504 | __repeat_value.push(()); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/varlink_grammar.rs:1511:36 [INFO] [stderr] | [INFO] [stderr] 1511 | if __repeat_value.len() >= 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!__repeat_value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/varlink_grammar.rs:1630:69 [INFO] [stderr] | [INFO] [stderr] 1630 | __repeat_value.push(__value); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [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] 1630 | __repeat_value.push(()); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/varlink_grammar.rs:1637:40 [INFO] [stderr] | [INFO] [stderr] 1637 | if __repeat_value.len() >= 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!__repeat_value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/varlink_grammar.rs:1765:61 [INFO] [stderr] | [INFO] [stderr] 1765 | __repeat_value.push(__value); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [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] 1765 | __repeat_value.push(()); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/varlink_grammar.rs:1772:32 [INFO] [stderr] | [INFO] [stderr] 1772 | if __repeat_value.len() >= 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!__repeat_value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/varlink_grammar.rs:1895:61 [INFO] [stderr] | [INFO] [stderr] 1895 | __repeat_value.push(__value); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [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] 1895 | __repeat_value.push(()); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/varlink_grammar.rs:1902:32 [INFO] [stderr] | [INFO] [stderr] 1902 | if __repeat_value.len() >= 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!__repeat_value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/varlink_grammar.rs:2169:61 [INFO] [stderr] | [INFO] [stderr] 2169 | __repeat_value.push(__value); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [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] 2169 | __repeat_value.push(()); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/varlink_grammar.rs:2176:32 [INFO] [stderr] | [INFO] [stderr] 2176 | if __repeat_value.len() >= 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!__repeat_value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/varlink_grammar.rs:2209:72 [INFO] [stderr] | [INFO] [stderr] 2209 | let __pos = if __repeat_value.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!__repeat_value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/varlink_grammar.rs:2235:56 [INFO] [stderr] | [INFO] [stderr] 2235 | if __repeat_value.len() >= 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!__repeat_value.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/varlink_grammar.rs:2300:5 [INFO] [stderr] | [INFO] [stderr] 2300 | / match __parse_VInterface(__input, &mut __state, 0) { [INFO] [stderr] 2301 | | Matched(__pos, __value) => { [INFO] [stderr] 2302 | | if __pos == __input.len() { [INFO] [stderr] 2303 | | return Ok(__value); [INFO] [stderr] ... | [INFO] [stderr] 2306 | | _ => {} [INFO] [stderr] 2307 | | } [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] 2300 | if let Matched(__pos, __value) = __parse_VInterface(__input, &mut __state, 0) { [INFO] [stderr] 2301 | if __pos == __input.len() { [INFO] [stderr] 2302 | return Ok(__value); [INFO] [stderr] 2303 | } [INFO] [stderr] 2304 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/lib.rs:407:23 [INFO] [stderr] | [INFO] [stderr] 407 | f += &format!(",\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using .to_string(): `",\n".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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:606:24 [INFO] [stderr] | [INFO] [stderr] 606 | .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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:656:28 [INFO] [stderr] | [INFO] [stderr] 656 | .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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:719:28 [INFO] [stderr] | [INFO] [stderr] 719 | .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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:816:24 [INFO] [stderr] | [INFO] [stderr] 816 | .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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:842:28 [INFO] [stderr] | [INFO] [stderr] 842 | .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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:884:28 [INFO] [stderr] | [INFO] [stderr] 884 | .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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:955:28 [INFO] [stderr] | [INFO] [stderr] 955 | .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] Finished dev [unoptimized + debuginfo] target(s) in 5.60s [INFO] running `"docker" "inspect" "63570b12725e71203c0a56149b5db11a119c3cad81b58f47e58fc9d2c00f97fd"` [INFO] running `"docker" "rm" "-f" "63570b12725e71203c0a56149b5db11a119c3cad81b58f47e58fc9d2c00f97fd"` [INFO] [stdout] 63570b12725e71203c0a56149b5db11a119c3cad81b58f47e58fc9d2c00f97fd