[INFO] crate c_fixed_string 0.2.0 is already in cache [INFO] extracting crate c_fixed_string 0.2.0 into work/ex/clippy-test-run/sources/stable/reg/c_fixed_string/0.2.0 [INFO] extracting crate c_fixed_string 0.2.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/c_fixed_string/0.2.0 [INFO] validating manifest of c_fixed_string-0.2.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 c_fixed_string-0.2.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 c_fixed_string-0.2.0 [INFO] finished frobbing c_fixed_string-0.2.0 [INFO] frobbed toml for c_fixed_string-0.2.0 written to work/ex/clippy-test-run/sources/stable/reg/c_fixed_string/0.2.0/Cargo.toml [INFO] started frobbing c_fixed_string-0.2.0 [INFO] finished frobbing c_fixed_string-0.2.0 [INFO] frobbed toml for c_fixed_string-0.2.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/c_fixed_string/0.2.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 c_fixed_string-0.2.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/c_fixed_string/0.2.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] d42e7add0310df1142382652aad788bcbf7669e0307ff94946fecea517f6020c [INFO] running `"docker" "start" "-a" "d42e7add0310df1142382652aad788bcbf7669e0307ff94946fecea517f6020c"` [INFO] [stderr] Checking c_fixed_string v0.2.0 (/opt/crater/workdir) [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:389:23 [INFO] [stderr] | [INFO] [stderr] 389 | const SLICE: &'static [u8] = &[0]; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:389:23 [INFO] [stderr] | [INFO] [stderr] 389 | const SLICE: &'static [u8] = &[0]; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: item `CFixedStr` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/lib.rs:245:1 [INFO] [stderr] | [INFO] [stderr] 245 | / impl CFixedStr { [INFO] [stderr] 246 | | /// Cast a raw C-style buffer to a CFixedStr. [INFO] [stderr] 247 | | pub unsafe fn from_ptr<'a>(ptr: *const c_char, limit: usize) -> &'a CFixedStr { [INFO] [stderr] 248 | | Self::from_bytes(slice::from_raw_parts(ptr as *const u8, limit)) [INFO] [stderr] ... | [INFO] [stderr] 368 | | } [INFO] [stderr] 369 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [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/lib.rs:255:5 [INFO] [stderr] | [INFO] [stderr] 255 | / pub fn from_str(s: &str) -> &CFixedStr { [INFO] [stderr] 256 | | Self::from_bytes(s.as_bytes()) [INFO] [stderr] 257 | | } [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/lib.rs:295:32 [INFO] [stderr] | [INFO] [stderr] 295 | memchr(0, &self.inner).unwrap_or(self.limit()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.limit())` [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: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:304:25 [INFO] [stderr] | [INFO] [stderr] 304 | pub fn to_bytes_mut(&mut self) -> &mut [u8] { [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: an inclusive range would be more readable [INFO] [stderr] --> src/lib.rs:312:25 [INFO] [stderr] | [INFO] [stderr] 312 | &self.inner[0 .. l+1] [INFO] [stderr] | ^^^^^^^^ help: use: `0..=l` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:319:34 [INFO] [stderr] | [INFO] [stderr] 319 | pub fn to_bytes_mut_extended(&mut self) -> &mut [u8] { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [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: an inclusive range would be more readable [INFO] [stderr] --> src/lib.rs:321:29 [INFO] [stderr] | [INFO] [stderr] 321 | &mut self.inner[0 .. l+1] [INFO] [stderr] | ^^^^^^^^ help: use: `0..=l` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/lib.rs:357:84 [INFO] [stderr] | [INFO] [stderr] 357 | Cow::Borrowed(unsafe { CStr::from_bytes_with_nul_unchecked(&self.inner[0 .. l+1]) }) [INFO] [stderr] | ^^^^^^^^ help: use: `0..=l` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: methods called `into_*` usually take self by value; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:365:32 [INFO] [stderr] | [INFO] [stderr] 365 | pub fn into_c_fixed_string(self: Box) -> CFixedString { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [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: item `CFixedStr` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/lib.rs:245:1 [INFO] [stderr] | [INFO] [stderr] 245 | / impl CFixedStr { [INFO] [stderr] 246 | | /// Cast a raw C-style buffer to a CFixedStr. [INFO] [stderr] 247 | | pub unsafe fn from_ptr<'a>(ptr: *const c_char, limit: usize) -> &'a CFixedStr { [INFO] [stderr] 248 | | Self::from_bytes(slice::from_raw_parts(ptr as *const u8, limit)) [INFO] [stderr] ... | [INFO] [stderr] 368 | | } [INFO] [stderr] 369 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [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/lib.rs:255:5 [INFO] [stderr] | [INFO] [stderr] 255 | / pub fn from_str(s: &str) -> &CFixedStr { [INFO] [stderr] 256 | | Self::from_bytes(s.as_bytes()) [INFO] [stderr] 257 | | } [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/lib.rs:295:32 [INFO] [stderr] | [INFO] [stderr] 295 | memchr(0, &self.inner).unwrap_or(self.limit()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.limit())` [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: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:304:25 [INFO] [stderr] | [INFO] [stderr] 304 | pub fn to_bytes_mut(&mut self) -> &mut [u8] { [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: an inclusive range would be more readable [INFO] [stderr] --> src/lib.rs:312:25 [INFO] [stderr] | [INFO] [stderr] 312 | &self.inner[0 .. l+1] [INFO] [stderr] | ^^^^^^^^ help: use: `0..=l` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:319:34 [INFO] [stderr] | [INFO] [stderr] 319 | pub fn to_bytes_mut_extended(&mut self) -> &mut [u8] { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [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: an inclusive range would be more readable [INFO] [stderr] --> src/lib.rs:321:29 [INFO] [stderr] | [INFO] [stderr] 321 | &mut self.inner[0 .. l+1] [INFO] [stderr] | ^^^^^^^^ help: use: `0..=l` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/lib.rs:357:84 [INFO] [stderr] | [INFO] [stderr] 357 | Cow::Borrowed(unsafe { CStr::from_bytes_with_nul_unchecked(&self.inner[0 .. l+1]) }) [INFO] [stderr] | ^^^^^^^^ help: use: `0..=l` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: methods called `into_*` usually take self by value; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:365:32 [INFO] [stderr] | [INFO] [stderr] 365 | pub fn into_c_fixed_string(self: Box) -> CFixedString { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.90s [INFO] running `"docker" "inspect" "d42e7add0310df1142382652aad788bcbf7669e0307ff94946fecea517f6020c"` [INFO] running `"docker" "rm" "-f" "d42e7add0310df1142382652aad788bcbf7669e0307ff94946fecea517f6020c"` [INFO] [stdout] d42e7add0310df1142382652aad788bcbf7669e0307ff94946fecea517f6020c