[INFO] fetching crate codepage-437 0.1.0... [INFO] linting codepage-437-0.1.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate codepage-437 0.1.0 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate codepage-437 0.1.0 [INFO] finished tweaking crates.io crate codepage-437 0.1.0 [INFO] tweaked toml for crates.io crate codepage-437 0.1.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate codepage-437 0.1.0 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 11 packages to latest compatible versions [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4012c7747d0bf80fd061d65ecadbbafeb25f6f690c8f03bc249f687dc6e4f0c2 [INFO] running `Command { std: "docker" "start" "-a" "4012c7747d0bf80fd061d65ecadbbafeb25f6f690c8f03bc249f687dc6e4f0c2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4012c7747d0bf80fd061d65ecadbbafeb25f6f690c8f03bc249f687dc6e4f0c2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4012c7747d0bf80fd061d65ecadbbafeb25f6f690c8f03bc249f687dc6e4f0c2", kill_on_drop: false }` [INFO] [stdout] 4012c7747d0bf80fd061d65ecadbbafeb25f6f690c8f03bc249f687dc6e4f0c2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 721a735c4424a24d57e6b7a2b6b7f6449bf0ce785d896b2f0003d41a232778e1 [INFO] running `Command { std: "docker" "start" "-a" "721a735c4424a24d57e6b7a2b6b7f6449bf0ce785d896b2f0003d41a232778e1", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling csv-core v0.1.13 [INFO] [stderr] Compiling csv v1.4.0 [INFO] [stderr] Compiling codepage-437 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> build.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | cp437: cp437, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `cp437` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> build.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | unicode: unicode, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `unicode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> build.rs:29:35 [INFO] [stdout] | [INFO] [stdout] 29 | if !cp437.chars().all(|c| (c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f')) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `('0'..='9').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> build.rs:29:61 [INFO] [stdout] | [INFO] [stdout] 29 | if !cp437.chars().all(|c| (c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f')) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `('A'..='F').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> build.rs:29:87 [INFO] [stdout] | [INFO] [stdout] 29 | if !cp437.chars().all(|c| (c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f')) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `('a'..='f').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> build.rs:41:37 [INFO] [stdout] | [INFO] [stdout] 41 | if !unicode.chars().all(|c| (c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f')) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `('0'..='9').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> build.rs:41:63 [INFO] [stdout] | [INFO] [stdout] 41 | if !unicode.chars().all(|c| (c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f')) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `('A'..='F').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> build.rs:41:89 [INFO] [stdout] | [INFO] [stdout] 41 | if !unicode.chars().all(|c| (c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f')) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `('a'..='f').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> build.rs:63:59 [INFO] [stdout] | [INFO] [stdout] 63 | for record in csv::ReaderBuilder::new().delimiter('\t' as u8).from_path(p).unwrap().into_records().map(Result::unwrap) { [INFO] [stdout] | ^^^^^^^^^^ help: use a byte literal instead: `b'\t'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] = note: `#[warn(clippy::char_lit_as_u8)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `writeln!` [INFO] [stdout] --> build.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | writeln!(specs_rs, "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stdout] = note: `#[warn(clippy::writeln_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `writeln!` [INFO] [stdout] --> build.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | writeln!(specs_rs, "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `writeln!` [INFO] [stdout] --> build.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | writeln!(specs_rs, "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `writeln!` [INFO] [stdout] --> build.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | writeln!(specs_rs, "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `decode_array` [INFO] [stdout] --> build.rs:116:18 [INFO] [stdout] | [INFO] [stdout] 116 | for i in 0..256 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 116 - for i in 0..256 { [INFO] [stdout] 116 + for (i, ) in decode_array.iter_mut().enumerate().take(256) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `writeln!` [INFO] [stdout] --> build.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | writeln!(specs_rs, "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `writeln!` [INFO] [stdout] --> build.rs:130:13 [INFO] [stdout] | [INFO] [stdout] 130 | writeln!(specs_rs, "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `writeln!` [INFO] [stdout] --> build.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | writeln!(specs_rs, "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `writeln!` [INFO] [stdout] --> build.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | writeln!(specs_rs, "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `writeln!` [INFO] [stdout] --> build.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | writeln!(specs_rs, "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `writeln!` [INFO] [stdout] --> build.rs:151:9 [INFO] [stdout] | [INFO] [stdout] 151 | writeln!(specs_rs, "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `writeln!` [INFO] [stdout] --> build.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | writeln!(specs_rs, "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `writeln!` [INFO] [stdout] --> build.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | writeln!(specs_rs, "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `writeln!` [INFO] [stdout] --> build.rs:163:9 [INFO] [stdout] | [INFO] [stdout] 163 | writeln!(specs_rs, "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `writeln!` [INFO] [stdout] --> build.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | writeln!(specs_rs, "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `writeln!` [INFO] [stdout] --> build.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | writeln!(specs_rs, "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `writeln!` [INFO] [stdout] --> build.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | writeln!(specs_rs, "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant slicing of the whole range [INFO] [stdout] --> src/decode.rs:112:38 [INFO] [stdout] | [INFO] [stdout] 112 | Cow::Borrowed(str::from_utf8(&cp437[..]).unwrap()) [INFO] [stdout] | ^^^^^^^^^^ help: use the original value instead: `cp437` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_slicing [INFO] [stdout] = note: `#[warn(clippy::redundant_slicing)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/encode.rs:219:27 [INFO] [stdout] | [INFO] [stdout] 219 | to_cp437_cow_impl(&self, dialect) [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/dialect.rs:26:44 [INFO] [stdout] | [INFO] [stdout] 26 | (self.overlap_unicode)(unicode) && !self.remaps.iter().rev().find(|&&(_, _, to)| to == unicode).is_some() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.remaps.iter().rev().find(|&&(_, _, to)| to == unicode).is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/dialect.rs:32:40 [INFO] [stdout] | [INFO] [stdout] 32 | (self.overlap_cp437)(cp437) && !self.remaps.iter().rev().find(|&&(whom, _, _)| whom == cp437).is_some() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.remaps.iter().rev().find(|&&(whom, _, _)| whom == cp437).is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/dialect.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | self.overlap_unicode == other.overlap_unicode && // align [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint [INFO] [stdout] | [INFO] [stdout] 96 - self.overlap_unicode == other.overlap_unicode && // align [INFO] [stdout] 96 + std::ptr::fn_addr_eq(self.overlap_unicode, other.overlap_unicode) && // align [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/dialect.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | self.overlap_cp437 == other.overlap_cp437 && // align [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint [INFO] [stdout] | [INFO] [stdout] 97 - self.overlap_cp437 == other.overlap_cp437 && // align [INFO] [stdout] 97 + std::ptr::fn_addr_eq(self.overlap_cp437, other.overlap_cp437) && // align [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/dialect.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | self.encode == other.encode && // align [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint [INFO] [stdout] | [INFO] [stdout] 98 - self.encode == other.encode && // align [INFO] [stdout] 98 + std::ptr::fn_addr_eq(self.encode, other.encode) && // align [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/dialect.rs:107:19 [INFO] [stdout] | [INFO] [stdout] 107 | .then(self.overlap_unicode.cmp(&other.overlap_unicode)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/dialect.rs:108:19 [INFO] [stdout] | [INFO] [stdout] 108 | .then(self.overlap_cp437.cmp(&other.overlap_cp437)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/dialect.rs:109:19 [INFO] [stdout] | [INFO] [stdout] 109 | .then(self.encode.cmp(&other.encode)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant slicing of the whole range [INFO] [stdout] --> src/decode.rs:112:38 [INFO] [stdout] | [INFO] [stdout] 112 | Cow::Borrowed(str::from_utf8(&cp437[..]).unwrap()) [INFO] [stdout] | ^^^^^^^^^^ help: use the original value instead: `cp437` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_slicing [INFO] [stdout] = note: `#[warn(clippy::redundant_slicing)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/encode.rs:219:27 [INFO] [stdout] | [INFO] [stdout] 219 | to_cp437_cow_impl(&self, dialect) [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/dialect.rs:26:44 [INFO] [stdout] | [INFO] [stdout] 26 | (self.overlap_unicode)(unicode) && !self.remaps.iter().rev().find(|&&(_, _, to)| to == unicode).is_some() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.remaps.iter().rev().find(|&&(_, _, to)| to == unicode).is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/dialect.rs:32:40 [INFO] [stdout] | [INFO] [stdout] 32 | (self.overlap_cp437)(cp437) && !self.remaps.iter().rev().find(|&&(whom, _, _)| whom == cp437).is_some() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.remaps.iter().rev().find(|&&(whom, _, _)| whom == cp437).is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/dialect.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | self.overlap_unicode == other.overlap_unicode && // align [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint [INFO] [stdout] | [INFO] [stdout] 96 - self.overlap_unicode == other.overlap_unicode && // align [INFO] [stdout] 96 + std::ptr::fn_addr_eq(self.overlap_unicode, other.overlap_unicode) && // align [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/dialect.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | self.overlap_cp437 == other.overlap_cp437 && // align [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint [INFO] [stdout] | [INFO] [stdout] 97 - self.overlap_cp437 == other.overlap_cp437 && // align [INFO] [stdout] 97 + std::ptr::fn_addr_eq(self.overlap_cp437, other.overlap_cp437) && // align [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/dialect.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | self.encode == other.encode && // align [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint [INFO] [stdout] | [INFO] [stdout] 98 - self.encode == other.encode && // align [INFO] [stdout] 98 + std::ptr::fn_addr_eq(self.encode, other.encode) && // align [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/dialect.rs:107:19 [INFO] [stdout] | [INFO] [stdout] 107 | .then(self.overlap_unicode.cmp(&other.overlap_unicode)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/dialect.rs:108:19 [INFO] [stdout] | [INFO] [stdout] 108 | .then(self.overlap_cp437.cmp(&other.overlap_cp437)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/dialect.rs:109:19 [INFO] [stdout] | [INFO] [stdout] 109 | .then(self.encode.cmp(&other.encode)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `array` [INFO] [stdout] --> tests/cp437_wingdings/encode/to_cp437/borrowing.rs:12:34 [INFO] [stdout] | [INFO] [stdout] 12 | assert!(is_borrowed(&[c].into_iter().collect::().to_cp437(&CP437_WINGDINGS).unwrap())); [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] = note: `#[warn(clippy::into_iter_on_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `array` [INFO] [stdout] --> tests/cp437_wingdings/encode/to_cp437/borrowing.rs:23:35 [INFO] [stdout] | [INFO] [stdout] 23 | assert!(!is_borrowed(&[c].into_iter().collect::().to_cp437(&CP437_WINGDINGS).unwrap())); [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `array` [INFO] [stdout] --> tests/cp437_wingdings/encode/to_cp437/borrowing.rs:42:47 [INFO] [stdout] | [INFO] [stdout] 42 | assert!(!is_borrowed(&[c, new_beyond].into_iter().collect::().to_cp437(&CP437_WINGDINGS).unwrap())); [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> tests/cp437_wingdings/encode/mod.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | mod encode; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using a reference to `Cow` is not recommended [INFO] [stdout] --> tests/cp437_wingdings/mod.rs:13:42 [INFO] [stdout] | [INFO] [stdout] 13 | fn is_borrowed(who: &Cow) -> bool { [INFO] [stdout] | ^^^^^^^ help: change this to: `&T` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> tests/cp437_wingdings/mod.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | / match who { [INFO] [stdout] 15 | | &Cow::Borrowed(_) => true, [INFO] [stdout] 16 | | &Cow::Owned(_) => false, [INFO] [stdout] 17 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 14 ~ match *who { [INFO] [stdout] 15 ~ Cow::Borrowed(_) => true, [INFO] [stdout] 16 ~ Cow::Owned(_) => false, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `array` [INFO] [stdout] --> tests/cp437_control/encode/to_cp437/borrowing.rs:12:34 [INFO] [stdout] | [INFO] [stdout] 12 | assert!(is_borrowed(&[c].into_iter().collect::().to_cp437(&CP437_CONTROL).unwrap())); [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `array` [INFO] [stdout] --> tests/cp437_control/encode/to_cp437/borrowing.rs:23:35 [INFO] [stdout] | [INFO] [stdout] 23 | assert!(!is_borrowed(&[c].into_iter().collect::().to_cp437(&CP437_CONTROL).unwrap())); [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `array` [INFO] [stdout] --> tests/cp437_control/encode/to_cp437/borrowing.rs:42:47 [INFO] [stdout] | [INFO] [stdout] 42 | assert!(!is_borrowed(&[c, new_beyond].into_iter().collect::().to_cp437(&CP437_CONTROL).unwrap())); [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> tests/cp437_control/encode/mod.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | mod encode; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using a reference to `Cow` is not recommended [INFO] [stdout] --> tests/cp437_control/mod.rs:13:42 [INFO] [stdout] | [INFO] [stdout] 13 | fn is_borrowed(who: &Cow) -> bool { [INFO] [stdout] | ^^^^^^^ help: change this to: `&T` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> tests/cp437_control/mod.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | / match who { [INFO] [stdout] 15 | | &Cow::Borrowed(_) => true, [INFO] [stdout] 16 | | &Cow::Owned(_) => false, [INFO] [stdout] 17 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 14 ~ match *who { [INFO] [stdout] 15 ~ Cow::Borrowed(_) => true, [INFO] [stdout] 16 ~ Cow::Owned(_) => false, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> tests/cp437_wingdings/encode/to_cp437/borrowing.rs:12:34 [INFO] [stdout] | [INFO] [stdout] 12 | assert!(is_borrowed(&[c].into_iter().collect::().to_cp437(&CP437_WINGDINGS).unwrap())); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 12 - assert!(is_borrowed(&[c].into_iter().collect::().to_cp437(&CP437_WINGDINGS).unwrap())); [INFO] [stdout] 12 + assert!(is_borrowed(&[c].iter().collect::().to_cp437(&CP437_WINGDINGS).unwrap())); [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 12 - assert!(is_borrowed(&[c].into_iter().collect::().to_cp437(&CP437_WINGDINGS).unwrap())); [INFO] [stdout] 12 + assert!(is_borrowed(&IntoIterator::into_iter([c]).collect::().to_cp437(&CP437_WINGDINGS).unwrap())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> tests/cp437_wingdings/encode/to_cp437/borrowing.rs:23:35 [INFO] [stdout] | [INFO] [stdout] 23 | assert!(!is_borrowed(&[c].into_iter().collect::().to_cp437(&CP437_WINGDINGS).unwrap())); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 23 - assert!(!is_borrowed(&[c].into_iter().collect::().to_cp437(&CP437_WINGDINGS).unwrap())); [INFO] [stdout] 23 + assert!(!is_borrowed(&[c].iter().collect::().to_cp437(&CP437_WINGDINGS).unwrap())); [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 23 - assert!(!is_borrowed(&[c].into_iter().collect::().to_cp437(&CP437_WINGDINGS).unwrap())); [INFO] [stdout] 23 + assert!(!is_borrowed(&IntoIterator::into_iter([c]).collect::().to_cp437(&CP437_WINGDINGS).unwrap())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> tests/cp437_wingdings/encode/to_cp437/borrowing.rs:42:47 [INFO] [stdout] | [INFO] [stdout] 42 | assert!(!is_borrowed(&[c, new_beyond].into_iter().collect::().to_cp437(&CP437_WINGDINGS).unwrap())); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 42 - assert!(!is_borrowed(&[c, new_beyond].into_iter().collect::().to_cp437(&CP437_WINGDINGS).unwrap())); [INFO] [stdout] 42 + assert!(!is_borrowed(&[c, new_beyond].iter().collect::().to_cp437(&CP437_WINGDINGS).unwrap())); [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 42 - assert!(!is_borrowed(&[c, new_beyond].into_iter().collect::().to_cp437(&CP437_WINGDINGS).unwrap())); [INFO] [stdout] 42 + assert!(!is_borrowed(&IntoIterator::into_iter([c, new_beyond]).collect::().to_cp437(&CP437_WINGDINGS).unwrap())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> tests/cp437_control/encode/to_cp437/borrowing.rs:12:34 [INFO] [stdout] | [INFO] [stdout] 12 | assert!(is_borrowed(&[c].into_iter().collect::().to_cp437(&CP437_CONTROL).unwrap())); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 12 - assert!(is_borrowed(&[c].into_iter().collect::().to_cp437(&CP437_CONTROL).unwrap())); [INFO] [stdout] 12 + assert!(is_borrowed(&[c].iter().collect::().to_cp437(&CP437_CONTROL).unwrap())); [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 12 - assert!(is_borrowed(&[c].into_iter().collect::().to_cp437(&CP437_CONTROL).unwrap())); [INFO] [stdout] 12 + assert!(is_borrowed(&IntoIterator::into_iter([c]).collect::().to_cp437(&CP437_CONTROL).unwrap())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> tests/cp437_control/encode/to_cp437/borrowing.rs:23:35 [INFO] [stdout] | [INFO] [stdout] 23 | assert!(!is_borrowed(&[c].into_iter().collect::().to_cp437(&CP437_CONTROL).unwrap())); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 23 - assert!(!is_borrowed(&[c].into_iter().collect::().to_cp437(&CP437_CONTROL).unwrap())); [INFO] [stdout] 23 + assert!(!is_borrowed(&[c].iter().collect::().to_cp437(&CP437_CONTROL).unwrap())); [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 23 - assert!(!is_borrowed(&[c].into_iter().collect::().to_cp437(&CP437_CONTROL).unwrap())); [INFO] [stdout] 23 + assert!(!is_borrowed(&IntoIterator::into_iter([c]).collect::().to_cp437(&CP437_CONTROL).unwrap())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> tests/cp437_control/encode/to_cp437/borrowing.rs:42:47 [INFO] [stdout] | [INFO] [stdout] 42 | assert!(!is_borrowed(&[c, new_beyond].into_iter().collect::().to_cp437(&CP437_CONTROL).unwrap())); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 42 - assert!(!is_borrowed(&[c, new_beyond].into_iter().collect::().to_cp437(&CP437_CONTROL).unwrap())); [INFO] [stdout] 42 + assert!(!is_borrowed(&[c, new_beyond].iter().collect::().to_cp437(&CP437_CONTROL).unwrap())); [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 42 - assert!(!is_borrowed(&[c, new_beyond].into_iter().collect::().to_cp437(&CP437_CONTROL).unwrap())); [INFO] [stdout] 42 + assert!(!is_borrowed(&IntoIterator::into_iter([c, new_beyond]).collect::().to_cp437(&CP437_CONTROL).unwrap())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.92s [INFO] running `Command { std: "docker" "inspect" "721a735c4424a24d57e6b7a2b6b7f6449bf0ce785d896b2f0003d41a232778e1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "721a735c4424a24d57e6b7a2b6b7f6449bf0ce785d896b2f0003d41a232778e1", kill_on_drop: false }` [INFO] [stdout] 721a735c4424a24d57e6b7a2b6b7f6449bf0ce785d896b2f0003d41a232778e1