[INFO] crate seq 0.5.0 is already in cache [INFO] extracting crate seq 0.5.0 into work/ex/clippy-test-run/sources/stable/reg/seq/0.5.0 [INFO] extracting crate seq 0.5.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/seq/0.5.0 [INFO] validating manifest of seq-0.5.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 seq-0.5.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 seq-0.5.0 [INFO] finished frobbing seq-0.5.0 [INFO] frobbed toml for seq-0.5.0 written to work/ex/clippy-test-run/sources/stable/reg/seq/0.5.0/Cargo.toml [INFO] started frobbing seq-0.5.0 [INFO] finished frobbing seq-0.5.0 [INFO] frobbed toml for seq-0.5.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/seq/0.5.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 seq-0.5.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/seq/0.5.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] 0095fe94eb073b843a42926bbfc2dd07f82b5517645b9c0bf0b1194e0a8dba08 [INFO] running `"docker" "start" "-a" "0095fe94eb073b843a42926bbfc2dd07f82b5517645b9c0bf0b1194e0a8dba08"` [INFO] [stderr] Checking seq v0.5.0 (/opt/crater/workdir) [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:142:9 [INFO] [stderr] | [INFO] [stderr] 142 | / match self { [INFO] [stderr] 143 | | &Seq::Empty => Option::None, [INFO] [stderr] 144 | | &Seq::ConsRef(ref ft1, _) => Option::Some(&*ft1), [INFO] [stderr] 145 | | &Seq::ConsOwn(ref ft1, _) => Option::Some(&*ft1), [INFO] [stderr] 146 | | } [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] 142 | match *self { [INFO] [stderr] 143 | Seq::Empty => Option::None, [INFO] [stderr] 144 | Seq::ConsRef(ref ft1, _) => Option::Some(&*ft1), [INFO] [stderr] 145 | Seq::ConsOwn(ref ft1, _) => Option::Some(&*ft1), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | / match self { [INFO] [stderr] 152 | | &Seq::Empty => Option::None, [INFO] [stderr] 153 | | &Seq::ConsRef(_, ref rt1) => Option::Some(*rt1), [INFO] [stderr] 154 | | &Seq::ConsOwn(_, ref rt1) => Option::Some(&**rt1), [INFO] [stderr] 155 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 151 | match *self { [INFO] [stderr] 152 | Seq::Empty => Option::None, [INFO] [stderr] 153 | Seq::ConsRef(_, ref rt1) => Option::Some(*rt1), [INFO] [stderr] 154 | Seq::ConsOwn(_, ref rt1) => Option::Some(&**rt1), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:222:9 [INFO] [stderr] | [INFO] [stderr] 222 | / match self { [INFO] [stderr] 223 | | &Seq::Empty => write!(f, "<>"), [INFO] [stderr] 224 | | &Seq::ConsRef(ref ft, _) => write!(f, "<{:?},...>", ft), [INFO] [stderr] 225 | | &Seq::ConsOwn(ref ft, _) => write!(f, "<{:?},...>", ft), [INFO] [stderr] 226 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 222 | match *self { [INFO] [stderr] 223 | Seq::Empty => write!(f, "<>"), [INFO] [stderr] 224 | Seq::ConsRef(ref ft, _) => write!(f, "<{:?},...>", ft), [INFO] [stderr] 225 | Seq::ConsOwn(ref ft, _) => write!(f, "<{:?},...>", ft), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:259:9 [INFO] [stderr] | [INFO] [stderr] 259 | / match self.cur { [INFO] [stderr] 260 | | &Seq::Empty => Option::None, [INFO] [stderr] 261 | | &Seq::ConsRef(ref ft, ref rt) => { [INFO] [stderr] 262 | | self.cur = &*rt; [INFO] [stderr] ... | [INFO] [stderr] 268 | | } [INFO] [stderr] 269 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 259 | match *self.cur { [INFO] [stderr] 260 | Seq::Empty => Option::None, [INFO] [stderr] 261 | Seq::ConsRef(ref ft, ref rt) => { [INFO] [stderr] 262 | self.cur = &*rt; [INFO] [stderr] 263 | Option::Some(&*ft) [INFO] [stderr] 264 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:142:9 [INFO] [stderr] | [INFO] [stderr] 142 | / match self { [INFO] [stderr] 143 | | &Seq::Empty => Option::None, [INFO] [stderr] 144 | | &Seq::ConsRef(ref ft1, _) => Option::Some(&*ft1), [INFO] [stderr] 145 | | &Seq::ConsOwn(ref ft1, _) => Option::Some(&*ft1), [INFO] [stderr] 146 | | } [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] 142 | match *self { [INFO] [stderr] 143 | Seq::Empty => Option::None, [INFO] [stderr] 144 | Seq::ConsRef(ref ft1, _) => Option::Some(&*ft1), [INFO] [stderr] 145 | Seq::ConsOwn(ref ft1, _) => Option::Some(&*ft1), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | / match self { [INFO] [stderr] 152 | | &Seq::Empty => Option::None, [INFO] [stderr] 153 | | &Seq::ConsRef(_, ref rt1) => Option::Some(*rt1), [INFO] [stderr] 154 | | &Seq::ConsOwn(_, ref rt1) => Option::Some(&**rt1), [INFO] [stderr] 155 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 151 | match *self { [INFO] [stderr] 152 | Seq::Empty => Option::None, [INFO] [stderr] 153 | Seq::ConsRef(_, ref rt1) => Option::Some(*rt1), [INFO] [stderr] 154 | Seq::ConsOwn(_, ref rt1) => Option::Some(&**rt1), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:222:9 [INFO] [stderr] | [INFO] [stderr] 222 | / match self { [INFO] [stderr] 223 | | &Seq::Empty => write!(f, "<>"), [INFO] [stderr] 224 | | &Seq::ConsRef(ref ft, _) => write!(f, "<{:?},...>", ft), [INFO] [stderr] 225 | | &Seq::ConsOwn(ref ft, _) => write!(f, "<{:?},...>", ft), [INFO] [stderr] 226 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 222 | match *self { [INFO] [stderr] 223 | Seq::Empty => write!(f, "<>"), [INFO] [stderr] 224 | Seq::ConsRef(ref ft, _) => write!(f, "<{:?},...>", ft), [INFO] [stderr] 225 | Seq::ConsOwn(ref ft, _) => write!(f, "<{:?},...>", ft), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:259:9 [INFO] [stderr] | [INFO] [stderr] 259 | / match self.cur { [INFO] [stderr] 260 | | &Seq::Empty => Option::None, [INFO] [stderr] 261 | | &Seq::ConsRef(ref ft, ref rt) => { [INFO] [stderr] 262 | | self.cur = &*rt; [INFO] [stderr] ... | [INFO] [stderr] 268 | | } [INFO] [stderr] 269 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 259 | match *self.cur { [INFO] [stderr] 260 | Seq::Empty => Option::None, [INFO] [stderr] 261 | Seq::ConsRef(ref ft, ref rt) => { [INFO] [stderr] 262 | self.cur = &*rt; [INFO] [stderr] 263 | Option::Some(&*ft) [INFO] [stderr] 264 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:339:9 [INFO] [stderr] | [INFO] [stderr] 339 | / match &s2 { [INFO] [stderr] 340 | | &Seq::Empty => assert!(false, "seq was not empty!"), [INFO] [stderr] 341 | | &Seq::ConsRef(h, ref tail) => { [INFO] [stderr] 342 | | let t: &Seq = &*tail; [INFO] [stderr] ... | [INFO] [stderr] 354 | | _ => assert!(false, "seq was not owned!"), [INFO] [stderr] 355 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 339 | match s2 { [INFO] [stderr] 340 | Seq::Empty => assert!(false, "seq was not empty!"), [INFO] [stderr] 341 | Seq::ConsRef(h, ref tail) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:346:17 [INFO] [stderr] | [INFO] [stderr] 346 | / match t { [INFO] [stderr] 347 | | &Seq::Empty => assert!(false, "seq was not empty!"), [INFO] [stderr] 348 | | &Seq::ConsRef(h2, _) => { [INFO] [stderr] 349 | | assert_eq!(h2, 1u32); [INFO] [stderr] 350 | | } [INFO] [stderr] 351 | | _ => assert!(false, "seq was not owned!"), [INFO] [stderr] 352 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 346 | match *t { [INFO] [stderr] 347 | Seq::Empty => assert!(false, "seq was not empty!"), [INFO] [stderr] 348 | Seq::ConsRef(h2, _) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.40s [INFO] running `"docker" "inspect" "0095fe94eb073b843a42926bbfc2dd07f82b5517645b9c0bf0b1194e0a8dba08"` [INFO] running `"docker" "rm" "-f" "0095fe94eb073b843a42926bbfc2dd07f82b5517645b9c0bf0b1194e0a8dba08"` [INFO] [stdout] 0095fe94eb073b843a42926bbfc2dd07f82b5517645b9c0bf0b1194e0a8dba08