[INFO] crate rust_release_channel 0.3.0 is already in cache [INFO] extracting crate rust_release_channel 0.3.0 into work/ex/clippy-test-run/sources/stable/reg/rust_release_channel/0.3.0 [INFO] extracting crate rust_release_channel 0.3.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rust_release_channel/0.3.0 [INFO] validating manifest of rust_release_channel-0.3.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 rust_release_channel-0.3.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 rust_release_channel-0.3.0 [INFO] finished frobbing rust_release_channel-0.3.0 [INFO] frobbed toml for rust_release_channel-0.3.0 written to work/ex/clippy-test-run/sources/stable/reg/rust_release_channel/0.3.0/Cargo.toml [INFO] started frobbing rust_release_channel-0.3.0 [INFO] finished frobbing rust_release_channel-0.3.0 [INFO] frobbed toml for rust_release_channel-0.3.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rust_release_channel/0.3.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 rust_release_channel-0.3.0 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/rust_release_channel/0.3.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] 436f21f7d8e89133b46e4d208637bbae85cfe70a11fa3be7f756b12a3f68043d [INFO] running `"docker" "start" "-a" "436f21f7d8e89133b46e4d208637bbae85cfe70a11fa3be7f756b12a3f68043d"` [INFO] [stderr] Compiling libc v0.2.48 [INFO] [stderr] Checking time v0.1.42 [INFO] [stderr] Checking chrono v0.4.6 [INFO] [stderr] Checking rust_release_channel v0.3.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:272:13 [INFO] [stderr] | [INFO] [stderr] 272 | date: date, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `date` [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:534:13 [INFO] [stderr] | [INFO] [stderr] 534 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [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/serialization.rs:83:21 [INFO] [stderr] | [INFO] [stderr] 83 | date: date, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `date` [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/serialization.rs:84:21 [INFO] [stderr] | [INFO] [stderr] 84 | pkg: pkg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pkg` [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:272:13 [INFO] [stderr] | [INFO] [stderr] 272 | date: date, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `date` [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:534:13 [INFO] [stderr] | [INFO] [stderr] 534 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [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/serialization.rs:83:21 [INFO] [stderr] | [INFO] [stderr] 83 | date: date, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `date` [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/serialization.rs:84:21 [INFO] [stderr] | [INFO] [stderr] 84 | pkg: pkg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pkg` [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 is a decimal constant [INFO] [stderr] --> src/tests.rs:117:51 [INFO] [stderr] | [INFO] [stderr] 117 | assert_eq!(ch.date, NaiveDate::from_ymd(1970, 01, 01)); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_prefixed_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 117 | assert_eq!(ch.date, NaiveDate::from_ymd(1970, 1, 01)); [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 117 | assert_eq!(ch.date, NaiveDate::from_ymd(1970, 0o1, 01)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/tests.rs:117:55 [INFO] [stderr] | [INFO] [stderr] 117 | assert_eq!(ch.date, NaiveDate::from_ymd(1970, 01, 01)); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 117 | assert_eq!(ch.date, NaiveDate::from_ymd(1970, 01, 1)); [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 117 | assert_eq!(ch.date, NaiveDate::from_ymd(1970, 01, 0o1)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/tests.rs:135:51 [INFO] [stderr] | [INFO] [stderr] 135 | assert_eq!(ch.date, NaiveDate::from_ymd(1970, 01, 02)); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 135 | assert_eq!(ch.date, NaiveDate::from_ymd(1970, 1, 02)); [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 135 | assert_eq!(ch.date, NaiveDate::from_ymd(1970, 0o1, 02)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/tests.rs:135:55 [INFO] [stderr] | [INFO] [stderr] 135 | assert_eq!(ch.date, NaiveDate::from_ymd(1970, 01, 02)); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 135 | assert_eq!(ch.date, NaiveDate::from_ymd(1970, 01, 2)); [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 135 | assert_eq!(ch.date, NaiveDate::from_ymd(1970, 01, 0o2)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:626:36 [INFO] [stderr] | [INFO] [stderr] 626 | let component_target = component_pkg [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 627 | | .clone() [INFO] [stderr] | |________________________^ help: try removing the `clone` call: `component_pkg` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:652:36 [INFO] [stderr] | [INFO] [stderr] 652 | let extension_target = extension_pkg [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 653 | | .clone() [INFO] [stderr] | |________________________^ help: try removing the `clone` call: `extension_pkg` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/lib.rs:739:17 [INFO] [stderr] | [INFO] [stderr] 739 | channel.lookup_artefact(query).map(|artefact| { [INFO] [stderr] | _________________^ [INFO] [stderr] | |_________________| [INFO] [stderr] | || [INFO] [stderr] 740 | || for each in &artefact.components { [INFO] [stderr] 741 | || let mut dep_path = ancestors.clone(); [INFO] [stderr] 742 | || dep_path.push(query); [INFO] [stderr] ... || [INFO] [stderr] 745 | || } [INFO] [stderr] 746 | || }); [INFO] [stderr] | ||__________________^- help: try this: `if let Some(artefact) = channel.lookup_artefact(query) { ... }` [INFO] [stderr] | |___________________| [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:817:9 [INFO] [stderr] | [INFO] [stderr] 817 | / match self { [INFO] [stderr] 818 | | &ArchiveFormat::TarGzip => write!(f, ".tar.gz"), [INFO] [stderr] 819 | | &ArchiveFormat::TarXz => write!(f, ".tar.xz"), [INFO] [stderr] 820 | | _ => write!(f, ""), [INFO] [stderr] 821 | | } [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] 817 | match *self { [INFO] [stderr] 818 | ArchiveFormat::TarGzip => write!(f, ".tar.gz"), [INFO] [stderr] 819 | ArchiveFormat::TarXz => write!(f, ".tar.xz"), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:1119:9 [INFO] [stderr] | [INFO] [stderr] 1119 | / match self { [INFO] [stderr] 1120 | | &ValidationError::RenameToUnknownPackage { old, new } => write!( [INFO] [stderr] 1121 | | f, [INFO] [stderr] 1122 | | "Package {:?} renamed to unknown package {:?}", [INFO] [stderr] ... | [INFO] [stderr] 1172 | | &ValidationError::__Nonexhaustive => unreachable!(), [INFO] [stderr] 1173 | | } [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] 1119 | match *self { [INFO] [stderr] 1120 | ValidationError::RenameToUnknownPackage { old, new } => write!( [INFO] [stderr] 1121 | f, [INFO] [stderr] 1122 | "Package {:?} renamed to unknown package {:?}", [INFO] [stderr] 1123 | old, new, [INFO] [stderr] 1124 | ), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:1179:9 [INFO] [stderr] | [INFO] [stderr] 1179 | / match self { [INFO] [stderr] 1180 | | &ValidationError::RenameToUnknownPackage { .. } => { [INFO] [stderr] 1181 | | "A package was renamed to an unknown name" [INFO] [stderr] 1182 | | } [INFO] [stderr] ... | [INFO] [stderr] 1204 | | &ValidationError::__Nonexhaustive => unreachable!(), [INFO] [stderr] 1205 | | } [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] 1179 | match *self { [INFO] [stderr] 1180 | ValidationError::RenameToUnknownPackage { .. } => { [INFO] [stderr] 1181 | "A package was renamed to an unknown name" [INFO] [stderr] 1182 | } [INFO] [stderr] 1183 | ValidationError::RenameToItself(_) => { [INFO] [stderr] 1184 | "A package was renamed to the same name" [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/serialization.rs:78:26 [INFO] [stderr] | [INFO] [stderr] 78 | .ok_or(D::Error::missing_field("to"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| D::Error::missing_field("to"))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/serialization.rs:118:9 [INFO] [stderr] | [INFO] [stderr] 118 | / self.standalone [INFO] [stderr] 119 | | .get(&super::ArchiveFormat::TarGzip) [INFO] [stderr] 120 | | .map(|src| { [INFO] [stderr] 121 | | output.url = Some(url_serde::Serde(src.url.clone())); [INFO] [stderr] 122 | | output.hash = Some(&src.hash); [INFO] [stderr] 123 | | }); [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 118 | if let Some(src) = self.standalone [INFO] [stderr] 119 | .get(&super::ArchiveFormat::TarGzip) { ... } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/serialization.rs:124:9 [INFO] [stderr] | [INFO] [stderr] 124 | / self.standalone [INFO] [stderr] 125 | | .get(&super::ArchiveFormat::TarXz) [INFO] [stderr] 126 | | .map(|src| { [INFO] [stderr] 127 | | output.xz_url = Some(url_serde::Serde(src.url.clone())); [INFO] [stderr] 128 | | output.xz_hash = Some(&src.hash); [INFO] [stderr] 129 | | }); [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 124 | if let Some(src) = self.standalone [INFO] [stderr] 125 | .get(&super::ArchiveFormat::TarXz) { ... } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:626:36 [INFO] [stderr] | [INFO] [stderr] 626 | let component_target = component_pkg [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 627 | | .clone() [INFO] [stderr] | |________________________^ help: try removing the `clone` call: `component_pkg` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:652:36 [INFO] [stderr] | [INFO] [stderr] 652 | let extension_target = extension_pkg [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 653 | | .clone() [INFO] [stderr] | |________________________^ help: try removing the `clone` call: `extension_pkg` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/lib.rs:739:17 [INFO] [stderr] | [INFO] [stderr] 739 | channel.lookup_artefact(query).map(|artefact| { [INFO] [stderr] | _________________^ [INFO] [stderr] | |_________________| [INFO] [stderr] | || [INFO] [stderr] 740 | || for each in &artefact.components { [INFO] [stderr] 741 | || let mut dep_path = ancestors.clone(); [INFO] [stderr] 742 | || dep_path.push(query); [INFO] [stderr] ... || [INFO] [stderr] 745 | || } [INFO] [stderr] 746 | || }); [INFO] [stderr] | ||__________________^- help: try this: `if let Some(artefact) = channel.lookup_artefact(query) { ... }` [INFO] [stderr] | |___________________| [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:817:9 [INFO] [stderr] | [INFO] [stderr] 817 | / match self { [INFO] [stderr] 818 | | &ArchiveFormat::TarGzip => write!(f, ".tar.gz"), [INFO] [stderr] 819 | | &ArchiveFormat::TarXz => write!(f, ".tar.xz"), [INFO] [stderr] 820 | | _ => write!(f, ""), [INFO] [stderr] 821 | | } [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] 817 | match *self { [INFO] [stderr] 818 | ArchiveFormat::TarGzip => write!(f, ".tar.gz"), [INFO] [stderr] 819 | ArchiveFormat::TarXz => write!(f, ".tar.xz"), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:1119:9 [INFO] [stderr] | [INFO] [stderr] 1119 | / match self { [INFO] [stderr] 1120 | | &ValidationError::RenameToUnknownPackage { old, new } => write!( [INFO] [stderr] 1121 | | f, [INFO] [stderr] 1122 | | "Package {:?} renamed to unknown package {:?}", [INFO] [stderr] ... | [INFO] [stderr] 1172 | | &ValidationError::__Nonexhaustive => unreachable!(), [INFO] [stderr] 1173 | | } [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] 1119 | match *self { [INFO] [stderr] 1120 | ValidationError::RenameToUnknownPackage { old, new } => write!( [INFO] [stderr] 1121 | f, [INFO] [stderr] 1122 | "Package {:?} renamed to unknown package {:?}", [INFO] [stderr] 1123 | old, new, [INFO] [stderr] 1124 | ), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:1179:9 [INFO] [stderr] | [INFO] [stderr] 1179 | / match self { [INFO] [stderr] 1180 | | &ValidationError::RenameToUnknownPackage { .. } => { [INFO] [stderr] 1181 | | "A package was renamed to an unknown name" [INFO] [stderr] 1182 | | } [INFO] [stderr] ... | [INFO] [stderr] 1204 | | &ValidationError::__Nonexhaustive => unreachable!(), [INFO] [stderr] 1205 | | } [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] 1179 | match *self { [INFO] [stderr] 1180 | ValidationError::RenameToUnknownPackage { .. } => { [INFO] [stderr] 1181 | "A package was renamed to an unknown name" [INFO] [stderr] 1182 | } [INFO] [stderr] 1183 | ValidationError::RenameToItself(_) => { [INFO] [stderr] 1184 | "A package was renamed to the same name" [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/serialization.rs:78:26 [INFO] [stderr] | [INFO] [stderr] 78 | .ok_or(D::Error::missing_field("to"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| D::Error::missing_field("to"))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/serialization.rs:118:9 [INFO] [stderr] | [INFO] [stderr] 118 | / self.standalone [INFO] [stderr] 119 | | .get(&super::ArchiveFormat::TarGzip) [INFO] [stderr] 120 | | .map(|src| { [INFO] [stderr] 121 | | output.url = Some(url_serde::Serde(src.url.clone())); [INFO] [stderr] 122 | | output.hash = Some(&src.hash); [INFO] [stderr] 123 | | }); [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 118 | if let Some(src) = self.standalone [INFO] [stderr] 119 | .get(&super::ArchiveFormat::TarGzip) { ... } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/serialization.rs:124:9 [INFO] [stderr] | [INFO] [stderr] 124 | / self.standalone [INFO] [stderr] 125 | | .get(&super::ArchiveFormat::TarXz) [INFO] [stderr] 126 | | .map(|src| { [INFO] [stderr] 127 | | output.xz_url = Some(url_serde::Serde(src.url.clone())); [INFO] [stderr] 128 | | output.xz_hash = Some(&src.hash); [INFO] [stderr] 129 | | }); [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 124 | if let Some(src) = self.standalone [INFO] [stderr] 125 | .get(&super::ArchiveFormat::TarXz) { ... } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/tests.rs:36:17 [INFO] [stderr] | [INFO] [stderr] 36 | let cargo = ch.pkg.get("cargo").unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&ch.pkg["cargo"]` [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] [INFO] [stderr] warning: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/tests.rs:40:29 [INFO] [stderr] | [INFO] [stderr] 40 | let cargo_for_aarch64 = cargo.target.get(ARM64_TRIPLE).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&cargo.target[ARM64_TRIPLE]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/tests.rs:41:32 [INFO] [stderr] | [INFO] [stderr] 41 | let cargo_for_aarch64_gz = cargo_for_aarch64 [INFO] [stderr] | ________________________________^ [INFO] [stderr] 42 | | .standalone [INFO] [stderr] 43 | | .get(&ArchiveFormat::TarGzip) [INFO] [stderr] 44 | | .unwrap(); [INFO] [stderr] | |_________________^ [INFO] [stderr] | [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] 41 | let cargo_for_aarch64_gz = &cargo_for_aarch64 [INFO] [stderr] 42 | .standalone[&ArchiveFormat::TarGzip]; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/tests.rs:60:16 [INFO] [stderr] | [INFO] [stderr] 60 | let rust = ch.pkg.get("rust").unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&ch.pkg["rust"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/tests.rs:67:28 [INFO] [stderr] | [INFO] [stderr] 67 | let rust_for_aarch64 = rust.target.get(ARM64_TRIPLE).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&rust.target[ARM64_TRIPLE]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/tests.rs:68:31 [INFO] [stderr] | [INFO] [stderr] 68 | let rust_for_aarch64_xz = rust_for_aarch64 [INFO] [stderr] | _______________________________^ [INFO] [stderr] 69 | | .standalone [INFO] [stderr] 70 | | .get(&ArchiveFormat::TarXz) [INFO] [stderr] 71 | | .unwrap(); [INFO] [stderr] | |_________________^ [INFO] [stderr] | [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] 68 | let rust_for_aarch64_xz = &rust_for_aarch64 [INFO] [stderr] 69 | .standalone[&ArchiveFormat::TarXz]; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/tests.rs:105:16 [INFO] [stderr] | [INFO] [stderr] 105 | assert_eq!(ch.renames.get("rls").unwrap(), "rls-preview"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&ch.renames["rls"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> examples/roundtrip.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | / io::stdout() [INFO] [stderr] 25 | | .write(flattened.as_bytes()) [INFO] [stderr] 26 | | .expect("could not write result"); [INFO] [stderr] | |_____________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `rust_release_channel`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "436f21f7d8e89133b46e4d208637bbae85cfe70a11fa3be7f756b12a3f68043d"` [INFO] running `"docker" "rm" "-f" "436f21f7d8e89133b46e4d208637bbae85cfe70a11fa3be7f756b12a3f68043d"` [INFO] [stdout] 436f21f7d8e89133b46e4d208637bbae85cfe70a11fa3be7f756b12a3f68043d