[INFO] updating cached repository Skarlso/totp [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/Skarlso/totp [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/Skarlso/totp" "work/ex/clippy-test-run/sources/stable/gh/Skarlso/totp"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/Skarlso/totp'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/Skarlso/totp" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Skarlso/totp"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Skarlso/totp'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 2f874705d359545df4266c4b8dae7cf4a0a7f7bb [INFO] sha for GitHub repo Skarlso/totp: 2f874705d359545df4266c4b8dae7cf4a0a7f7bb [INFO] validating manifest of Skarlso/totp 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 Skarlso/totp 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 Skarlso/totp [INFO] finished frobbing Skarlso/totp [INFO] frobbed toml for Skarlso/totp written to work/ex/clippy-test-run/sources/stable/gh/Skarlso/totp/Cargo.toml [INFO] started frobbing Skarlso/totp [INFO] finished frobbing Skarlso/totp [INFO] frobbed toml for Skarlso/totp written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Skarlso/totp/Cargo.toml [INFO] crate Skarlso/totp has a lockfile. skipping [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 Skarlso/totp 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/gh/Skarlso/totp:/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] 3be59456dff82a543098ae41b2cac9f17be07d04847d1388db59f4972f5196ac [INFO] running `"docker" "start" "-a" "3be59456dff82a543098ae41b2cac9f17be07d04847d1388db59f4972f5196ac"` [INFO] [stderr] Checking rpassword v2.0.0 [INFO] [stderr] Checking clap v2.31.2 [INFO] [stderr] Compiling openssl v0.10.10 [INFO] [stderr] Checking gotp v0.1.2 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/filehandler.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | password: password, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `password` [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/filehandler.rs:141:13 [INFO] [stderr] | [INFO] [stderr] 141 | file_name: file_name, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name` [INFO] [stderr] | [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] warning: redundant field names in struct initialization [INFO] [stderr] --> src/filehandler.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | file_name: file_name, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name` [INFO] [stderr] | [INFO] [stderr] --> src/filehandler.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | password: password, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `password` [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] = 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/filehandler.rs:176:13 [INFO] [stderr] | [INFO] [stderr] 176 | file_name: file_name, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name` [INFO] [stderr] | [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] warning: redundant field names in struct initialization [INFO] [stderr] --> src/filehandler.rs:141:13 [INFO] [stderr] | [INFO] [stderr] 141 | file_name: file_name, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] --> src/filehandler.rs:190:13 [INFO] [stderr] | [INFO] [stderr] 190 | file_name: file_name, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name` [INFO] [stderr] | [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/filehandler.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | file_name: file_name, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [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/filehandler.rs:206:13 [INFO] [stderr] | [INFO] [stderr] 206 | file_name: file_name, [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/filehandler.rs:176:13 [INFO] [stderr] | [INFO] [stderr] 176 | file_name: file_name, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name` [INFO] [stderr] | [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/filehandler.rs:190:13 [INFO] [stderr] | [INFO] [stderr] 190 | file_name: file_name, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name` [INFO] [stderr] | [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/filehandler.rs:206:13 [INFO] [stderr] | [INFO] [stderr] 206 | file_name: file_name, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name` [INFO] [stderr] | [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/commands.rs:42:19 [INFO] [stderr] | [INFO] [stderr] 42 | Err(e) => return Err(e), [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `Err(e)` [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/commands.rs:42:19 [INFO] [stderr] | [INFO] [stderr] 42 | Err(e) => return Err(e), [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `Err(e)` [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: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/generator.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | let value = ((((result[offset]) as i32 & 0x7f) << 24) [INFO] [stderr] | _________________^ [INFO] [stderr] 34 | | | (((result[offset + 1]) as i32 & 0xff) << 16) [INFO] [stderr] 35 | | | (((result[offset + 2]) as i32 & 0xff) << 8) [INFO] [stderr] 36 | | | ((result[offset + 3]) as i32 & 0xff)) as i64; [INFO] [stderr] | |______________________________________________________^ [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] help: try [INFO] [stderr] | [INFO] [stderr] 33 | let value = i64::from((((result[offset]) as i32 & 0x7f) << 24) [INFO] [stderr] 34 | | (((result[offset + 1]) as i32 & 0xff) << 16) [INFO] [stderr] 35 | | (((result[offset + 2]) as i32 & 0xff) << 8) [INFO] [stderr] 36 | | ((result[offset + 3]) as i32 & 0xff)); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/generator.rs:33:20 [INFO] [stderr] | [INFO] [stderr] 33 | let value = ((((result[offset]) as i32 & 0x7f) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from((result[offset]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/generator.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | | (((result[offset + 1]) as i32 & 0xff) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from((result[offset + 1]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/generator.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | | (((result[offset + 2]) as i32 & 0xff) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from((result[offset + 2]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/generator.rs:36:12 [INFO] [stderr] | [INFO] [stderr] 36 | | ((result[offset + 3]) as i32 & 0xff)) as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from((result[offset + 3]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/filehandler.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | &self.accounts.insert(account, token); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.accounts.insert(account, token);` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_operation)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/filehandler.rs:62:12 [INFO] [stderr] | [INFO] [stderr] 62 | if contents.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `contents.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/filehandler.rs:65:47 [INFO] [stderr] | [INFO] [stderr] 65 | let split: Vec<&str> = contents.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/filehandler.rs:69:59 [INFO] [stderr] | [INFO] [stderr] 69 | let accounts: Vec<&str> = decrypted_content.split("\n").collect(); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [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: length comparison to one [INFO] [stderr] --> src/filehandler.rs:71:16 [INFO] [stderr] | [INFO] [stderr] 71 | if acc.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `acc.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/filehandler.rs:74:50 [INFO] [stderr] | [INFO] [stderr] 74 | let acc_split: Vec<&str> = acc.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: statement can be reduced [INFO] [stderr] --> src/filehandler.rs:78:13 [INFO] [stderr] | [INFO] [stderr] 78 | / &self [INFO] [stderr] 79 | | .accounts [INFO] [stderr] 80 | | .insert(acc_split[0].to_owned(), acc_split[1].to_owned()); [INFO] [stderr] | |__________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] help: replace it with [INFO] [stderr] | [INFO] [stderr] 78 | self [INFO] [stderr] 79 | .accounts [INFO] [stderr] 80 | .insert(acc_split[0].to_owned(), acc_split[1].to_owned()); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/encrypt.rs:66:17 [INFO] [stderr] | [INFO] [stderr] 66 | assert!(iv.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!iv.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/encrypt.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | Err(_) => panic!("was not excepting an error here"), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/encrypt.rs:80:17 [INFO] [stderr] | [INFO] [stderr] 80 | assert!(iv.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!iv.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/encrypt.rs:82:9 [INFO] [stderr] | [INFO] [stderr] 82 | / match decrypted { [INFO] [stderr] 83 | | Ok(_) => panic!("this should have failed."), [INFO] [stderr] 84 | | Err(_) => (), [INFO] [stderr] 85 | | } [INFO] [stderr] | |_________^ help: try this: `if let Ok(_) = decrypted { panic!("this should have failed.") }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/encrypt.rs:94:17 [INFO] [stderr] | [INFO] [stderr] 94 | assert!(iv.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!iv.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/encrypt.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | / match decrypted { [INFO] [stderr] 97 | | Ok(_) => panic!("this should have failed."), [INFO] [stderr] 98 | | Err(_) => (), [INFO] [stderr] 99 | | } [INFO] [stderr] | |_________^ help: try this: `if let Ok(_) = decrypted { panic!("this should have failed.") }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/generator.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | let value = ((((result[offset]) as i32 & 0x7f) << 24) [INFO] [stderr] | _________________^ [INFO] [stderr] 34 | | | (((result[offset + 1]) as i32 & 0xff) << 16) [INFO] [stderr] 35 | | | (((result[offset + 2]) as i32 & 0xff) << 8) [INFO] [stderr] 36 | | | ((result[offset + 3]) as i32 & 0xff)) as i64; [INFO] [stderr] | |______________________________________________________^ [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] help: try [INFO] [stderr] | [INFO] [stderr] 33 | let value = i64::from((((result[offset]) as i32 & 0x7f) << 24) [INFO] [stderr] 34 | | (((result[offset + 1]) as i32 & 0xff) << 16) [INFO] [stderr] 35 | | (((result[offset + 2]) as i32 & 0xff) << 8) [INFO] [stderr] 36 | | ((result[offset + 3]) as i32 & 0xff)); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/generator.rs:33:20 [INFO] [stderr] | [INFO] [stderr] 33 | let value = ((((result[offset]) as i32 & 0x7f) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from((result[offset]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/generator.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | | (((result[offset + 1]) as i32 & 0xff) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from((result[offset + 1]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/generator.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | | (((result[offset + 2]) as i32 & 0xff) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from((result[offset + 2]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/generator.rs:36:12 [INFO] [stderr] | [INFO] [stderr] 36 | | ((result[offset + 3]) as i32 & 0xff)) as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from((result[offset + 3]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/filehandler.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | &self.accounts.insert(account, token); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.accounts.insert(account, token);` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_operation)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/filehandler.rs:62:12 [INFO] [stderr] | [INFO] [stderr] 62 | if contents.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `contents.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/filehandler.rs:65:47 [INFO] [stderr] | [INFO] [stderr] 65 | let split: Vec<&str> = contents.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/filehandler.rs:69:59 [INFO] [stderr] | [INFO] [stderr] 69 | let accounts: Vec<&str> = decrypted_content.split("\n").collect(); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [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: length comparison to one [INFO] [stderr] --> src/filehandler.rs:71:16 [INFO] [stderr] | [INFO] [stderr] 71 | if acc.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `acc.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/filehandler.rs:74:50 [INFO] [stderr] | [INFO] [stderr] 74 | let acc_split: Vec<&str> = acc.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: statement can be reduced [INFO] [stderr] --> src/filehandler.rs:78:13 [INFO] [stderr] | [INFO] [stderr] 78 | / &self [INFO] [stderr] 79 | | .accounts [INFO] [stderr] 80 | | .insert(acc_split[0].to_owned(), acc_split[1].to_owned()); [INFO] [stderr] | |__________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] help: replace it with [INFO] [stderr] | [INFO] [stderr] 78 | self [INFO] [stderr] 79 | .accounts [INFO] [stderr] 80 | .insert(acc_split[0].to_owned(), acc_split[1].to_owned()); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 10.22s [INFO] running `"docker" "inspect" "3be59456dff82a543098ae41b2cac9f17be07d04847d1388db59f4972f5196ac"` [INFO] running `"docker" "rm" "-f" "3be59456dff82a543098ae41b2cac9f17be07d04847d1388db59f4972f5196ac"` [INFO] [stdout] 3be59456dff82a543098ae41b2cac9f17be07d04847d1388db59f4972f5196ac