[INFO] crate debt64 1.1.1 is already in cache [INFO] extracting crate debt64 1.1.1 into work/ex/clippy-test-run/sources/stable/reg/debt64/1.1.1 [INFO] extracting crate debt64 1.1.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/debt64/1.1.1 [INFO] validating manifest of debt64-1.1.1 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 debt64-1.1.1 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 debt64-1.1.1 [INFO] finished frobbing debt64-1.1.1 [INFO] frobbed toml for debt64-1.1.1 written to work/ex/clippy-test-run/sources/stable/reg/debt64/1.1.1/Cargo.toml [INFO] started frobbing debt64-1.1.1 [INFO] finished frobbing debt64-1.1.1 [INFO] frobbed toml for debt64-1.1.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/debt64/1.1.1/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 debt64-1.1.1 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/debt64/1.1.1:/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] 8f7029e1c83da2d8c8b1b029add9e8fd1d5ae9ee3413e03f64545e921f97876f [INFO] running `"docker" "start" "-a" "8f7029e1c83da2d8c8b1b029add9e8fd1d5ae9ee3413e03f64545e921f97876f"` [INFO] [stderr] Checking debt64 v1.1.1 (/opt/crater/workdir) [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:34:18 [INFO] [stderr] | [INFO] [stderr] 34 | pub const NAME: &'static str = "Debt64"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [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:37:23 [INFO] [stderr] | [INFO] [stderr] 37 | pub const CODE_NAME: &'static str = code_name!(); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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:40:21 [INFO] [stderr] | [INFO] [stderr] 40 | pub const VERSION: &'static str = version!(); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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:46:18 [INFO] [stderr] | [INFO] [stderr] 46 | pub const UUID: &'static str = "6e07c48e-cc38-45d0-8265-4bc1a82def63"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | pub const TAG: &'static str = concat!(code_name!(), "::6e07c48e::", version!()); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/lib.rs:277:9 [INFO] [stderr] | [INFO] [stderr] 277 | result [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/lib.rs:271:22 [INFO] [stderr] | [INFO] [stderr] 271 | let result = (result / 4).saturating_mul(3).saturating_add(match result % 4 { [INFO] [stderr] | ______________________^ [INFO] [stderr] 272 | | 0 | 1 => 0, [INFO] [stderr] 273 | | 2 => 1, [INFO] [stderr] 274 | | _ => 2, [INFO] [stderr] 275 | | }); [INFO] [stderr] | |__________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:34:18 [INFO] [stderr] | [INFO] [stderr] 34 | pub const NAME: &'static str = "Debt64"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [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:37:23 [INFO] [stderr] | [INFO] [stderr] 37 | pub const CODE_NAME: &'static str = code_name!(); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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:40:21 [INFO] [stderr] | [INFO] [stderr] 40 | pub const VERSION: &'static str = version!(); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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:46:18 [INFO] [stderr] | [INFO] [stderr] 46 | pub const UUID: &'static str = "6e07c48e-cc38-45d0-8265-4bc1a82def63"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | pub const TAG: &'static str = concat!(code_name!(), "::6e07c48e::", version!()); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/lib.rs:277:9 [INFO] [stderr] | [INFO] [stderr] 277 | result [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/lib.rs:271:22 [INFO] [stderr] | [INFO] [stderr] 271 | let result = (result / 4).saturating_mul(3).saturating_add(match result % 4 { [INFO] [stderr] | ______________________^ [INFO] [stderr] 272 | | 0 | 1 => 0, [INFO] [stderr] 273 | | 2 => 1, [INFO] [stderr] 274 | | _ => 2, [INFO] [stderr] 275 | | }); [INFO] [stderr] | |__________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/encoder.rs:10:34 [INFO] [stderr] | [INFO] [stderr] 10 | fn add_char(s: &mut String, chr: &char, max_line_len: &usize, line_separators: &Option<&[char]>, line_column: &mut usize) { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `char` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/encoder.rs:10:55 [INFO] [stderr] | [INFO] [stderr] 10 | fn add_char(s: &mut String, chr: &char, max_line_len: &usize, line_separators: &Option<&[char]>, line_column: &mut usize) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/encoder.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | / loop { [INFO] [stderr] 44 | | // First [INFO] [stderr] 45 | | let byte = match index < len { [INFO] [stderr] 46 | | true => bytes[index], [INFO] [stderr] ... | [INFO] [stderr] 96 | | }; [INFO] [stderr] 97 | | } [INFO] [stderr] | |_____^ help: try: `while let true = index < len { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/encoder.rs:45:20 [INFO] [stderr] | [INFO] [stderr] 45 | let byte = match index < len { [INFO] [stderr] | ____________________^ [INFO] [stderr] 46 | | true => bytes[index], [INFO] [stderr] 47 | | false => break, [INFO] [stderr] 48 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if index < len { bytes[index] } else { break }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/encoder.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | / match index < len { [INFO] [stderr] 55 | | true => { [INFO] [stderr] 56 | | let byte = bytes[index]; [INFO] [stderr] 57 | | index += 1; [INFO] [stderr] ... | [INFO] [stderr] 95 | | }, [INFO] [stderr] 96 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 54 | if index < len { [INFO] [stderr] 55 | let byte = bytes[index]; [INFO] [stderr] 56 | index += 1; [INFO] [stderr] 57 | add_char( [INFO] [stderr] 58 | &mut result, Kind::get_char((bits | (byte >> 4)) as usize, last_chars), &max_line_len, &line_separators, &mut line_column [INFO] [stderr] 59 | ); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/encoder.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | / match index < len { [INFO] [stderr] 65 | | true => { [INFO] [stderr] 66 | | let byte = bytes[index]; [INFO] [stderr] 67 | | index += 1; [INFO] [stderr] ... | [INFO] [stderr] 84 | | }, [INFO] [stderr] 85 | | }; [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 64 | if index < len { [INFO] [stderr] 65 | let byte = bytes[index]; [INFO] [stderr] 66 | index += 1; [INFO] [stderr] 67 | [INFO] [stderr] 68 | add_char( [INFO] [stderr] 69 | &mut result, Kind::get_char((bits | (byte >> 6)) as usize, last_chars), &max_line_len, &line_separators, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/decoder.rs:50:25 [INFO] [stderr] | [INFO] [stderr] 50 | b'=' => match self.index > 1 && self.must_or_can_use_pad { [INFO] [stderr] | _________________________^ [INFO] [stderr] 51 | | true => return Ok(Some((0, true))), [INFO] [stderr] 52 | | false => return Err(Error::new(ErrorKind::InvalidData, "Invalid pad char: '='")), [INFO] [stderr] 53 | | }, [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.index > 1 && self.must_or_can_use_pad { return Ok(Some((0, true))) } else { return Err(Error::new(ErrorKind::InvalidData, "Invalid pad char: '='")) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/decoder.rs:54:41 [INFO] [stderr] | [INFO] [stderr] 54 | b'\r' | b'\n' | b' ' => match self.allows_line_separators { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 55 | | true => { [INFO] [stderr] 56 | | match byte { [INFO] [stderr] 57 | | b' ' => (), [INFO] [stderr] ... | [INFO] [stderr] 75 | | false => return Err(Error::new(ErrorKind::InvalidData, format!("Invalid line separator: {:02x}", byte))), [INFO] [stderr] 76 | | }, [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 54 | b'\r' | b'\n' | b' ' => if self.allows_line_separators { [INFO] [stderr] 55 | match byte { [INFO] [stderr] 56 | b' ' => (), [INFO] [stderr] 57 | b'\r' => { [INFO] [stderr] 58 | if self.index >= self.len || self.bytes[self.index] != b'\n' { [INFO] [stderr] 59 | return Err(Error::new(ErrorKind::InvalidData, format!("Invalid line separator: {:?}", &byte))); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/decoder.rs:67:25 [INFO] [stderr] | [INFO] [stderr] 67 | / match self.index < self.len { [INFO] [stderr] 68 | | true => match self.bytes[self.index] { [INFO] [stderr] 69 | | b'\r' | b'\n' => return Err(Error::new(ErrorKind::InvalidData, "Duplicate line separators")), [INFO] [stderr] 70 | | _ => (), [INFO] [stderr] 71 | | }, [INFO] [stderr] 72 | | false => return Ok(None), [INFO] [stderr] 73 | | }; [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 67 | if self.index < self.len { match self.bytes[self.index] { [INFO] [stderr] 68 | b'\r' | b'\n' => return Err(Error::new(ErrorKind::InvalidData, "Duplicate line separators")), [INFO] [stderr] 69 | _ => (), [INFO] [stderr] 70 | } } else { return Ok(None) }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/decoder.rs:83:25 [INFO] [stderr] | [INFO] [stderr] 83 | / match self.allows_invalid_chars { [INFO] [stderr] 84 | | true => (), [INFO] [stderr] 85 | | false => return Err(Error::new(ErrorKind::InvalidData, format!("Invalid byte: {:?}", byte))), [INFO] [stderr] 86 | | }; [INFO] [stderr] | |_________________________^ help: consider using an if/else expression: `if !self.allows_invalid_chars { return Err(Error::new(ErrorKind::InvalidData, format!("Invalid byte: {:?}", byte))) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/decoder.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | / loop { [INFO] [stderr] 112 | | let first_bits = match decoder.decode_bits()? { [INFO] [stderr] 113 | | Some((first_bits, is_pad_char)) => match is_pad_char { [INFO] [stderr] 114 | | true => return Err(Error::new(ErrorKind::InvalidData, "Invalid pad character at first byte")), [INFO] [stderr] ... | [INFO] [stderr] 162 | | }; [INFO] [stderr] 163 | | } [INFO] [stderr] | |_____^ help: try: `while let Some((first_bits, is_pad_char)) = decoder.decode_bits()? { .. }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/decoder.rs:113:48 [INFO] [stderr] | [INFO] [stderr] 113 | Some((first_bits, is_pad_char)) => match is_pad_char { [INFO] [stderr] | ________________________________________________^ [INFO] [stderr] 114 | | true => return Err(Error::new(ErrorKind::InvalidData, "Invalid pad character at first byte")), [INFO] [stderr] 115 | | false => first_bits, [INFO] [stderr] 116 | | }, [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if is_pad_char { return Err(Error::new(ErrorKind::InvalidData, "Invalid pad character at first byte")) } else { first_bits }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/decoder.rs:120:49 [INFO] [stderr] | [INFO] [stderr] 120 | Some((second_bits, is_pad_char)) => match is_pad_char { [INFO] [stderr] | _________________________________________________^ [INFO] [stderr] 121 | | true => return Err(Error::new(ErrorKind::InvalidData, "Invalid pad character at second byte")), [INFO] [stderr] 122 | | false => { [INFO] [stderr] 123 | | result.push((first_bits << 2) | (second_bits >> 4)); [INFO] [stderr] 124 | | second_bits [INFO] [stderr] 125 | | }, [INFO] [stderr] 126 | | }, [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 120 | Some((second_bits, is_pad_char)) => if is_pad_char { return Err(Error::new(ErrorKind::InvalidData, "Invalid pad character at second byte")) } else { [INFO] [stderr] 121 | result.push((first_bits << 2) | (second_bits >> 4)); [INFO] [stderr] 122 | second_bits [INFO] [stderr] 123 | }, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/decoder.rs:131:20 [INFO] [stderr] | [INFO] [stderr] 131 | if is_pad_char == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!is_pad_char` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/decoder.rs:136:21 [INFO] [stderr] | [INFO] [stderr] 136 | None => match must_use_pad { [INFO] [stderr] | _____________________^ [INFO] [stderr] 137 | | true => return Err(Error::new(ErrorKind::InvalidData, "Missing pad char '=' for third byte")), [INFO] [stderr] 138 | | false => break, [INFO] [stderr] 139 | | }, [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if must_use_pad { return Err(Error::new(ErrorKind::InvalidData, "Missing pad char '=' for third byte")) } else { break }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/decoder.rs:143:17 [INFO] [stderr] | [INFO] [stderr] 143 | / match third_byte_is_pad_char { [INFO] [stderr] 144 | | true => if is_pad_char == false { [INFO] [stderr] 145 | | return Err(Error::new(ErrorKind::InvalidData, "Invalid character after first pad character")); [INFO] [stderr] 146 | | }, [INFO] [stderr] ... | [INFO] [stderr] 149 | | }, [INFO] [stderr] 150 | | }; [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 143 | if third_byte_is_pad_char { if is_pad_char == false { [INFO] [stderr] 144 | return Err(Error::new(ErrorKind::InvalidData, "Invalid character after first pad character")); [INFO] [stderr] 145 | } } else { if is_pad_char == false { [INFO] [stderr] 146 | result.push((third_bits << 6) | fourth_bits); [INFO] [stderr] 147 | } }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/decoder.rs:144:32 [INFO] [stderr] | [INFO] [stderr] 144 | true => if is_pad_char == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!is_pad_char` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/decoder.rs:147:33 [INFO] [stderr] | [INFO] [stderr] 147 | false => if is_pad_char == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!is_pad_char` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/decoder.rs:152:21 [INFO] [stderr] | [INFO] [stderr] 152 | / match decoder.has_more_bytes() { [INFO] [stderr] 153 | | true => return Err(Error::new(ErrorKind::InvalidData, "Invalid character after ending")), [INFO] [stderr] 154 | | false => break, [INFO] [stderr] 155 | | }; [INFO] [stderr] | |_____________________^ help: consider using an if/else expression: `if decoder.has_more_bytes() { return Err(Error::new(ErrorKind::InvalidData, "Invalid character after ending")) } else { break }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/decoder.rs:158:21 [INFO] [stderr] | [INFO] [stderr] 158 | None => match must_use_pad { [INFO] [stderr] | _____________________^ [INFO] [stderr] 159 | | true => return Err(Error::new(ErrorKind::InvalidData, "Missing pad char '=' for fourth byte")), [INFO] [stderr] 160 | | false => break, [INFO] [stderr] 161 | | }, [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if must_use_pad { return Err(Error::new(ErrorKind::InvalidData, "Missing pad char '=' for fourth byte")) } else { break }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/lib.rs:242:22 [INFO] [stderr] | [INFO] [stderr] 242 | other => match self.must_use_pad() { [INFO] [stderr] | ______________________^ [INFO] [stderr] 243 | | true => 4, [INFO] [stderr] 244 | | false => other + 1, [INFO] [stderr] 245 | | }, [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if self.must_use_pad() { 4 } else { other + 1 }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/encoder.rs:10:34 [INFO] [stderr] | [INFO] [stderr] 10 | fn add_char(s: &mut String, chr: &char, max_line_len: &usize, line_separators: &Option<&[char]>, line_column: &mut usize) { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `char` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/encoder.rs:10:55 [INFO] [stderr] | [INFO] [stderr] 10 | fn add_char(s: &mut String, chr: &char, max_line_len: &usize, line_separators: &Option<&[char]>, line_column: &mut usize) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/encoder.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | / loop { [INFO] [stderr] 44 | | // First [INFO] [stderr] 45 | | let byte = match index < len { [INFO] [stderr] 46 | | true => bytes[index], [INFO] [stderr] ... | [INFO] [stderr] 96 | | }; [INFO] [stderr] 97 | | } [INFO] [stderr] | |_____^ help: try: `while let true = index < len { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/encoder.rs:45:20 [INFO] [stderr] | [INFO] [stderr] 45 | let byte = match index < len { [INFO] [stderr] | ____________________^ [INFO] [stderr] 46 | | true => bytes[index], [INFO] [stderr] 47 | | false => break, [INFO] [stderr] 48 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if index < len { bytes[index] } else { break }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/encoder.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | / match index < len { [INFO] [stderr] 55 | | true => { [INFO] [stderr] 56 | | let byte = bytes[index]; [INFO] [stderr] 57 | | index += 1; [INFO] [stderr] ... | [INFO] [stderr] 95 | | }, [INFO] [stderr] 96 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 54 | if index < len { [INFO] [stderr] 55 | let byte = bytes[index]; [INFO] [stderr] 56 | index += 1; [INFO] [stderr] 57 | add_char( [INFO] [stderr] 58 | &mut result, Kind::get_char((bits | (byte >> 4)) as usize, last_chars), &max_line_len, &line_separators, &mut line_column [INFO] [stderr] 59 | ); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/encoder.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | / match index < len { [INFO] [stderr] 65 | | true => { [INFO] [stderr] 66 | | let byte = bytes[index]; [INFO] [stderr] 67 | | index += 1; [INFO] [stderr] ... | [INFO] [stderr] 84 | | }, [INFO] [stderr] 85 | | }; [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 64 | if index < len { [INFO] [stderr] 65 | let byte = bytes[index]; [INFO] [stderr] 66 | index += 1; [INFO] [stderr] 67 | [INFO] [stderr] 68 | add_char( [INFO] [stderr] 69 | &mut result, Kind::get_char((bits | (byte >> 6)) as usize, last_chars), &max_line_len, &line_separators, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/decoder.rs:50:25 [INFO] [stderr] | [INFO] [stderr] 50 | b'=' => match self.index > 1 && self.must_or_can_use_pad { [INFO] [stderr] | _________________________^ [INFO] [stderr] 51 | | true => return Ok(Some((0, true))), [INFO] [stderr] 52 | | false => return Err(Error::new(ErrorKind::InvalidData, "Invalid pad char: '='")), [INFO] [stderr] 53 | | }, [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.index > 1 && self.must_or_can_use_pad { return Ok(Some((0, true))) } else { return Err(Error::new(ErrorKind::InvalidData, "Invalid pad char: '='")) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/decoder.rs:54:41 [INFO] [stderr] | [INFO] [stderr] 54 | b'\r' | b'\n' | b' ' => match self.allows_line_separators { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 55 | | true => { [INFO] [stderr] 56 | | match byte { [INFO] [stderr] 57 | | b' ' => (), [INFO] [stderr] ... | [INFO] [stderr] 75 | | false => return Err(Error::new(ErrorKind::InvalidData, format!("Invalid line separator: {:02x}", byte))), [INFO] [stderr] 76 | | }, [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 54 | b'\r' | b'\n' | b' ' => if self.allows_line_separators { [INFO] [stderr] 55 | match byte { [INFO] [stderr] 56 | b' ' => (), [INFO] [stderr] 57 | b'\r' => { [INFO] [stderr] 58 | if self.index >= self.len || self.bytes[self.index] != b'\n' { [INFO] [stderr] 59 | return Err(Error::new(ErrorKind::InvalidData, format!("Invalid line separator: {:?}", &byte))); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/decoder.rs:67:25 [INFO] [stderr] | [INFO] [stderr] 67 | / match self.index < self.len { [INFO] [stderr] 68 | | true => match self.bytes[self.index] { [INFO] [stderr] 69 | | b'\r' | b'\n' => return Err(Error::new(ErrorKind::InvalidData, "Duplicate line separators")), [INFO] [stderr] 70 | | _ => (), [INFO] [stderr] 71 | | }, [INFO] [stderr] 72 | | false => return Ok(None), [INFO] [stderr] 73 | | }; [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 67 | if self.index < self.len { match self.bytes[self.index] { [INFO] [stderr] 68 | b'\r' | b'\n' => return Err(Error::new(ErrorKind::InvalidData, "Duplicate line separators")), [INFO] [stderr] 69 | _ => (), [INFO] [stderr] 70 | } } else { return Ok(None) }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/decoder.rs:83:25 [INFO] [stderr] | [INFO] [stderr] 83 | / match self.allows_invalid_chars { [INFO] [stderr] 84 | | true => (), [INFO] [stderr] 85 | | false => return Err(Error::new(ErrorKind::InvalidData, format!("Invalid byte: {:?}", byte))), [INFO] [stderr] 86 | | }; [INFO] [stderr] | |_________________________^ help: consider using an if/else expression: `if !self.allows_invalid_chars { return Err(Error::new(ErrorKind::InvalidData, format!("Invalid byte: {:?}", byte))) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/decoder.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | / loop { [INFO] [stderr] 112 | | let first_bits = match decoder.decode_bits()? { [INFO] [stderr] 113 | | Some((first_bits, is_pad_char)) => match is_pad_char { [INFO] [stderr] 114 | | true => return Err(Error::new(ErrorKind::InvalidData, "Invalid pad character at first byte")), [INFO] [stderr] ... | [INFO] [stderr] 162 | | }; [INFO] [stderr] 163 | | } [INFO] [stderr] | |_____^ help: try: `while let Some((first_bits, is_pad_char)) = decoder.decode_bits()? { .. }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/decoder.rs:113:48 [INFO] [stderr] | [INFO] [stderr] 113 | Some((first_bits, is_pad_char)) => match is_pad_char { [INFO] [stderr] | ________________________________________________^ [INFO] [stderr] 114 | | true => return Err(Error::new(ErrorKind::InvalidData, "Invalid pad character at first byte")), [INFO] [stderr] 115 | | false => first_bits, [INFO] [stderr] 116 | | }, [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if is_pad_char { return Err(Error::new(ErrorKind::InvalidData, "Invalid pad character at first byte")) } else { first_bits }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/decoder.rs:120:49 [INFO] [stderr] | [INFO] [stderr] 120 | Some((second_bits, is_pad_char)) => match is_pad_char { [INFO] [stderr] | _________________________________________________^ [INFO] [stderr] 121 | | true => return Err(Error::new(ErrorKind::InvalidData, "Invalid pad character at second byte")), [INFO] [stderr] 122 | | false => { [INFO] [stderr] 123 | | result.push((first_bits << 2) | (second_bits >> 4)); [INFO] [stderr] 124 | | second_bits [INFO] [stderr] 125 | | }, [INFO] [stderr] 126 | | }, [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 120 | Some((second_bits, is_pad_char)) => if is_pad_char { return Err(Error::new(ErrorKind::InvalidData, "Invalid pad character at second byte")) } else { [INFO] [stderr] 121 | result.push((first_bits << 2) | (second_bits >> 4)); [INFO] [stderr] 122 | second_bits [INFO] [stderr] 123 | }, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/decoder.rs:131:20 [INFO] [stderr] | [INFO] [stderr] 131 | if is_pad_char == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!is_pad_char` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/decoder.rs:136:21 [INFO] [stderr] | [INFO] [stderr] 136 | None => match must_use_pad { [INFO] [stderr] | _____________________^ [INFO] [stderr] 137 | | true => return Err(Error::new(ErrorKind::InvalidData, "Missing pad char '=' for third byte")), [INFO] [stderr] 138 | | false => break, [INFO] [stderr] 139 | | }, [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if must_use_pad { return Err(Error::new(ErrorKind::InvalidData, "Missing pad char '=' for third byte")) } else { break }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/decoder.rs:143:17 [INFO] [stderr] | [INFO] [stderr] 143 | / match third_byte_is_pad_char { [INFO] [stderr] 144 | | true => if is_pad_char == false { [INFO] [stderr] 145 | | return Err(Error::new(ErrorKind::InvalidData, "Invalid character after first pad character")); [INFO] [stderr] 146 | | }, [INFO] [stderr] ... | [INFO] [stderr] 149 | | }, [INFO] [stderr] 150 | | }; [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 143 | if third_byte_is_pad_char { if is_pad_char == false { [INFO] [stderr] 144 | return Err(Error::new(ErrorKind::InvalidData, "Invalid character after first pad character")); [INFO] [stderr] 145 | } } else { if is_pad_char == false { [INFO] [stderr] 146 | result.push((third_bits << 6) | fourth_bits); [INFO] [stderr] 147 | } }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/decoder.rs:144:32 [INFO] [stderr] | [INFO] [stderr] 144 | true => if is_pad_char == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!is_pad_char` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/decoder.rs:147:33 [INFO] [stderr] | [INFO] [stderr] 147 | false => if is_pad_char == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!is_pad_char` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/decoder.rs:152:21 [INFO] [stderr] | [INFO] [stderr] 152 | / match decoder.has_more_bytes() { [INFO] [stderr] 153 | | true => return Err(Error::new(ErrorKind::InvalidData, "Invalid character after ending")), [INFO] [stderr] 154 | | false => break, [INFO] [stderr] 155 | | }; [INFO] [stderr] | |_____________________^ help: consider using an if/else expression: `if decoder.has_more_bytes() { return Err(Error::new(ErrorKind::InvalidData, "Invalid character after ending")) } else { break }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/decoder.rs:158:21 [INFO] [stderr] | [INFO] [stderr] 158 | None => match must_use_pad { [INFO] [stderr] | _____________________^ [INFO] [stderr] 159 | | true => return Err(Error::new(ErrorKind::InvalidData, "Missing pad char '=' for fourth byte")), [INFO] [stderr] 160 | | false => break, [INFO] [stderr] 161 | | }, [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if must_use_pad { return Err(Error::new(ErrorKind::InvalidData, "Missing pad char '=' for fourth byte")) } else { break }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/lib.rs:242:22 [INFO] [stderr] | [INFO] [stderr] 242 | other => match self.must_use_pad() { [INFO] [stderr] | ______________________^ [INFO] [stderr] 243 | | true => 4, [INFO] [stderr] 244 | | false => other + 1, [INFO] [stderr] 245 | | }, [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if self.must_use_pad() { 4 } else { other + 1 }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> tests/benchmarks.rs:12:49 [INFO] [stderr] | [INFO] [stderr] 12 | Ok(Ok(duration)) => Duration::from_secs(duration.max(1) as u64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(duration.max(1))` [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: equality checks against false can be replaced by a negation [INFO] [stderr] --> tests/benchmarks.rs:29:17 [INFO] [stderr] | [INFO] [stderr] 29 | assert!(debt64::encode_freenet_url(&url.as_bytes()[..bytes.len()]).is_empty() == false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!debt64::encode_freenet_url(&url.as_bytes()[..bytes.len()]).is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> tests/benchmarks.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | / match Instant::now().duration_since(start_time) <= duration { [INFO] [stderr] 31 | | true => count = match count.checked_add(5) { [INFO] [stderr] 32 | | Some(count) => count, [INFO] [stderr] 33 | | None => break, [INFO] [stderr] 34 | | }, [INFO] [stderr] 35 | | false => break, [INFO] [stderr] 36 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 30 | if Instant::now().duration_since(start_time) <= duration { count = match count.checked_add(5) { [INFO] [stderr] 31 | Some(count) => count, [INFO] [stderr] 32 | None => break, [INFO] [stderr] 33 | } } else { break }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> tests/benchmarks.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | / match Instant::now().duration_since(start_time) <= duration { [INFO] [stderr] 55 | | true => count = match count.checked_add(5) { [INFO] [stderr] 56 | | Some(count) => count, [INFO] [stderr] 57 | | None => break, [INFO] [stderr] 58 | | }, [INFO] [stderr] 59 | | false => break, [INFO] [stderr] 60 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 54 | if Instant::now().duration_since(start_time) <= duration { count = match count.checked_add(5) { [INFO] [stderr] 55 | Some(count) => count, [INFO] [stderr] 56 | None => break, [INFO] [stderr] 57 | } } else { break }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on `include_str!(..)` [INFO] [stderr] --> tests/mixed.rs:11:27 [INFO] [stderr] | [INFO] [stderr] 11 | bytes.append(&mut include_str!("mixed.rs").as_bytes().to_vec()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `include_bytes!(..)` instead: `include_bytes!("mixed.rs")` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.88s [INFO] running `"docker" "inspect" "8f7029e1c83da2d8c8b1b029add9e8fd1d5ae9ee3413e03f64545e921f97876f"` [INFO] running `"docker" "rm" "-f" "8f7029e1c83da2d8c8b1b029add9e8fd1d5ae9ee3413e03f64545e921f97876f"` [INFO] [stdout] 8f7029e1c83da2d8c8b1b029add9e8fd1d5ae9ee3413e03f64545e921f97876f