[INFO] crate djangohashers 0.3.2 is already in cache [INFO] extracting crate djangohashers 0.3.2 into work/ex/clippy-test-run/sources/stable/reg/djangohashers/0.3.2 [INFO] extracting crate djangohashers 0.3.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/djangohashers/0.3.2 [INFO] validating manifest of djangohashers-0.3.2 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 djangohashers-0.3.2 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 djangohashers-0.3.2 [INFO] finished frobbing djangohashers-0.3.2 [INFO] frobbed toml for djangohashers-0.3.2 written to work/ex/clippy-test-run/sources/stable/reg/djangohashers/0.3.2/Cargo.toml [INFO] started frobbing djangohashers-0.3.2 [INFO] finished frobbing djangohashers-0.3.2 [INFO] frobbed toml for djangohashers-0.3.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/djangohashers/0.3.2/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 djangohashers-0.3.2 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/djangohashers/0.3.2:/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] ef6c3570bcdff2971d291e36f0817b5d792e96c8bc1b18388b6dbc5c6bde9ada [INFO] running `"docker" "start" "-a" "ef6c3570bcdff2971d291e36f0817b5d792e96c8bc1b18388b6dbc5c6bde9ada"` [INFO] [stderr] Checking blowfish v0.4.0 [INFO] [stderr] Checking pwhash v0.2.0 [INFO] [stderr] Checking bcrypt v0.2.2 [INFO] [stderr] Checking djangohashers v0.3.2 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/crypto_utils.rs:129:9 [INFO] [stderr] | [INFO] [stderr] 129 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/crypto_utils.rs:129:9 [INFO] [stderr] | [INFO] [stderr] 129 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/hashers.rs:158:17 [INFO] [stderr] | [INFO] [stderr] 158 | return Ok(valid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(valid)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/hashers.rs:161:17 [INFO] [stderr] | [INFO] [stderr] 161 | return Ok(false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(false)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/hashers.rs:184:17 [INFO] [stderr] | [INFO] [stderr] 184 | return Ok(valid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(valid)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/hashers.rs:187:17 [INFO] [stderr] | [INFO] [stderr] 187 | return Ok(false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(false)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:194:37 [INFO] [stderr] | [INFO] [stderr] 194 | &DjangoVersion::V2_0 => 100000, [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [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/lib.rs:195:63 [INFO] [stderr] | [INFO] [stderr] 195 | &DjangoVersion::V2_1 | &DjangoVersion::Current => 120000, [INFO] [stderr] | ^^^^^^ help: consider: `120_000` [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/lib.rs:196:37 [INFO] [stderr] | [INFO] [stderr] 196 | &DjangoVersion::V2_2 => 150000, [INFO] [stderr] | ^^^^^^ help: consider: `150_000` [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: unneeded return statement [INFO] [stderr] --> src/hashers.rs:158:17 [INFO] [stderr] | [INFO] [stderr] 158 | return Ok(valid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(valid)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/hashers.rs:161:17 [INFO] [stderr] | [INFO] [stderr] 161 | return Ok(false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(false)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/hashers.rs:184:17 [INFO] [stderr] | [INFO] [stderr] 184 | return Ok(valid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(valid)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/hashers.rs:187:17 [INFO] [stderr] | [INFO] [stderr] 187 | return Ok(false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(false)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:194:37 [INFO] [stderr] | [INFO] [stderr] 194 | &DjangoVersion::V2_0 => 100000, [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [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/lib.rs:195:63 [INFO] [stderr] | [INFO] [stderr] 195 | &DjangoVersion::V2_1 | &DjangoVersion::Current => 120000, [INFO] [stderr] | ^^^^^^ help: consider: `120_000` [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/lib.rs:196:37 [INFO] [stderr] | [INFO] [stderr] 196 | &DjangoVersion::V2_2 => 150000, [INFO] [stderr] | ^^^^^^ help: consider: `150_000` [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: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:40:53 [INFO] [stderr] | [INFO] [stderr] 40 | let encoded_part: Vec<&str> = encoded.split("$").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:68:53 [INFO] [stderr] | [INFO] [stderr] 68 | let encoded_part: Vec<&str> = encoded.split("$").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:101:53 [INFO] [stderr] | [INFO] [stderr] 101 | let encoded_part: Vec<&str> = encoded.split("$").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:111:55 [INFO] [stderr] | [INFO] [stderr] 111 | let settings_part: Vec<&str> = settings.split(",").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:112:55 [INFO] [stderr] | [INFO] [stderr] 112 | let memory_cost: u32 = settings_part[0].split("=").collect::>()[1].parse::().unwrap(); [INFO] [stderr] | ^^^ help: try using a char instead: `'='` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:113:53 [INFO] [stderr] | [INFO] [stderr] 113 | let time_cost: u32 = settings_part[1].split("=").collect::>()[1].parse::().unwrap(); [INFO] [stderr] | ^^^ help: try using a char instead: `'='` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:114:55 [INFO] [stderr] | [INFO] [stderr] 114 | let parallelism: u32 = settings_part[2].split("=").collect::>()[1].parse::().unwrap(); [INFO] [stderr] | ^^^ help: try using a char instead: `'='` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:153:64 [INFO] [stderr] | [INFO] [stderr] 153 | let bcrypt_encoded_part: Vec<&str> = encoded.splitn(2, "$").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:180:64 [INFO] [stderr] | [INFO] [stderr] 180 | let bcrypt_encoded_part: Vec<&str> = encoded.splitn(2, "$").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:205:53 [INFO] [stderr] | [INFO] [stderr] 205 | let encoded_part: Vec<&str> = encoded.split("$").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:224:53 [INFO] [stderr] | [INFO] [stderr] 224 | let encoded_part: Vec<&str> = encoded.split("$").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:243:53 [INFO] [stderr] | [INFO] [stderr] 243 | let encoded_part: Vec<&str> = encoded.split("$").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:276:53 [INFO] [stderr] | [INFO] [stderr] 276 | let encoded_part: Vec<&str> = encoded.split("$").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:63:53 [INFO] [stderr] | [INFO] [stderr] 63 | if encoded.len() == 32 && !encoded.contains("$") { [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:71:53 [INFO] [stderr] | [INFO] [stderr] 71 | let encoded_part: Vec<&str> = encoded.splitn(2, "$").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | / match algorithm { [INFO] [stderr] 96 | | #[cfg(feature="with_pbkdf2")] [INFO] [stderr] 97 | | &Algorithm::PBKDF2 => Box::new(PBKDF2Hasher), [INFO] [stderr] 98 | | #[cfg(feature="with_pbkdf2")] [INFO] [stderr] ... | [INFO] [stderr] 116 | | // _ => panic!("You need to compile with at least one algorithm.") [INFO] [stderr] 117 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 95 | match *algorithm { [INFO] [stderr] 96 | #[cfg(feature="with_pbkdf2")] [INFO] [stderr] 97 | Algorithm::PBKDF2 => Box::new(PBKDF2Hasher), [INFO] [stderr] 98 | #[cfg(feature="with_pbkdf2")] [INFO] [stderr] 99 | Algorithm::PBKDF2SHA1 => Box::new(PBKDF2SHA1Hasher), [INFO] [stderr] 100 | #[cfg(feature="with_argon2")] [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:123:59 [INFO] [stderr] | [INFO] [stderr] 123 | Some(_) => !(encoded == "" || encoded.starts_with("!")), [INFO] [stderr] | ^^^ help: try using a char instead: `'!'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:183:5 [INFO] [stderr] | [INFO] [stderr] 183 | / match algorithm { [INFO] [stderr] 184 | | #[cfg(feature="with_bcrypt")] [INFO] [stderr] 185 | | &Algorithm::BCryptSHA256 | &Algorithm::BCrypt => 12, [INFO] [stderr] 186 | | #[cfg(feature="with_pbkdf2")] [INFO] [stderr] ... | [INFO] [stderr] 201 | | &Algorithm::SHA1 | &Algorithm::MD5 | &Algorithm::UnsaltedSHA1 | &Algorithm::UnsaltedMD5 | &Algorithm::Crypt => 1, [INFO] [stderr] 202 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 183 | match *algorithm { [INFO] [stderr] 184 | #[cfg(feature="with_bcrypt")] [INFO] [stderr] 185 | Algorithm::BCryptSHA256 | Algorithm::BCrypt => 12, [INFO] [stderr] 186 | #[cfg(feature="with_pbkdf2")] [INFO] [stderr] 187 | Algorithm::PBKDF2 | Algorithm::PBKDF2SHA1 => match version { [INFO] [stderr] 188 | &DjangoVersion::V1_4 | &DjangoVersion::V1_5 => 10000, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:187:56 [INFO] [stderr] | [INFO] [stderr] 187 | &Algorithm::PBKDF2 | &Algorithm::PBKDF2SHA1 => match version { [INFO] [stderr] | ________________________________________________________^ [INFO] [stderr] 188 | | &DjangoVersion::V1_4 | &DjangoVersion::V1_5 => 10000, [INFO] [stderr] 189 | | &DjangoVersion::V1_6 | &DjangoVersion::V1_7 => 12000, [INFO] [stderr] 190 | | &DjangoVersion::V1_8 => 20000, [INFO] [stderr] ... | [INFO] [stderr] 196 | | &DjangoVersion::V2_2 => 150000, [INFO] [stderr] 197 | | }, [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 187 | &Algorithm::PBKDF2 | &Algorithm::PBKDF2SHA1 => match *version { [INFO] [stderr] 188 | DjangoVersion::V1_4 | DjangoVersion::V1_5 => 10000, [INFO] [stderr] 189 | DjangoVersion::V1_6 | DjangoVersion::V1_7 => 12000, [INFO] [stderr] 190 | DjangoVersion::V1_8 => 20000, [INFO] [stderr] 191 | DjangoVersion::V1_9 => 24000, [INFO] [stderr] 192 | DjangoVersion::V1_10 => 30000, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:40:53 [INFO] [stderr] | [INFO] [stderr] 40 | let encoded_part: Vec<&str> = encoded.split("$").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:68:53 [INFO] [stderr] | [INFO] [stderr] 68 | let encoded_part: Vec<&str> = encoded.split("$").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:101:53 [INFO] [stderr] | [INFO] [stderr] 101 | let encoded_part: Vec<&str> = encoded.split("$").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:111:55 [INFO] [stderr] | [INFO] [stderr] 111 | let settings_part: Vec<&str> = settings.split(",").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:112:55 [INFO] [stderr] | [INFO] [stderr] 112 | let memory_cost: u32 = settings_part[0].split("=").collect::>()[1].parse::().unwrap(); [INFO] [stderr] | ^^^ help: try using a char instead: `'='` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:113:53 [INFO] [stderr] | [INFO] [stderr] 113 | let time_cost: u32 = settings_part[1].split("=").collect::>()[1].parse::().unwrap(); [INFO] [stderr] | ^^^ help: try using a char instead: `'='` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:114:55 [INFO] [stderr] | [INFO] [stderr] 114 | let parallelism: u32 = settings_part[2].split("=").collect::>()[1].parse::().unwrap(); [INFO] [stderr] | ^^^ help: try using a char instead: `'='` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:153:64 [INFO] [stderr] | [INFO] [stderr] 153 | let bcrypt_encoded_part: Vec<&str> = encoded.splitn(2, "$").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:180:64 [INFO] [stderr] | [INFO] [stderr] 180 | let bcrypt_encoded_part: Vec<&str> = encoded.splitn(2, "$").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:205:53 [INFO] [stderr] | [INFO] [stderr] 205 | let encoded_part: Vec<&str> = encoded.split("$").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:224:53 [INFO] [stderr] | [INFO] [stderr] 224 | let encoded_part: Vec<&str> = encoded.split("$").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:243:53 [INFO] [stderr] | [INFO] [stderr] 243 | let encoded_part: Vec<&str> = encoded.split("$").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/hashers.rs:276:53 [INFO] [stderr] | [INFO] [stderr] 276 | let encoded_part: Vec<&str> = encoded.split("$").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:63:53 [INFO] [stderr] | [INFO] [stderr] 63 | if encoded.len() == 32 && !encoded.contains("$") { [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:71:53 [INFO] [stderr] | [INFO] [stderr] 71 | let encoded_part: Vec<&str> = encoded.splitn(2, "$").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | / match algorithm { [INFO] [stderr] 96 | | #[cfg(feature="with_pbkdf2")] [INFO] [stderr] 97 | | &Algorithm::PBKDF2 => Box::new(PBKDF2Hasher), [INFO] [stderr] 98 | | #[cfg(feature="with_pbkdf2")] [INFO] [stderr] ... | [INFO] [stderr] 116 | | // _ => panic!("You need to compile with at least one algorithm.") [INFO] [stderr] 117 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 95 | match *algorithm { [INFO] [stderr] 96 | #[cfg(feature="with_pbkdf2")] [INFO] [stderr] 97 | Algorithm::PBKDF2 => Box::new(PBKDF2Hasher), [INFO] [stderr] 98 | #[cfg(feature="with_pbkdf2")] [INFO] [stderr] 99 | Algorithm::PBKDF2SHA1 => Box::new(PBKDF2SHA1Hasher), [INFO] [stderr] 100 | #[cfg(feature="with_argon2")] [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:123:59 [INFO] [stderr] | [INFO] [stderr] 123 | Some(_) => !(encoded == "" || encoded.starts_with("!")), [INFO] [stderr] | ^^^ help: try using a char instead: `'!'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:183:5 [INFO] [stderr] | [INFO] [stderr] 183 | / match algorithm { [INFO] [stderr] 184 | | #[cfg(feature="with_bcrypt")] [INFO] [stderr] 185 | | &Algorithm::BCryptSHA256 | &Algorithm::BCrypt => 12, [INFO] [stderr] 186 | | #[cfg(feature="with_pbkdf2")] [INFO] [stderr] ... | [INFO] [stderr] 201 | | &Algorithm::SHA1 | &Algorithm::MD5 | &Algorithm::UnsaltedSHA1 | &Algorithm::UnsaltedMD5 | &Algorithm::Crypt => 1, [INFO] [stderr] 202 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 183 | match *algorithm { [INFO] [stderr] 184 | #[cfg(feature="with_bcrypt")] [INFO] [stderr] 185 | Algorithm::BCryptSHA256 | Algorithm::BCrypt => 12, [INFO] [stderr] 186 | #[cfg(feature="with_pbkdf2")] [INFO] [stderr] 187 | Algorithm::PBKDF2 | Algorithm::PBKDF2SHA1 => match version { [INFO] [stderr] 188 | &DjangoVersion::V1_4 | &DjangoVersion::V1_5 => 10000, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:187:56 [INFO] [stderr] | [INFO] [stderr] 187 | &Algorithm::PBKDF2 | &Algorithm::PBKDF2SHA1 => match version { [INFO] [stderr] | ________________________________________________________^ [INFO] [stderr] 188 | | &DjangoVersion::V1_4 | &DjangoVersion::V1_5 => 10000, [INFO] [stderr] 189 | | &DjangoVersion::V1_6 | &DjangoVersion::V1_7 => 12000, [INFO] [stderr] 190 | | &DjangoVersion::V1_8 => 20000, [INFO] [stderr] ... | [INFO] [stderr] 196 | | &DjangoVersion::V2_2 => 150000, [INFO] [stderr] 197 | | }, [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 187 | &Algorithm::PBKDF2 | &Algorithm::PBKDF2SHA1 => match *version { [INFO] [stderr] 188 | DjangoVersion::V1_4 | DjangoVersion::V1_5 => 10000, [INFO] [stderr] 189 | DjangoVersion::V1_6 | DjangoVersion::V1_7 => 12000, [INFO] [stderr] 190 | DjangoVersion::V1_8 => 20000, [INFO] [stderr] 191 | DjangoVersion::V1_9 => 24000, [INFO] [stderr] 192 | DjangoVersion::V1_10 => 30000, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django21.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | "pbkdf2_sha256$120000$seasalt$fsgWMpOXin7ZAmi4j+7XjKCZ4JCvxJTGiwwDrawRqSc=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha256$120000$seasalt$fsgWMpOXin7ZAmi4j+7XjKCZ4JCvxJTGiwwDrawRqSc="` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django21.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | / "pbkdf2_sha256$120000$seasalt2$FRWVLZaxRXtbVIkhYdTQc/tE7JF/s5tU/4O4VhB94ig=" [INFO] [stderr] 35 | | .to_string()); [INFO] [stderr] | |____________________________^ help: try: `"pbkdf2_sha256$120000$seasalt2$FRWVLZaxRXtbVIkhYdTQc/tE7JF/s5tU/4O4VhB94ig="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django21.rs:44:24 [INFO] [stderr] | [INFO] [stderr] 44 | assert!(encoded == "pbkdf2_sha1$120000$seasalt2$6kIwMgg3rEEwDAQY/CB9VUVtEiI=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha1$120000$seasalt2$6kIwMgg3rEEwDAQY/CB9VUVtEiI="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django15.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | "pbkdf2_sha256$10000$seasalt$CWWFdHOWwPnki7HvkcqN9iA2T3KLW1cf2uZ5kvArtVY=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha256$10000$seasalt$CWWFdHOWwPnki7HvkcqN9iA2T3KLW1cf2uZ5kvArtVY="` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django15.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | / "pbkdf2_sha256$10000$seasalt$CWWFdHOWwPnki7HvkcqN9iA2T3KLW1cf2uZ5kvArtVY=" [INFO] [stderr] 35 | | .to_string()); [INFO] [stderr] | |____________________________^ help: try: `"pbkdf2_sha256$10000$seasalt$CWWFdHOWwPnki7HvkcqN9iA2T3KLW1cf2uZ5kvArtVY="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django15.rs:44:24 [INFO] [stderr] | [INFO] [stderr] 44 | assert!(encoded == "pbkdf2_sha1$10000$seasalt$oAfF6vgs95ncksAhGXOWf4Okq7o=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha1$10000$seasalt$oAfF6vgs95ncksAhGXOWf4Okq7o="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django16.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | "pbkdf2_sha256$12000$seasalt$Ybw8zsFxqja97tY/o6G+Fy1ksY4U/Hw3DRrGED6Up4s=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha256$12000$seasalt$Ybw8zsFxqja97tY/o6G+Fy1ksY4U/Hw3DRrGED6Up4s="` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django16.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | / "pbkdf2_sha256$12000$seasalt2$hlDLKsxgkgb1aeOppkM5atCYw5rPzAjCNQZ4NYyUROw=" [INFO] [stderr] 35 | | .to_string()); [INFO] [stderr] | |____________________________^ help: try: `"pbkdf2_sha256$12000$seasalt2$hlDLKsxgkgb1aeOppkM5atCYw5rPzAjCNQZ4NYyUROw="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django16.rs:44:24 [INFO] [stderr] | [INFO] [stderr] 44 | assert!(encoded == "pbkdf2_sha1$12000$seasalt2$JeMRVfjjgtWw3/HzlnlfqBnQ6CA=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha1$12000$seasalt2$JeMRVfjjgtWw3/HzlnlfqBnQ6CA="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django110.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | "pbkdf2_sha256$30000$seasalt$VrX+V8drCGo68wlvy6rfu8i1d1pfkdeXA4LJkRGJodY=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha256$30000$seasalt$VrX+V8drCGo68wlvy6rfu8i1d1pfkdeXA4LJkRGJodY="` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django110.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | / "pbkdf2_sha256$30000$seasalt2$a75qzbogeVhNFeMqhdgyyoqGKpIzYUo651sq57RERew=" [INFO] [stderr] 35 | | .to_string()); [INFO] [stderr] | |____________________________^ help: try: `"pbkdf2_sha256$30000$seasalt2$a75qzbogeVhNFeMqhdgyyoqGKpIzYUo651sq57RERew="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django110.rs:44:24 [INFO] [stderr] | [INFO] [stderr] 44 | assert!(encoded == "pbkdf2_sha1$30000$seasalt2$pMzU1zNPcydf6wjnJFbiVKwgULc=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha1$30000$seasalt2$pMzU1zNPcydf6wjnJFbiVKwgULc="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django22.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | "pbkdf2_sha256$150000$seasalt$71l36B3C2UesFoWz5oshQ1SSTtCLnDO5RMysCfljq5o=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha256$150000$seasalt$71l36B3C2UesFoWz5oshQ1SSTtCLnDO5RMysCfljq5o="` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django22.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | / "pbkdf2_sha256$150000$seasalt2$5xGh/XsAm2L9fQXShAI1qf739n97YlTaaLY8/t6Ms7o=" [INFO] [stderr] 35 | | .to_string()); [INFO] [stderr] | |____________________________^ help: try: `"pbkdf2_sha256$150000$seasalt2$5xGh/XsAm2L9fQXShAI1qf739n97YlTaaLY8/t6Ms7o="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django22.rs:44:24 [INFO] [stderr] | [INFO] [stderr] 44 | assert!(encoded == "pbkdf2_sha1$150000$seasalt2$lIjyT2rG1gVh5rdCmuAEoHwQtQE=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha1$150000$seasalt2$lIjyT2rG1gVh5rdCmuAEoHwQtQE="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/lib.rs:13:24 [INFO] [stderr] | [INFO] [stderr] 13 | assert!(encoded == h.to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `h` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/lib.rs:22:24 [INFO] [stderr] | [INFO] [stderr] 22 | assert!(encoded == h.to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `h` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/lib.rs:31:24 [INFO] [stderr] | [INFO] [stderr] 31 | assert!(encoded == h.to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `h` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/lib.rs:40:24 [INFO] [stderr] | [INFO] [stderr] 40 | assert!(encoded == h.to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `h` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/lib.rs:49:24 [INFO] [stderr] | [INFO] [stderr] 49 | assert!(encoded == h.to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `h` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/lib.rs:58:24 [INFO] [stderr] | [INFO] [stderr] 58 | assert!(encoded == h.to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `h` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django14.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | "pbkdf2_sha256$10000$seasalt$FQCNpiZpTb0zub+HBsH6TOwyRxJ19FwvjbweatNmK/Y=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha256$10000$seasalt$FQCNpiZpTb0zub+HBsH6TOwyRxJ19FwvjbweatNmK/Y="` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django14.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | / "pbkdf2_sha256$10000$seasalt$FQCNpiZpTb0zub+HBsH6TOwyRxJ19FwvjbweatNmK/Y=" [INFO] [stderr] 35 | | .to_string()); [INFO] [stderr] | |____________________________^ help: try: `"pbkdf2_sha256$10000$seasalt$FQCNpiZpTb0zub+HBsH6TOwyRxJ19FwvjbweatNmK/Y="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django14.rs:44:24 [INFO] [stderr] | [INFO] [stderr] 44 | assert!(encoded == "pbkdf2_sha1$10000$seasalt$91JiNKgwADC8j2j86Ije/cc4vfQ=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha1$10000$seasalt$91JiNKgwADC8j2j86Ije/cc4vfQ="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django18.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | "pbkdf2_sha256$20000$seasalt$oBSd886ysm3AqYun62DOdin8YcfbU1z9cksZSuLP9r0=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha256$20000$seasalt$oBSd886ysm3AqYun62DOdin8YcfbU1z9cksZSuLP9r0="` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django18.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | / "pbkdf2_sha256$20000$seasalt2$Flpve/uAcyo6+IFI6YAhjeABGPVbRQjzHDxRhqxewgw=" [INFO] [stderr] 35 | | .to_string()); [INFO] [stderr] | |____________________________^ help: try: `"pbkdf2_sha256$20000$seasalt2$Flpve/uAcyo6+IFI6YAhjeABGPVbRQjzHDxRhqxewgw="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django18.rs:44:24 [INFO] [stderr] | [INFO] [stderr] 44 | assert!(encoded == "pbkdf2_sha1$20000$seasalt2$pJt86NmjAweBY1StBvxCu7l1o9o=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha1$20000$seasalt2$pJt86NmjAweBY1StBvxCu7l1o9o="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django111.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | "pbkdf2_sha256$36000$seasalt$mEUPPFJkT/xtwDU8rB7Q+puHRZnR07WRjerTkt/3HI0=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha256$36000$seasalt$mEUPPFJkT/xtwDU8rB7Q+puHRZnR07WRjerTkt/3HI0="` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django111.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | / "pbkdf2_sha256$36000$seasalt2$QkIBVCvGmTmyjPJ5yox2y/jQB8isvgUNK98FxOU1UYo=" [INFO] [stderr] 35 | | .to_string()); [INFO] [stderr] | |____________________________^ help: try: `"pbkdf2_sha256$36000$seasalt2$QkIBVCvGmTmyjPJ5yox2y/jQB8isvgUNK98FxOU1UYo="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django111.rs:44:24 [INFO] [stderr] | [INFO] [stderr] 44 | assert!(encoded == "pbkdf2_sha1$36000$seasalt2$GoU+9AubJ/xRkO0WD1Xf3WPxWfE=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha1$36000$seasalt2$GoU+9AubJ/xRkO0WD1Xf3WPxWfE="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django20.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | "pbkdf2_sha256$100000$seasalt$BNZ6eyaNc8qFTJPjrAq99hSYb73EgAdytAtdBg2Sdcc=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha256$100000$seasalt$BNZ6eyaNc8qFTJPjrAq99hSYb73EgAdytAtdBg2Sdcc="` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django20.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | / "pbkdf2_sha256$100000$seasalt2$Tl4GMr+Yt1zzO1sbKoUaDBdds5NkR3RxaDWuQsliFrI=" [INFO] [stderr] 35 | | .to_string()); [INFO] [stderr] | |____________________________^ help: try: `"pbkdf2_sha256$100000$seasalt2$Tl4GMr+Yt1zzO1sbKoUaDBdds5NkR3RxaDWuQsliFrI="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django20.rs:44:24 [INFO] [stderr] | [INFO] [stderr] 44 | assert!(encoded == "pbkdf2_sha1$100000$seasalt2$dK/dL+ySBZ5zoR0+Zk3SB/VsH0U=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha1$100000$seasalt2$dK/dL+ySBZ5zoR0+Zk3SB/VsH0U="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django17.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | "pbkdf2_sha256$12000$seasalt$Ybw8zsFxqja97tY/o6G+Fy1ksY4U/Hw3DRrGED6Up4s=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha256$12000$seasalt$Ybw8zsFxqja97tY/o6G+Fy1ksY4U/Hw3DRrGED6Up4s="` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django17.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | / "pbkdf2_sha256$12000$seasalt2$hlDLKsxgkgb1aeOppkM5atCYw5rPzAjCNQZ4NYyUROw=" [INFO] [stderr] 35 | | .to_string()); [INFO] [stderr] | |____________________________^ help: try: `"pbkdf2_sha256$12000$seasalt2$hlDLKsxgkgb1aeOppkM5atCYw5rPzAjCNQZ4NYyUROw="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django17.rs:44:24 [INFO] [stderr] | [INFO] [stderr] 44 | assert!(encoded == "pbkdf2_sha1$12000$seasalt2$JeMRVfjjgtWw3/HzlnlfqBnQ6CA=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha1$12000$seasalt2$JeMRVfjjgtWw3/HzlnlfqBnQ6CA="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django19.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | "pbkdf2_sha256$24000$seasalt$V9DfCAVoweeLwxC/L2mb+7swhzF0XYdyQMqmusZqiTc=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha256$24000$seasalt$V9DfCAVoweeLwxC/L2mb+7swhzF0XYdyQMqmusZqiTc="` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django19.rs:49:24 [INFO] [stderr] | [INFO] [stderr] 49 | assert!(encoded == "sha1$seasalt$cff36ea83f5706ce9aa7454e63e431fc726b2dc8".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"sha1$seasalt$cff36ea83f5706ce9aa7454e63e431fc726b2dc8"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django19.rs:66:24 [INFO] [stderr] | [INFO] [stderr] 66 | assert!(encoded == "md5$seasalt$3f86d0d3d465b7b458c231bf3555c0e3".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"md5$seasalt$3f86d0d3d465b7b458c231bf3555c0e3"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django19.rs:83:24 [INFO] [stderr] | [INFO] [stderr] 83 | assert!(encoded == "88a434c88cca4e900f7874cd98123f43".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"88a434c88cca4e900f7874cd98123f43"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django19.rs:98:24 [INFO] [stderr] | [INFO] [stderr] 98 | assert!(encoded == "sha1$$6d138ca3ae545631b3abd71a4f076ce759c5700b".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"sha1$$6d138ca3ae545631b3abd71a4f076ce759c5700b"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django19.rs:117:24 [INFO] [stderr] | [INFO] [stderr] 117 | assert!(encoded == "crypt$$ab1Hv2Lg7ltQo".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"crypt$$ab1Hv2Lg7ltQo"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django19.rs:200:13 [INFO] [stderr] | [INFO] [stderr] 200 | / "pbkdf2_sha256$24000$seasalt2$TUDkfilKHVC7BkaKSZgIKhm0aTtXlmcw/5C1FeS/DPk=" [INFO] [stderr] 201 | | .to_string()); [INFO] [stderr] | |____________________________^ help: try: `"pbkdf2_sha256$24000$seasalt2$TUDkfilKHVC7BkaKSZgIKhm0aTtXlmcw/5C1FeS/DPk="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> tests/django19.rs:210:24 [INFO] [stderr] | [INFO] [stderr] 210 | assert!(encoded == "pbkdf2_sha1$24000$seasalt2$L37ETdd9trqrsJDwapU3P+2Edhg=".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"pbkdf2_sha1$24000$seasalt2$L37ETdd9trqrsJDwapU3P+2Edhg="` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 32.87s [INFO] running `"docker" "inspect" "ef6c3570bcdff2971d291e36f0817b5d792e96c8bc1b18388b6dbc5c6bde9ada"` [INFO] running `"docker" "rm" "-f" "ef6c3570bcdff2971d291e36f0817b5d792e96c8bc1b18388b6dbc5c6bde9ada"` [INFO] [stdout] ef6c3570bcdff2971d291e36f0817b5d792e96c8bc1b18388b6dbc5c6bde9ada