[INFO] crate opencorpora 0.2.0 is already in cache [INFO] extracting crate opencorpora 0.2.0 into work/ex/clippy-test-run/sources/stable/reg/opencorpora/0.2.0 [INFO] extracting crate opencorpora 0.2.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/opencorpora/0.2.0 [INFO] validating manifest of opencorpora-0.2.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 opencorpora-0.2.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 opencorpora-0.2.0 [INFO] finished frobbing opencorpora-0.2.0 [INFO] frobbed toml for opencorpora-0.2.0 written to work/ex/clippy-test-run/sources/stable/reg/opencorpora/0.2.0/Cargo.toml [INFO] started frobbing opencorpora-0.2.0 [INFO] finished frobbing opencorpora-0.2.0 [INFO] frobbed toml for opencorpora-0.2.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/opencorpora/0.2.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 opencorpora-0.2.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/opencorpora/0.2.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] a63081086bcc7c43ef6c234e4226db4a7a2b4d00874634cb93406ef3ffcb8f57 [INFO] running `"docker" "start" "-a" "a63081086bcc7c43ef6c234e4226db4a7a2b4d00874634cb93406ef3ffcb8f57"` [INFO] [stderr] Checking encoding_rs v0.7.2 [INFO] [stderr] Checking quick-xml v0.10.1 [INFO] [stderr] Checking opencorpora v0.2.0 (/opt/crater/workdir) [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:87:9 [INFO] [stderr] | [INFO] [stderr] 87 | / match name { [INFO] [stderr] 88 | | b"type" => match &*value { [INFO] [stderr] 89 | | b"lemma" => { [INFO] [stderr] 90 | | return Ok(RestrictionScope::Lemma); [INFO] [stderr] ... | [INFO] [stderr] 101 | | _ => (), [INFO] [stderr] 102 | | } [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] 87 | if let b"type" = name { match &*value { [INFO] [stderr] 88 | b"lemma" => { [INFO] [stderr] 89 | return Ok(RestrictionScope::Lemma); [INFO] [stderr] 90 | } [INFO] [stderr] 91 | b"form" => { [INFO] [stderr] 92 | return Ok(RestrictionScope::Form); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 62 [INFO] [stderr] --> src/lib.rs:131:5 [INFO] [stderr] | [INFO] [stderr] 131 | / pub fn read_from_xml(r: R) -> Result { [INFO] [stderr] 132 | | use std::io::BufReader; [INFO] [stderr] 133 | | use std::rc::Rc; [INFO] [stderr] 134 | | use std::str; [INFO] [stderr] ... | [INFO] [stderr] 493 | | } [INFO] [stderr] 494 | | } [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib.rs:162:25 [INFO] [stderr] | [INFO] [stderr] 162 | / match name { [INFO] [stderr] 163 | | b"v" => { [INFO] [stderr] 164 | | let grammeme = get_grammeme(&grammeme_by_name, &value)?; [INFO] [stderr] 165 | | current_lemma.grammemes.push(grammeme); [INFO] [stderr] 166 | | } [INFO] [stderr] 167 | | _ => (), [INFO] [stderr] 168 | | } [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] 162 | if let b"v" = name { [INFO] [stderr] 163 | let grammeme = get_grammeme(&grammeme_by_name, &value)?; [INFO] [stderr] 164 | current_lemma.grammemes.push(grammeme); [INFO] [stderr] 165 | } [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/lib.rs:172:25 [INFO] [stderr] | [INFO] [stderr] 172 | / match name { [INFO] [stderr] 173 | | b"v" => { [INFO] [stderr] 174 | | let grammeme = get_grammeme(&grammeme_by_name, &value)?; [INFO] [stderr] 175 | | current_form.grammemes.push(grammeme); [INFO] [stderr] 176 | | } [INFO] [stderr] 177 | | _ => (), [INFO] [stderr] 178 | | } [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] 172 | if let b"v" = name { [INFO] [stderr] 173 | let grammeme = get_grammeme(&grammeme_by_name, &value)?; [INFO] [stderr] 174 | current_form.grammemes.push(grammeme); [INFO] [stderr] 175 | } [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/lib.rs:243:29 [INFO] [stderr] | [INFO] [stderr] 243 | / match name { [INFO] [stderr] 244 | | b"parent" => { [INFO] [stderr] 245 | | if value.is_empty() { [INFO] [stderr] 246 | | current_grammeme.parent = None; [INFO] [stderr] ... | [INFO] [stderr] 251 | | _ => (), [INFO] [stderr] 252 | | } [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] 243 | if let b"parent" = name { [INFO] [stderr] 244 | if value.is_empty() { [INFO] [stderr] 245 | current_grammeme.parent = None; [INFO] [stderr] 246 | } else { [INFO] [stderr] 247 | current_grammeme.parent = Some(string_from_bytes(&value)?); [INFO] [stderr] 248 | } [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/lib.rs:331:29 [INFO] [stderr] | [INFO] [stderr] 331 | / match name { [INFO] [stderr] 332 | | b"t" => { [INFO] [stderr] 333 | | current_lemma.word = string_from_bytes(&value)?; [INFO] [stderr] 334 | | } [INFO] [stderr] 335 | | _ => (), [INFO] [stderr] 336 | | } [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] 331 | if let b"t" = name { [INFO] [stderr] 332 | current_lemma.word = string_from_bytes(&value)?; [INFO] [stderr] 333 | } [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/lib.rs:345:29 [INFO] [stderr] | [INFO] [stderr] 345 | / match name { [INFO] [stderr] 346 | | b"t" => { [INFO] [stderr] 347 | | current_form.word = string_from_bytes(&value)?; [INFO] [stderr] 348 | | } [INFO] [stderr] 349 | | _ => (), [INFO] [stderr] 350 | | } [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] 345 | if let b"t" = name { [INFO] [stderr] 346 | current_form.word = string_from_bytes(&value)?; [INFO] [stderr] 347 | } [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/lib.rs:362:29 [INFO] [stderr] | [INFO] [stderr] 362 | / match name { [INFO] [stderr] 363 | | b"id" => { [INFO] [stderr] 364 | | current_link_kind.id = integer_from_bytes(&value)?; [INFO] [stderr] 365 | | } [INFO] [stderr] 366 | | _ => (), [INFO] [stderr] 367 | | } [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] 362 | if let b"id" = name { [INFO] [stderr] 363 | current_link_kind.id = integer_from_bytes(&value)?; [INFO] [stderr] 364 | } [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/lib.rs:87:9 [INFO] [stderr] | [INFO] [stderr] 87 | / match name { [INFO] [stderr] 88 | | b"type" => match &*value { [INFO] [stderr] 89 | | b"lemma" => { [INFO] [stderr] 90 | | return Ok(RestrictionScope::Lemma); [INFO] [stderr] ... | [INFO] [stderr] 101 | | _ => (), [INFO] [stderr] 102 | | } [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] 87 | if let b"type" = name { match &*value { [INFO] [stderr] 88 | b"lemma" => { [INFO] [stderr] 89 | return Ok(RestrictionScope::Lemma); [INFO] [stderr] 90 | } [INFO] [stderr] 91 | b"form" => { [INFO] [stderr] 92 | return Ok(RestrictionScope::Form); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 62 [INFO] [stderr] --> src/lib.rs:131:5 [INFO] [stderr] | [INFO] [stderr] 131 | / pub fn read_from_xml(r: R) -> Result { [INFO] [stderr] 132 | | use std::io::BufReader; [INFO] [stderr] 133 | | use std::rc::Rc; [INFO] [stderr] 134 | | use std::str; [INFO] [stderr] ... | [INFO] [stderr] 493 | | } [INFO] [stderr] 494 | | } [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib.rs:162:25 [INFO] [stderr] | [INFO] [stderr] 162 | / match name { [INFO] [stderr] 163 | | b"v" => { [INFO] [stderr] 164 | | let grammeme = get_grammeme(&grammeme_by_name, &value)?; [INFO] [stderr] 165 | | current_lemma.grammemes.push(grammeme); [INFO] [stderr] 166 | | } [INFO] [stderr] 167 | | _ => (), [INFO] [stderr] 168 | | } [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] 162 | if let b"v" = name { [INFO] [stderr] 163 | let grammeme = get_grammeme(&grammeme_by_name, &value)?; [INFO] [stderr] 164 | current_lemma.grammemes.push(grammeme); [INFO] [stderr] 165 | } [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/lib.rs:172:25 [INFO] [stderr] | [INFO] [stderr] 172 | / match name { [INFO] [stderr] 173 | | b"v" => { [INFO] [stderr] 174 | | let grammeme = get_grammeme(&grammeme_by_name, &value)?; [INFO] [stderr] 175 | | current_form.grammemes.push(grammeme); [INFO] [stderr] 176 | | } [INFO] [stderr] 177 | | _ => (), [INFO] [stderr] 178 | | } [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] 172 | if let b"v" = name { [INFO] [stderr] 173 | let grammeme = get_grammeme(&grammeme_by_name, &value)?; [INFO] [stderr] 174 | current_form.grammemes.push(grammeme); [INFO] [stderr] 175 | } [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/lib.rs:243:29 [INFO] [stderr] | [INFO] [stderr] 243 | / match name { [INFO] [stderr] 244 | | b"parent" => { [INFO] [stderr] 245 | | if value.is_empty() { [INFO] [stderr] 246 | | current_grammeme.parent = None; [INFO] [stderr] ... | [INFO] [stderr] 251 | | _ => (), [INFO] [stderr] 252 | | } [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] 243 | if let b"parent" = name { [INFO] [stderr] 244 | if value.is_empty() { [INFO] [stderr] 245 | current_grammeme.parent = None; [INFO] [stderr] 246 | } else { [INFO] [stderr] 247 | current_grammeme.parent = Some(string_from_bytes(&value)?); [INFO] [stderr] 248 | } [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/lib.rs:331:29 [INFO] [stderr] | [INFO] [stderr] 331 | / match name { [INFO] [stderr] 332 | | b"t" => { [INFO] [stderr] 333 | | current_lemma.word = string_from_bytes(&value)?; [INFO] [stderr] 334 | | } [INFO] [stderr] 335 | | _ => (), [INFO] [stderr] 336 | | } [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] 331 | if let b"t" = name { [INFO] [stderr] 332 | current_lemma.word = string_from_bytes(&value)?; [INFO] [stderr] 333 | } [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/lib.rs:345:29 [INFO] [stderr] | [INFO] [stderr] 345 | / match name { [INFO] [stderr] 346 | | b"t" => { [INFO] [stderr] 347 | | current_form.word = string_from_bytes(&value)?; [INFO] [stderr] 348 | | } [INFO] [stderr] 349 | | _ => (), [INFO] [stderr] 350 | | } [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] 345 | if let b"t" = name { [INFO] [stderr] 346 | current_form.word = string_from_bytes(&value)?; [INFO] [stderr] 347 | } [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/lib.rs:362:29 [INFO] [stderr] | [INFO] [stderr] 362 | / match name { [INFO] [stderr] 363 | | b"id" => { [INFO] [stderr] 364 | | current_link_kind.id = integer_from_bytes(&value)?; [INFO] [stderr] 365 | | } [INFO] [stderr] 366 | | _ => (), [INFO] [stderr] 367 | | } [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] 362 | if let b"id" = name { [INFO] [stderr] 363 | current_link_kind.id = integer_from_bytes(&value)?; [INFO] [stderr] 364 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 14.47s [INFO] running `"docker" "inspect" "a63081086bcc7c43ef6c234e4226db4a7a2b4d00874634cb93406ef3ffcb8f57"` [INFO] running `"docker" "rm" "-f" "a63081086bcc7c43ef6c234e4226db4a7a2b4d00874634cb93406ef3ffcb8f57"` [INFO] [stdout] a63081086bcc7c43ef6c234e4226db4a7a2b4d00874634cb93406ef3ffcb8f57