[INFO] crate nl80211-buildtools 0.1.0 is already in cache [INFO] extracting crate nl80211-buildtools 0.1.0 into work/ex/clippy-test-run/sources/stable/reg/nl80211-buildtools/0.1.0 [INFO] extracting crate nl80211-buildtools 0.1.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/nl80211-buildtools/0.1.0 [INFO] validating manifest of nl80211-buildtools-0.1.0 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 nl80211-buildtools-0.1.0 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 nl80211-buildtools-0.1.0 [INFO] finished frobbing nl80211-buildtools-0.1.0 [INFO] frobbed toml for nl80211-buildtools-0.1.0 written to work/ex/clippy-test-run/sources/stable/reg/nl80211-buildtools/0.1.0/Cargo.toml [INFO] started frobbing nl80211-buildtools-0.1.0 [INFO] finished frobbing nl80211-buildtools-0.1.0 [INFO] frobbed toml for nl80211-buildtools-0.1.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/nl80211-buildtools/0.1.0/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 nl80211-buildtools-0.1.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/nl80211-buildtools/0.1.0:/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] 08e21d42a430f9aa6045a2b22703c9ae1700a054486da6c998dccec20dcc5aa8 [INFO] running `"docker" "start" "-a" "08e21d42a430f9aa6045a2b22703c9ae1700a054486da6c998dccec20dcc5aa8"` [INFO] [stderr] Checking nl80211-buildtools v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: using `writeln!(&out_file, "")` [INFO] [stderr] --> src/lib.rs:194:9 [INFO] [stderr] | [INFO] [stderr] 194 | writeln!(&out_file, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(&out_file)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::writeln_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(&out_file, "")` [INFO] [stderr] --> src/lib.rs:194:9 [INFO] [stderr] | [INFO] [stderr] 194 | writeln!(&out_file, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(&out_file)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::writeln_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:23:22 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn type_size(&self) -> usize { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:23:22 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn type_size(&self) -> usize { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/bin/specgen.rs:356:13 [INFO] [stderr] | [INFO] [stderr] 356 | enumerations: enumerations, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `enumerations` [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/bin/specgen.rs:357:13 [INFO] [stderr] | [INFO] [stderr] 357 | attributes: attributes, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `attributes` [INFO] [stderr] | [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/bin/specgen.rs:356:13 [INFO] [stderr] | [INFO] [stderr] 356 | enumerations: enumerations, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `enumerations` [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/bin/specgen.rs:357:13 [INFO] [stderr] | [INFO] [stderr] 357 | attributes: attributes, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `attributes` [INFO] [stderr] | [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: unneeded return statement [INFO] [stderr] --> src/bin/specgen.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | return name; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `name` [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/bin/specgen.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | return name; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `name` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/bin/specgen.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | / match text.find("u64") { [INFO] [stderr] 73 | | Some(_) => { [INFO] [stderr] 74 | | data_type = Some(ValueType::u64); [INFO] [stderr] 75 | | }, [INFO] [stderr] 76 | | None => {}, [INFO] [stderr] 77 | | } [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] 72 | if let Some(_) = text.find("u64") { [INFO] [stderr] 73 | data_type = Some(ValueType::u64); [INFO] [stderr] 74 | } [INFO] [stderr] | [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/bin/specgen.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | / match text.find("u32") { [INFO] [stderr] 79 | | Some(_) => { [INFO] [stderr] 80 | | data_type = Some(ValueType::u32); [INFO] [stderr] 81 | | }, [INFO] [stderr] 82 | | None => {}, [INFO] [stderr] 83 | | } [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] 78 | if let Some(_) = text.find("u32") { [INFO] [stderr] 79 | data_type = Some(ValueType::u32); [INFO] [stderr] 80 | } [INFO] [stderr] | [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/bin/specgen.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | / match text.find("u16") { [INFO] [stderr] 85 | | Some(_) => { [INFO] [stderr] 86 | | data_type = Some(ValueType::u16); [INFO] [stderr] 87 | | }, [INFO] [stderr] 88 | | None => {}, [INFO] [stderr] 89 | | } [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] 84 | if let Some(_) = text.find("u16") { [INFO] [stderr] 85 | data_type = Some(ValueType::u16); [INFO] [stderr] 86 | } [INFO] [stderr] | [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/bin/specgen.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | / match text.find("u8") { [INFO] [stderr] 91 | | Some(_) => { [INFO] [stderr] 92 | | data_type = Some(ValueType::u8); [INFO] [stderr] 93 | | }, [INFO] [stderr] 94 | | None => {}, [INFO] [stderr] 95 | | } [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] 90 | if let Some(_) = text.find("u8") { [INFO] [stderr] 91 | data_type = Some(ValueType::u8); [INFO] [stderr] 92 | } [INFO] [stderr] | [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/bin/specgen.rs:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | / match text.find("octet") { [INFO] [stderr] 97 | | Some(_) => { [INFO] [stderr] 98 | | data_type = Some(ValueType::bytes); [INFO] [stderr] 99 | | }, [INFO] [stderr] 100 | | None => {}, [INFO] [stderr] 101 | | } [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] 96 | if let Some(_) = text.find("octet") { [INFO] [stderr] 97 | data_type = Some(ValueType::bytes); [INFO] [stderr] 98 | } [INFO] [stderr] | [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/bin/specgen.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | / match text.find("bytes") { [INFO] [stderr] 103 | | Some(_) => { [INFO] [stderr] 104 | | data_type = Some(ValueType::bytes); [INFO] [stderr] 105 | | }, [INFO] [stderr] 106 | | None => {}, [INFO] [stderr] 107 | | } [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] 102 | if let Some(_) = text.find("bytes") { [INFO] [stderr] 103 | data_type = Some(ValueType::bytes); [INFO] [stderr] 104 | } [INFO] [stderr] | [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/bin/specgen.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | / match text.find("nested") { [INFO] [stderr] 109 | | Some(_) => { [INFO] [stderr] 110 | | data_type = Some(ValueType::nested); [INFO] [stderr] 111 | | }, [INFO] [stderr] 112 | | None => {}, [INFO] [stderr] 113 | | } [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] 108 | if let Some(_) = text.find("nested") { [INFO] [stderr] 109 | data_type = Some(ValueType::nested); [INFO] [stderr] 110 | } [INFO] [stderr] | [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/bin/specgen.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | / match bits_re.captures(&text) { [INFO] [stderr] 116 | | Some(cap) => { [INFO] [stderr] 117 | | let bits = cap.get(1).unwrap().as_str(); [INFO] [stderr] 118 | | if bits == "8" { [INFO] [stderr] ... | [INFO] [stderr] 135 | | None => {}, [INFO] [stderr] 136 | | } [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] 115 | if let Some(cap) = bits_re.captures(&text) { [INFO] [stderr] 116 | let bits = cap.get(1).unwrap().as_str(); [INFO] [stderr] 117 | if bits == "8" { [INFO] [stderr] 118 | data_type = Some(ValueType::u8); [INFO] [stderr] 119 | } [INFO] [stderr] 120 | if bits == "16" { [INFO] [stderr] ... [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/bin/specgen.rs:137:5 [INFO] [stderr] | [INFO] [stderr] 137 | / match text.find("enum") { [INFO] [stderr] 138 | | Some(_) => { [INFO] [stderr] 139 | | data_type = Some(ValueType::u32); [INFO] [stderr] 140 | | }, [INFO] [stderr] 141 | | None => {}, [INFO] [stderr] 142 | | } [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] 137 | if let Some(_) = text.find("enum") { [INFO] [stderr] 138 | data_type = Some(ValueType::u32); [INFO] [stderr] 139 | } [INFO] [stderr] | [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/bin/specgen.rs:143:5 [INFO] [stderr] | [INFO] [stderr] 143 | / match text.find("flag") { [INFO] [stderr] 144 | | Some(_) => { [INFO] [stderr] 145 | | data_type = Some(ValueType::flag); [INFO] [stderr] 146 | | }, [INFO] [stderr] 147 | | None => {}, [INFO] [stderr] 148 | | } [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] 143 | if let Some(_) = text.find("flag") { [INFO] [stderr] 144 | data_type = Some(ValueType::flag); [INFO] [stderr] 145 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/bin/specgen.rs:177:21 [INFO] [stderr] | [INFO] [stderr] 177 | index = index + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `index += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/bin/specgen.rs:185:21 [INFO] [stderr] | [INFO] [stderr] 185 | index = index + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `index += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/bin/specgen.rs:258:18 [INFO] [stderr] | [INFO] [stderr] 258 | let prefix = String::from(values[0].name.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `values[0].name.clone()` [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: attempt to mutate range bound within loop; note that the range of the loop is unchanged [INFO] [stderr] --> src/bin/specgen.rs:267:17 [INFO] [stderr] | [INFO] [stderr] 267 | prefix_len = end; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::mut_range_bound)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mut_range_bound [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/bin/specgen.rs:321:20 [INFO] [stderr] | [INFO] [stderr] 321 | if max_value > u32::max_value() as i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(u32::max_value())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/bin/specgen.rs:324:25 [INFO] [stderr] | [INFO] [stderr] 324 | else if max_value > u16::max_value() as i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(u16::max_value())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/bin/specgen.rs:327:25 [INFO] [stderr] | [INFO] [stderr] 327 | else if max_value > u8::max_value() as i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(u8::max_value())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/bin/specgen.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | / match text.find("u64") { [INFO] [stderr] 73 | | Some(_) => { [INFO] [stderr] 74 | | data_type = Some(ValueType::u64); [INFO] [stderr] 75 | | }, [INFO] [stderr] 76 | | None => {}, [INFO] [stderr] 77 | | } [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] 72 | if let Some(_) = text.find("u64") { [INFO] [stderr] 73 | data_type = Some(ValueType::u64); [INFO] [stderr] 74 | } [INFO] [stderr] | [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/bin/specgen.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | / match text.find("u32") { [INFO] [stderr] 79 | | Some(_) => { [INFO] [stderr] 80 | | data_type = Some(ValueType::u32); [INFO] [stderr] 81 | | }, [INFO] [stderr] 82 | | None => {}, [INFO] [stderr] 83 | | } [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] 78 | if let Some(_) = text.find("u32") { [INFO] [stderr] 79 | data_type = Some(ValueType::u32); [INFO] [stderr] 80 | } [INFO] [stderr] | [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/bin/specgen.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | / match text.find("u16") { [INFO] [stderr] 85 | | Some(_) => { [INFO] [stderr] 86 | | data_type = Some(ValueType::u16); [INFO] [stderr] 87 | | }, [INFO] [stderr] 88 | | None => {}, [INFO] [stderr] 89 | | } [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] 84 | if let Some(_) = text.find("u16") { [INFO] [stderr] 85 | data_type = Some(ValueType::u16); [INFO] [stderr] 86 | } [INFO] [stderr] | [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/bin/specgen.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | / match text.find("u8") { [INFO] [stderr] 91 | | Some(_) => { [INFO] [stderr] 92 | | data_type = Some(ValueType::u8); [INFO] [stderr] 93 | | }, [INFO] [stderr] 94 | | None => {}, [INFO] [stderr] 95 | | } [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] 90 | if let Some(_) = text.find("u8") { [INFO] [stderr] 91 | data_type = Some(ValueType::u8); [INFO] [stderr] 92 | } [INFO] [stderr] | [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/bin/specgen.rs:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | / match text.find("octet") { [INFO] [stderr] 97 | | Some(_) => { [INFO] [stderr] 98 | | data_type = Some(ValueType::bytes); [INFO] [stderr] 99 | | }, [INFO] [stderr] 100 | | None => {}, [INFO] [stderr] 101 | | } [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] 96 | if let Some(_) = text.find("octet") { [INFO] [stderr] 97 | data_type = Some(ValueType::bytes); [INFO] [stderr] 98 | } [INFO] [stderr] | [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/bin/specgen.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | / match text.find("bytes") { [INFO] [stderr] 103 | | Some(_) => { [INFO] [stderr] 104 | | data_type = Some(ValueType::bytes); [INFO] [stderr] 105 | | }, [INFO] [stderr] 106 | | None => {}, [INFO] [stderr] 107 | | } [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] 102 | if let Some(_) = text.find("bytes") { [INFO] [stderr] 103 | data_type = Some(ValueType::bytes); [INFO] [stderr] 104 | } [INFO] [stderr] | [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/bin/specgen.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | / match text.find("nested") { [INFO] [stderr] 109 | | Some(_) => { [INFO] [stderr] 110 | | data_type = Some(ValueType::nested); [INFO] [stderr] 111 | | }, [INFO] [stderr] 112 | | None => {}, [INFO] [stderr] 113 | | } [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] 108 | if let Some(_) = text.find("nested") { [INFO] [stderr] 109 | data_type = Some(ValueType::nested); [INFO] [stderr] 110 | } [INFO] [stderr] | [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/bin/specgen.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | / match bits_re.captures(&text) { [INFO] [stderr] 116 | | Some(cap) => { [INFO] [stderr] 117 | | let bits = cap.get(1).unwrap().as_str(); [INFO] [stderr] 118 | | if bits == "8" { [INFO] [stderr] ... | [INFO] [stderr] 135 | | None => {}, [INFO] [stderr] 136 | | } [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] 115 | if let Some(cap) = bits_re.captures(&text) { [INFO] [stderr] 116 | let bits = cap.get(1).unwrap().as_str(); [INFO] [stderr] 117 | if bits == "8" { [INFO] [stderr] 118 | data_type = Some(ValueType::u8); [INFO] [stderr] 119 | } [INFO] [stderr] 120 | if bits == "16" { [INFO] [stderr] ... [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/bin/specgen.rs:137:5 [INFO] [stderr] | [INFO] [stderr] 137 | / match text.find("enum") { [INFO] [stderr] 138 | | Some(_) => { [INFO] [stderr] 139 | | data_type = Some(ValueType::u32); [INFO] [stderr] 140 | | }, [INFO] [stderr] 141 | | None => {}, [INFO] [stderr] 142 | | } [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] 137 | if let Some(_) = text.find("enum") { [INFO] [stderr] 138 | data_type = Some(ValueType::u32); [INFO] [stderr] 139 | } [INFO] [stderr] | [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/bin/specgen.rs:143:5 [INFO] [stderr] | [INFO] [stderr] 143 | / match text.find("flag") { [INFO] [stderr] 144 | | Some(_) => { [INFO] [stderr] 145 | | data_type = Some(ValueType::flag); [INFO] [stderr] 146 | | }, [INFO] [stderr] 147 | | None => {}, [INFO] [stderr] 148 | | } [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] 143 | if let Some(_) = text.find("flag") { [INFO] [stderr] 144 | data_type = Some(ValueType::flag); [INFO] [stderr] 145 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/bin/specgen.rs:177:21 [INFO] [stderr] | [INFO] [stderr] 177 | index = index + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `index += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/bin/specgen.rs:185:21 [INFO] [stderr] | [INFO] [stderr] 185 | index = index + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `index += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/bin/specgen.rs:258:18 [INFO] [stderr] | [INFO] [stderr] 258 | let prefix = String::from(values[0].name.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `values[0].name.clone()` [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: attempt to mutate range bound within loop; note that the range of the loop is unchanged [INFO] [stderr] --> src/bin/specgen.rs:267:17 [INFO] [stderr] | [INFO] [stderr] 267 | prefix_len = end; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::mut_range_bound)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mut_range_bound [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/bin/specgen.rs:321:20 [INFO] [stderr] | [INFO] [stderr] 321 | if max_value > u32::max_value() as i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(u32::max_value())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/bin/specgen.rs:324:25 [INFO] [stderr] | [INFO] [stderr] 324 | else if max_value > u16::max_value() as i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(u16::max_value())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/bin/specgen.rs:327:25 [INFO] [stderr] | [INFO] [stderr] 327 | else if max_value > u8::max_value() as i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(u8::max_value())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 6.53s [INFO] running `"docker" "inspect" "08e21d42a430f9aa6045a2b22703c9ae1700a054486da6c998dccec20dcc5aa8"` [INFO] running `"docker" "rm" "-f" "08e21d42a430f9aa6045a2b22703c9ae1700a054486da6c998dccec20dcc5aa8"` [INFO] [stdout] 08e21d42a430f9aa6045a2b22703c9ae1700a054486da6c998dccec20dcc5aa8