[INFO] crate trompt 0.0.4 is already in cache [INFO] extracting crate trompt 0.0.4 into work/ex/clippy-test-run/sources/stable/reg/trompt/0.0.4 [INFO] extracting crate trompt 0.0.4 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/trompt/0.0.4 [INFO] validating manifest of trompt-0.0.4 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 trompt-0.0.4 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 trompt-0.0.4 [INFO] finished frobbing trompt-0.0.4 [INFO] frobbed toml for trompt-0.0.4 written to work/ex/clippy-test-run/sources/stable/reg/trompt/0.0.4/Cargo.toml [INFO] started frobbing trompt-0.0.4 [INFO] finished frobbing trompt-0.0.4 [INFO] frobbed toml for trompt-0.0.4 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/trompt/0.0.4/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 trompt-0.0.4 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/trompt/0.0.4:/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] 5e945b9a2235d49507c7663d88414ad2a64b11413abaae65ccfc2124751a593c [INFO] running `"docker" "start" "-a" "5e945b9a2235d49507c7663d88414ad2a64b11413abaae65ccfc2124751a593c"` [INFO] [stderr] Checking termios v0.2.2 [INFO] [stderr] Checking trompt v0.0.4 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:163:13 [INFO] [stderr] | [INFO] [stderr] 163 | input: input, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `input` [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/lib.rs:164:13 [INFO] [stderr] | [INFO] [stderr] 164 | output: output, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `output` [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/lib.rs:163:13 [INFO] [stderr] | [INFO] [stderr] 163 | input: input, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `input` [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/lib.rs:164:13 [INFO] [stderr] | [INFO] [stderr] 164 | output: output, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `output` [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: this pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/lib.rs:355:26 [INFO] [stderr] | [INFO] [stderr] 355 | .take_while(|&ref byte| { [INFO] [stderr] | ^^^^^^^^^ help: try removing the `&ref` part and just keep: `byte` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_borrowed_reference)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:356:17 [INFO] [stderr] | [INFO] [stderr] 356 | / if let &Ok(byte) = byte { [INFO] [stderr] 357 | | byte != 0xA && byte != 0xD [INFO] [stderr] 358 | | } else { [INFO] [stderr] 359 | | false [INFO] [stderr] 360 | | } [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] 356 | if let Ok(byte) = *byte { [INFO] [stderr] | ^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/lib.rs:370:28 [INFO] [stderr] | [INFO] [stderr] 370 | (*self.validators).into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: the `s @ _` pattern can be written as just `s` [INFO] [stderr] --> src/lib.rs:415:13 [INFO] [stderr] | [INFO] [stderr] 415 | s @ _ => Err(Error::Validation(ValidationError::UnexpectedInput(s.into()))), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: this pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/lib.rs:355:26 [INFO] [stderr] | [INFO] [stderr] 355 | .take_while(|&ref byte| { [INFO] [stderr] | ^^^^^^^^^ help: try removing the `&ref` part and just keep: `byte` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_borrowed_reference)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:356:17 [INFO] [stderr] | [INFO] [stderr] 356 | / if let &Ok(byte) = byte { [INFO] [stderr] 357 | | byte != 0xA && byte != 0xD [INFO] [stderr] 358 | | } else { [INFO] [stderr] 359 | | false [INFO] [stderr] 360 | | } [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] 356 | if let Ok(byte) = *byte { [INFO] [stderr] | ^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/lib.rs:370:28 [INFO] [stderr] | [INFO] [stderr] 370 | (*self.validators).into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: the `s @ _` pattern can be written as just `s` [INFO] [stderr] --> src/lib.rs:415:13 [INFO] [stderr] | [INFO] [stderr] 415 | s @ _ => Err(Error::Validation(ValidationError::UnexpectedInput(s.into()))), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:535:46 [INFO] [stderr] | [INFO] [stderr] 535 | .validate(move |s| if s.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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:544:46 [INFO] [stderr] | [INFO] [stderr] 544 | .validate(move |s| if s.contains("&") { [INFO] [stderr] | ^^^ help: try using a char instead: `'&'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:567:50 [INFO] [stderr] | [INFO] [stderr] 567 | .validate(move |s| if s.contains("&") { [INFO] [stderr] | ^^^ help: try using a char instead: `'&'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.22s [INFO] running `"docker" "inspect" "5e945b9a2235d49507c7663d88414ad2a64b11413abaae65ccfc2124751a593c"` [INFO] running `"docker" "rm" "-f" "5e945b9a2235d49507c7663d88414ad2a64b11413abaae65ccfc2124751a593c"` [INFO] [stdout] 5e945b9a2235d49507c7663d88414ad2a64b11413abaae65ccfc2124751a593c