[INFO] crate omgwtf8 0.1.0 is already in cache [INFO] extracting crate omgwtf8 0.1.0 into work/ex/clippy-test-run/sources/stable/reg/omgwtf8/0.1.0 [INFO] extracting crate omgwtf8 0.1.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/omgwtf8/0.1.0 [INFO] validating manifest of omgwtf8-0.1.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 omgwtf8-0.1.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 omgwtf8-0.1.0 [INFO] finished frobbing omgwtf8-0.1.0 [INFO] frobbed toml for omgwtf8-0.1.0 written to work/ex/clippy-test-run/sources/stable/reg/omgwtf8/0.1.0/Cargo.toml [INFO] started frobbing omgwtf8-0.1.0 [INFO] finished frobbing omgwtf8-0.1.0 [INFO] frobbed toml for omgwtf8-0.1.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/omgwtf8/0.1.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 omgwtf8-0.1.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/omgwtf8/0.1.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] 7a7f5633312759b0056ae26e258550cb0b5cf2af95fccc193b36f055ac2100b0 [INFO] running `"docker" "start" "-a" "7a7f5633312759b0056ae26e258550cb0b5cf2af95fccc193b36f055ac2100b0"` [INFO] [stderr] Checking omgwtf8 v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: Unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stderr] --> src/slice.rs:42:41 [INFO] [stderr] | [INFO] [stderr] 42 | } else if 3 <= index && index <= len - 1 && self.0[index - 3] >= 0xf0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::int_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stderr] help: change `>= y + 1` to `> y` as shown [INFO] [stderr] | [INFO] [stderr] 42 | } else if 3 <= index && index < len && self.0[index - 3] >= 0xf0 { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | 0xeda000...0xedffff => self.0, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ed_a000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:25:24 [INFO] [stderr] | [INFO] [stderr] 25 | 0xeda000...0xedffff => self.0, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ed_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | 0x800000...0xbfffff => self.0 | 0xb000, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0080_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:26:24 [INFO] [stderr] | [INFO] [stderr] 26 | 0x800000...0xbfffff => self.0 | 0xb000, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00bf_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | 0xf00000...0xffffffff => { [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00f0_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:27:24 [INFO] [stderr] | [INFO] [stderr] 27 | 0xf00000...0xffffffff => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | 0xf00000...0xffffffff => { [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00f0_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:37:24 [INFO] [stderr] | [INFO] [stderr] 37 | 0xf00000...0xffffffff => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | 0x800000...0xbfffff => self.0 & 0x3f | self.0 >> 2 & 0x3c0 | 0xdc00, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0080_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:40:24 [INFO] [stderr] | [INFO] [stderr] 40 | 0x800000...0xbfffff => self.0 & 0x3f | self.0 >> 2 & 0x3c0 | 0xdc00, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00bf_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: Unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stderr] --> src/slice.rs:42:41 [INFO] [stderr] | [INFO] [stderr] 42 | } else if 3 <= index && index <= len - 1 && self.0[index - 3] >= 0xf0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::int_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stderr] help: change `>= y + 1` to `> y` as shown [INFO] [stderr] | [INFO] [stderr] 42 | } else if 3 <= index && index < len && self.0[index - 3] >= 0xf0 { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | 0xeda000...0xedffff => self.0, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ed_a000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:25:24 [INFO] [stderr] | [INFO] [stderr] 25 | 0xeda000...0xedffff => self.0, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ed_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | 0x800000...0xbfffff => self.0 | 0xb000, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0080_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:26:24 [INFO] [stderr] | [INFO] [stderr] 26 | 0x800000...0xbfffff => self.0 | 0xb000, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00bf_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | 0xf00000...0xffffffff => { [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00f0_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:27:24 [INFO] [stderr] | [INFO] [stderr] 27 | 0xf00000...0xffffffff => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | 0xf00000...0xffffffff => { [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00f0_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:37:24 [INFO] [stderr] | [INFO] [stderr] 37 | 0xf00000...0xffffffff => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | 0x800000...0xbfffff => self.0 & 0x3f | self.0 >> 2 & 0x3c0 | 0xdc00, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0080_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:40:24 [INFO] [stderr] | [INFO] [stderr] 40 | 0x800000...0xbfffff => self.0 & 0x3f | self.0 >> 2 & 0x3c0 | 0xdc00, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00bf_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:57:29 [INFO] [stderr] | [INFO] [stderr] 57 | assert_eq!(canonicalize(0x303030), 0); // '000' [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0030_3030` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:58:29 [INFO] [stderr] | [INFO] [stderr] 58 | assert_eq!(canonicalize(0xed9fbf), 0); // U+D7FF [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ed_9fbf` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:59:29 [INFO] [stderr] | [INFO] [stderr] 59 | assert_eq!(canonicalize(0xee8080), 0); // U+E000 [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ee_8080` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:60:29 [INFO] [stderr] | [INFO] [stderr] 60 | assert_eq!(canonicalize(0xeda080), 0xa080); // U+D800 [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ed_a080` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:61:29 [INFO] [stderr] | [INFO] [stderr] 61 | assert_eq!(canonicalize(0xedafbf), 0xafbf); // U+DBFF [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ed_afbf` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:62:29 [INFO] [stderr] | [INFO] [stderr] 62 | assert_eq!(canonicalize(0xedb080), 0xb080); // U+DC00 [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ed_b080` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:63:29 [INFO] [stderr] | [INFO] [stderr] 63 | assert_eq!(canonicalize(0xedbfbf), 0xbfbf); // U+DFFF [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ed_bfbf` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:64:29 [INFO] [stderr] | [INFO] [stderr] 64 | assert_eq!(canonicalize(0xf09080), 0xa080); // U+10000, high [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00f0_9080` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:65:29 [INFO] [stderr] | [INFO] [stderr] 65 | assert_eq!(canonicalize(0x908080), 0xb080); // U+10000, low [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0090_8080` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:66:29 [INFO] [stderr] | [INFO] [stderr] 66 | assert_eq!(canonicalize(0xf48fbf), 0xafbf); // U+10FFFF, high [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00f4_8fbf` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:67:29 [INFO] [stderr] | [INFO] [stderr] 67 | assert_eq!(canonicalize(0x8fbfbf), 0xbfbf); // U+10FFFF, low [INFO] [stderr] | ^^^^^^^^ help: consider: `0x008f_bfbf` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:70:29 [INFO] [stderr] | [INFO] [stderr] 70 | assert_eq!(canonicalize(0xeda5a6), 0xa5a6); [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ed_a5a6` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:71:29 [INFO] [stderr] | [INFO] [stderr] 71 | assert_eq!(canonicalize(0xedb883), 0xb883); [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ed_b883` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:72:29 [INFO] [stderr] | [INFO] [stderr] 72 | assert_eq!(canonicalize(0xf1a9a8), 0xa5a6); [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00f1_a9a8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/conv.rs:73:29 [INFO] [stderr] | [INFO] [stderr] 73 | assert_eq!(canonicalize(0xa9a883), 0xb883); [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00a9_a883` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: methods called `as_*` usually take self by reference or self by mutable reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/conv.rs:35:32 [INFO] [stderr] | [INFO] [stderr] 35 | pub(crate) fn as_code_unit(self) -> u16 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:47:22 [INFO] [stderr] | [INFO] [stderr] 47 | ThreeByteSeq((input[0] as u32) << 16 | (input[1] as u32) << 8 | (input[2] as u32)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(input[0])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:47:48 [INFO] [stderr] | [INFO] [stderr] 47 | ThreeByteSeq((input[0] as u32) << 16 | (input[1] as u32) << 8 | (input[2] as u32)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(input[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:47:73 [INFO] [stderr] | [INFO] [stderr] 47 | ThreeByteSeq((input[0] as u32) << 16 | (input[1] as u32) << 8 | (input[2] as u32)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(input[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/conv.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | / pub fn from_str(s: &str) -> &Self { [INFO] [stderr] 79 | | unsafe { Self::from_bytes_unchecked(s.as_bytes()) } [INFO] [stderr] 80 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:117:39 [INFO] [stderr] | [INFO] [stderr] 117 | let c = ((c1 as u32 & 0x3ff) << 10 | (c2 as u32 & 0x3ff)) + 0x1_0000; [INFO] [stderr] | ^^^^^^^^^ help: try: `u32::from(c1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:117:67 [INFO] [stderr] | [INFO] [stderr] 117 | let c = ((c1 as u32 & 0x3ff) << 10 | (c2 as u32 & 0x3ff)) + 0x1_0000; [INFO] [stderr] | ^^^^^^^^^ help: try: `u32::from(c2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:225:29 [INFO] [stderr] | [INFO] [stderr] 225 | 0...0x7f => (1, b1 as u16), [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from(b1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:228:26 [INFO] [stderr] | [INFO] [stderr] 228 | let b1 = b1 as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from(b1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:229:26 [INFO] [stderr] | [INFO] [stderr] 229 | let b2 = self.src[1] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.src[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:234:26 [INFO] [stderr] | [INFO] [stderr] 234 | let b1 = b1 as u32; [INFO] [stderr] | ^^^^^^^^^ help: try: `u32::from(b1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:235:26 [INFO] [stderr] | [INFO] [stderr] 235 | let b2 = self.src[1] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.src[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:236:26 [INFO] [stderr] | [INFO] [stderr] 236 | let b3 = self.src[2] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.src[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:237:26 [INFO] [stderr] | [INFO] [stderr] 237 | let b4 = self.src[3] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.src[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/pattern.rs:128:22 [INFO] [stderr] | [INFO] [stderr] 128 | unsafe { ptr.offset(hs.len() as isize) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `ptr.add(hs.len())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_offset_with_cast)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/pattern.rs:263:37 [INFO] [stderr] | [INFO] [stderr] 263 | let mut start = self.begin.offset(m.start() as isize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.begin.add(m.start())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/pattern.rs:264:35 [INFO] [stderr] | [INFO] [stderr] 264 | let mut end = self.begin.offset(m.end() as isize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.begin.add(m.end())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/pattern.rs:281:18 [INFO] [stderr] | [INFO] [stderr] 281 | unsafe { hs.0.as_ptr().offset(hs.0.len() as isize) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `hs.0.as_ptr().add(hs.0.len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: methods called `as_*` usually take self by reference or self by mutable reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/conv.rs:35:32 [INFO] [stderr] | [INFO] [stderr] 35 | pub(crate) fn as_code_unit(self) -> u16 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:47:22 [INFO] [stderr] | [INFO] [stderr] 47 | ThreeByteSeq((input[0] as u32) << 16 | (input[1] as u32) << 8 | (input[2] as u32)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(input[0])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:47:48 [INFO] [stderr] | [INFO] [stderr] 47 | ThreeByteSeq((input[0] as u32) << 16 | (input[1] as u32) << 8 | (input[2] as u32)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(input[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:47:73 [INFO] [stderr] | [INFO] [stderr] 47 | ThreeByteSeq((input[0] as u32) << 16 | (input[1] as u32) << 8 | (input[2] as u32)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(input[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/conv.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | / pub fn from_str(s: &str) -> &Self { [INFO] [stderr] 79 | | unsafe { Self::from_bytes_unchecked(s.as_bytes()) } [INFO] [stderr] 80 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:117:39 [INFO] [stderr] | [INFO] [stderr] 117 | let c = ((c1 as u32 & 0x3ff) << 10 | (c2 as u32 & 0x3ff)) + 0x1_0000; [INFO] [stderr] | ^^^^^^^^^ help: try: `u32::from(c1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:117:67 [INFO] [stderr] | [INFO] [stderr] 117 | let c = ((c1 as u32 & 0x3ff) << 10 | (c2 as u32 & 0x3ff)) + 0x1_0000; [INFO] [stderr] | ^^^^^^^^^ help: try: `u32::from(c2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:225:29 [INFO] [stderr] | [INFO] [stderr] 225 | 0...0x7f => (1, b1 as u16), [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from(b1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:228:26 [INFO] [stderr] | [INFO] [stderr] 228 | let b1 = b1 as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from(b1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:229:26 [INFO] [stderr] | [INFO] [stderr] 229 | let b2 = self.src[1] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.src[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:234:26 [INFO] [stderr] | [INFO] [stderr] 234 | let b1 = b1 as u32; [INFO] [stderr] | ^^^^^^^^^ help: try: `u32::from(b1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:235:26 [INFO] [stderr] | [INFO] [stderr] 235 | let b2 = self.src[1] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.src[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:236:26 [INFO] [stderr] | [INFO] [stderr] 236 | let b3 = self.src[2] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.src[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/conv.rs:237:26 [INFO] [stderr] | [INFO] [stderr] 237 | let b4 = self.src[3] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.src[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 26 [INFO] [stderr] --> src/cmp.rs:73:1 [INFO] [stderr] | [INFO] [stderr] 73 | / fn test_ow8_canonicalized_equality() { [INFO] [stderr] 74 | | unsafe { [INFO] [stderr] 75 | | assert_eq!( [INFO] [stderr] 76 | | OmgWtf8::from_bytes_unchecked(b"\xed\xb8\x83\xed\xa5\xa6"), [INFO] [stderr] ... | [INFO] [stderr] 176 | | } [INFO] [stderr] 177 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/pattern.rs:128:22 [INFO] [stderr] | [INFO] [stderr] 128 | unsafe { ptr.offset(hs.len() as isize) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `ptr.add(hs.len())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_offset_with_cast)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/pattern.rs:263:37 [INFO] [stderr] | [INFO] [stderr] 263 | let mut start = self.begin.offset(m.start() as isize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.begin.add(m.start())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/pattern.rs:264:35 [INFO] [stderr] | [INFO] [stderr] 264 | let mut end = self.begin.offset(m.end() as isize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.begin.add(m.end())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/pattern.rs:281:18 [INFO] [stderr] | [INFO] [stderr] 281 | unsafe { hs.0.as_ptr().offset(hs.0.len() as isize) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `hs.0.as_ptr().add(hs.0.len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 43 [INFO] [stderr] --> src/pattern.rs:330:1 [INFO] [stderr] | [INFO] [stderr] 330 | / fn test_ow8_searcher() { [INFO] [stderr] 331 | | // Tests copied from libcore. [INFO] [stderr] 332 | | fn some(hs: &OmgWtf8, start: usize, end: usize) -> Option<(*const u8, *const u8)> { [INFO] [stderr] 333 | | let ptr = hs.0.as_ptr(); [INFO] [stderr] ... | [INFO] [stderr] 420 | | assert_eq!(searcher.next_match(), None); [INFO] [stderr] 421 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: use of `wrapping_offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/pattern.rs:335:13 [INFO] [stderr] | [INFO] [stderr] 335 | ptr.wrapping_offset(start as isize), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `ptr.wrapping_add(start)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: use of `wrapping_offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/pattern.rs:336:13 [INFO] [stderr] | [INFO] [stderr] 336 | ptr.wrapping_offset(end as isize), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `ptr.wrapping_add(end)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.43s [INFO] running `"docker" "inspect" "7a7f5633312759b0056ae26e258550cb0b5cf2af95fccc193b36f055ac2100b0"` [INFO] running `"docker" "rm" "-f" "7a7f5633312759b0056ae26e258550cb0b5cf2af95fccc193b36f055ac2100b0"` [INFO] [stdout] 7a7f5633312759b0056ae26e258550cb0b5cf2af95fccc193b36f055ac2100b0