[INFO] fetching crate br-email 1.0.23... [INFO] checking br-email-1.0.23 against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] extracting crate br-email 1.0.23 into /workspace/builds/worker-3-tc1/source [INFO] validating manifest of crates.io crate br-email 1.0.23 on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate br-email 1.0.23 [INFO] finished tweaking crates.io crate br-email 1.0.23 [INFO] tweaked toml for crates.io crate br-email 1.0.23 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate crates.io crate br-email 1.0.23 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded hostname v0.4.0 [INFO] [stderr] Downloaded email-encoding v0.3.0 [INFO] [stderr] Downloaded utf7-imap v0.3.2 [INFO] [stderr] Downloaded ouroboros v0.18.4 [INFO] [stderr] Downloaded br-xml v0.0.1 [INFO] [stderr] Downloaded ouroboros_macro v0.18.4 [INFO] [stderr] Downloaded sha256-rs v1.0.2 [INFO] [stderr] Downloaded xml2json-rs v1.0.1 [INFO] [stderr] Downloaded br-web v0.5.8 [INFO] [stderr] Downloaded imap v3.0.0-alpha.14 [INFO] [stderr] Downloaded imap-proto v0.16.5 [INFO] [stderr] Downloaded lettre v0.11.7 [INFO] [stderr] Downloaded textcode v0.2.2 [INFO] [stderr] Downloaded br-crypto v0.1.21 [INFO] [stderr] Downloaded mail-parser v0.9.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d9b4e03ee0f8062ce58775e076260cb27cf2ce6bdb5500f934a69b12b484332e [INFO] running `Command { std: "docker" "start" "-a" "d9b4e03ee0f8062ce58775e076260cb27cf2ce6bdb5500f934a69b12b484332e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d9b4e03ee0f8062ce58775e076260cb27cf2ce6bdb5500f934a69b12b484332e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d9b4e03ee0f8062ce58775e076260cb27cf2ce6bdb5500f934a69b12b484332e", kill_on_drop: false }` [INFO] [stdout] d9b4e03ee0f8062ce58775e076260cb27cf2ce6bdb5500f934a69b12b484332e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bf8810e534fe16774efb559f50c8ec62a9b96e445d887be6f29f7162b025eef5 [INFO] running `Command { std: "docker" "start" "-a" "bf8810e534fe16774efb559f50c8ec62a9b96e445d887be6f29f7162b025eef5", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Compiling cc v1.1.13 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Compiling syn v2.0.75 [INFO] [stderr] Checking encoding_index_tests v0.1.4 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling serde v1.0.208 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.10.1 [INFO] [stderr] Compiling serde_json v1.0.125 [INFO] [stderr] Checking indexmap v2.4.0 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Checking iana-time-zone v0.1.60 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking encoding-index-singlebyte v1.20141219.5 [INFO] [stderr] Compiling openssl-sys v0.9.103 [INFO] [stderr] Compiling ring v0.17.8 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Compiling psm v0.1.21 [INFO] [stderr] Compiling openssl v0.10.66 [INFO] [stderr] Compiling stacker v0.1.15 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Compiling native-tls v0.2.12 [INFO] [stderr] Checking encoding-index-korean v1.20141219.5 [INFO] [stderr] Checking encoding-index-simpchinese v1.20141219.5 [INFO] [stderr] Checking encoding-index-japanese v1.20141219.5 [INFO] [stderr] Checking encoding-index-tradchinese v1.20141219.5 [INFO] [stderr] Checking quick-xml v0.23.1 [INFO] [stderr] Checking quoted_printable v0.5.1 [INFO] [stderr] Checking json v0.12.4 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Checking encoding v0.2.33 [INFO] [stderr] Checking uuid v1.10.0 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking mail-parser v0.9.3 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking futures-core v0.3.30 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Checking aliasable v0.1.3 [INFO] [stderr] Checking sha256-rs v1.0.2 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking textcode v0.2.2 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking anstyle-parse v0.2.5 [INFO] [stderr] Checking chumsky v0.9.3 [INFO] [stderr] Checking hostname v0.4.0 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Checking imap-proto v0.16.5 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling ouroboros_macro v0.18.4 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Checking email-encoding v0.3.0 [INFO] [stderr] Checking xml2json-rs v1.0.1 [INFO] [stderr] Checking base64 v0.13.1 [INFO] [stderr] Checking br-xml v0.0.1 [INFO] [stderr] Checking colorchoice v1.0.2 [INFO] [stderr] Checking fastrand v2.1.0 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Checking anstyle-query v1.1.1 [INFO] [stderr] Checking bufstream v0.1.4 [INFO] [stderr] Checking anstyle v1.0.8 [INFO] [stderr] Checking email_address v0.2.9 [INFO] [stderr] Checking utf7-imap v0.3.2 [INFO] [stderr] Checking anstream v0.6.15 [INFO] [stderr] Checking env_filter v0.1.2 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking rustls-webpki v0.101.7 [INFO] [stderr] Checking sct v0.7.1 [INFO] [stderr] Checking env_logger v0.11.5 [INFO] [stderr] Checking ouroboros v0.18.4 [INFO] [stderr] Checking br-crypto v0.1.21 [INFO] [stderr] Checking br-web v0.5.8 [INFO] [stderr] Checking imap v3.0.0-alpha.14 [INFO] [stderr] Checking lettre v0.11.7 [INFO] [stderr] Checking br-email v1.0.23 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/analysis.rs:675:41 [INFO] [stdout] | [INFO] [stdout] 675 | ... let mut x: Vec<&str> = name_item.split("=").collect(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/analysis.rs:747:29 [INFO] [stdout] | [INFO] [stdout] 747 | let mut x: Vec<&str> = name_item.split("=").collect(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/analysis.rs:901:13 [INFO] [stdout] | [INFO] [stdout] 901 | let mut temp_att_body: Vec = self.attachment_body.clone(); [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/analysis.rs:930:13 [INFO] [stdout] | [INFO] [stdout] 930 | let mut attachment = self.attachment_body.clone(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/analysis.rs:675:41 [INFO] [stdout] | [INFO] [stdout] 675 | ... let mut x: Vec<&str> = name_item.split("=").collect(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/analysis.rs:747:29 [INFO] [stdout] | [INFO] [stdout] 747 | let mut x: Vec<&str> = name_item.split("=").collect(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `maildrop_size` is never read [INFO] [stdout] --> src/pop3/pop.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 231 | pub struct Pop3Stat { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 236 | pub maildrop_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/analysis.rs:901:13 [INFO] [stdout] | [INFO] [stdout] 901 | let mut temp_att_body: Vec = self.attachment_body.clone(); [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `message_size` is never read [INFO] [stdout] --> src/pop3/pop.rs:245:9 [INFO] [stdout] | [INFO] [stdout] 240 | pub struct Pop3MessageInfo { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 245 | pub message_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `data` is never read [INFO] [stdout] --> src/analysis.rs:505:5 [INFO] [stdout] | [INFO] [stdout] 501 | pub struct Mail { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 505 | data: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/lib.rs:111:48 [INFO] [stdout] | [INFO] [stdout] 111 | if MAIL_DATA.lock().unwrap().get(&*name.clone()).is_none() { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/lib.rs:112:64 [INFO] [stdout] | [INFO] [stdout] 112 | let connection = MAIL_CONN.lock().unwrap().get(name.clone()).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/lib.rs:116:45 [INFO] [stdout] | [INFO] [stdout] 116 | MAIL_DATA.lock().unwrap().get(&*name.clone()).unwrap().clone() [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/analysis.rs:930:13 [INFO] [stdout] | [INFO] [stdout] 930 | let mut attachment = self.attachment_body.clone(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:18:49 [INFO] [stdout] | [INFO] [stdout] 18 | let host = self.connection.host.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:20:54 [INFO] [stdout] | [INFO] [stdout] 20 | let user_name = self.connection.mail.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:21:54 [INFO] [stdout] | [INFO] [stdout] 21 | let user_pass = self.connection.pass.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:24:51 [INFO] [stdout] | [INFO] [stdout] 24 | let client = match ClientBuilder::new(host.clone(), port.clone()).connect() { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:30:52 [INFO] [stdout] | [INFO] [stdout] 30 | let mut conn = match client.login(user_name.clone(), user_pass.clone()).map_err(|e| e.0) { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:30:71 [INFO] [stdout] | [INFO] [stdout] 30 | let mut conn = match client.login(user_name.clone(), user_pass.clone()).map_err(|e| e.0) { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:49:49 [INFO] [stdout] | [INFO] [stdout] 49 | let host = self.connection.host.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:51:54 [INFO] [stdout] | [INFO] [stdout] 51 | let user_name = self.connection.mail.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:52:54 [INFO] [stdout] | [INFO] [stdout] 52 | let user_pass = self.connection.pass.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:54:51 [INFO] [stdout] | [INFO] [stdout] 54 | let client = match ClientBuilder::new(host.clone(), port.clone()).connect() { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:60:52 [INFO] [stdout] | [INFO] [stdout] 60 | let mut conn = match client.login(user_name.clone(), user_pass.clone()).map_err(|e| e.0) { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:60:71 [INFO] [stdout] | [INFO] [stdout] 60 | let mut conn = match client.login(user_name.clone(), user_pass.clone()).map_err(|e| e.0) { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:85:49 [INFO] [stdout] | [INFO] [stdout] 85 | let host = self.connection.host.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:87:54 [INFO] [stdout] | [INFO] [stdout] 87 | let user_name = self.connection.mail.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:88:54 [INFO] [stdout] | [INFO] [stdout] 88 | let user_pass = self.connection.pass.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:90:57 [INFO] [stdout] | [INFO] [stdout] 90 | let client = match imap::ClientBuilder::new(host.clone(), port.clone()).connect() { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:96:52 [INFO] [stdout] | [INFO] [stdout] 96 | let mut conn = match client.login(user_name.clone(), user_pass.clone()).map_err(|e| e.0) { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:96:71 [INFO] [stdout] | [INFO] [stdout] 96 | let mut conn = match client.login(user_name.clone(), user_pass.clone()).map_err(|e| e.0) { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:108:69 [INFO] [stdout] | [INFO] [stdout] 108 | let messages = match conn.fetch(mail_id.to_string().as_str().clone(), "RFC822") { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:139:49 [INFO] [stdout] | [INFO] [stdout] 139 | let host = self.connection.host.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:141:54 [INFO] [stdout] | [INFO] [stdout] 141 | let user_name = self.connection.mail.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:142:54 [INFO] [stdout] | [INFO] [stdout] 142 | let user_pass = self.connection.pass.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:144:51 [INFO] [stdout] | [INFO] [stdout] 144 | let client = match ClientBuilder::new(host.clone(), port.clone()).connect() { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:150:52 [INFO] [stdout] | [INFO] [stdout] 150 | let mut conn = match client.login(user_name.clone(), user_pass.clone()).map_err(|e| e.0) { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:150:71 [INFO] [stdout] | [INFO] [stdout] 150 | let mut conn = match client.login(user_name.clone(), user_pass.clone()).map_err(|e| e.0) { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:163:69 [INFO] [stdout] | [INFO] [stdout] 163 | let messages = match conn.fetch(mail_id.to_string().as_str().clone(), "ALL") { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:179:49 [INFO] [stdout] | [INFO] [stdout] 179 | let host = self.connection.host.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:181:54 [INFO] [stdout] | [INFO] [stdout] 181 | let user_name = self.connection.mail.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:182:54 [INFO] [stdout] | [INFO] [stdout] 182 | let user_pass = self.connection.pass.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:184:51 [INFO] [stdout] | [INFO] [stdout] 184 | let client = match ClientBuilder::new(host.clone(), port.clone()).connect() { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:190:52 [INFO] [stdout] | [INFO] [stdout] 190 | let mut conn = match client.login(user_name.clone(), user_pass.clone()).map_err(|e| e.0) { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:190:71 [INFO] [stdout] | [INFO] [stdout] 190 | let mut conn = match client.login(user_name.clone(), user_pass.clone()).map_err(|e| e.0) { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:203:69 [INFO] [stdout] | [INFO] [stdout] 203 | let messages = match conn.fetch(mail_id.to_string().as_str().clone(), "UID") { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/analysis.rs:243:43 [INFO] [stdout] | [INFO] [stdout] 243 | let data_vec: Vec<&str> = data.clone().split("?").collect(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/analysis.rs:525:34 [INFO] [stdout] | [INFO] [stdout] 525 | let header = mail_list[0].clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/analysis.rs:909:75 [INFO] [stdout] | [INFO] [stdout] 909 | more_info["suffix"] = split_filename[split_filename.len() - 1].clone().into(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 46 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `maildrop_size` is never read [INFO] [stdout] --> src/pop3/pop.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 231 | pub struct Pop3Stat { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 236 | pub maildrop_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `message_size` is never read [INFO] [stdout] --> src/pop3/pop.rs:245:9 [INFO] [stdout] | [INFO] [stdout] 240 | pub struct Pop3MessageInfo { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 245 | pub message_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `data` is never read [INFO] [stdout] --> src/analysis.rs:505:5 [INFO] [stdout] | [INFO] [stdout] 501 | pub struct Mail { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 505 | data: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/lib.rs:111:48 [INFO] [stdout] | [INFO] [stdout] 111 | if MAIL_DATA.lock().unwrap().get(&*name.clone()).is_none() { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/lib.rs:112:64 [INFO] [stdout] | [INFO] [stdout] 112 | let connection = MAIL_CONN.lock().unwrap().get(name.clone()).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/lib.rs:116:45 [INFO] [stdout] | [INFO] [stdout] 116 | MAIL_DATA.lock().unwrap().get(&*name.clone()).unwrap().clone() [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:18:49 [INFO] [stdout] | [INFO] [stdout] 18 | let host = self.connection.host.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:20:54 [INFO] [stdout] | [INFO] [stdout] 20 | let user_name = self.connection.mail.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:21:54 [INFO] [stdout] | [INFO] [stdout] 21 | let user_pass = self.connection.pass.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:24:51 [INFO] [stdout] | [INFO] [stdout] 24 | let client = match ClientBuilder::new(host.clone(), port.clone()).connect() { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:30:52 [INFO] [stdout] | [INFO] [stdout] 30 | let mut conn = match client.login(user_name.clone(), user_pass.clone()).map_err(|e| e.0) { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:30:71 [INFO] [stdout] | [INFO] [stdout] 30 | let mut conn = match client.login(user_name.clone(), user_pass.clone()).map_err(|e| e.0) { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:49:49 [INFO] [stdout] | [INFO] [stdout] 49 | let host = self.connection.host.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:51:54 [INFO] [stdout] | [INFO] [stdout] 51 | let user_name = self.connection.mail.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:52:54 [INFO] [stdout] | [INFO] [stdout] 52 | let user_pass = self.connection.pass.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:54:51 [INFO] [stdout] | [INFO] [stdout] 54 | let client = match ClientBuilder::new(host.clone(), port.clone()).connect() { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:60:52 [INFO] [stdout] | [INFO] [stdout] 60 | let mut conn = match client.login(user_name.clone(), user_pass.clone()).map_err(|e| e.0) { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:60:71 [INFO] [stdout] | [INFO] [stdout] 60 | let mut conn = match client.login(user_name.clone(), user_pass.clone()).map_err(|e| e.0) { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:85:49 [INFO] [stdout] | [INFO] [stdout] 85 | let host = self.connection.host.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:87:54 [INFO] [stdout] | [INFO] [stdout] 87 | let user_name = self.connection.mail.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:88:54 [INFO] [stdout] | [INFO] [stdout] 88 | let user_pass = self.connection.pass.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:90:57 [INFO] [stdout] | [INFO] [stdout] 90 | let client = match imap::ClientBuilder::new(host.clone(), port.clone()).connect() { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:96:52 [INFO] [stdout] | [INFO] [stdout] 96 | let mut conn = match client.login(user_name.clone(), user_pass.clone()).map_err(|e| e.0) { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:96:71 [INFO] [stdout] | [INFO] [stdout] 96 | let mut conn = match client.login(user_name.clone(), user_pass.clone()).map_err(|e| e.0) { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:108:69 [INFO] [stdout] | [INFO] [stdout] 108 | let messages = match conn.fetch(mail_id.to_string().as_str().clone(), "RFC822") { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:139:49 [INFO] [stdout] | [INFO] [stdout] 139 | let host = self.connection.host.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:141:54 [INFO] [stdout] | [INFO] [stdout] 141 | let user_name = self.connection.mail.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:142:54 [INFO] [stdout] | [INFO] [stdout] 142 | let user_pass = self.connection.pass.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:144:51 [INFO] [stdout] | [INFO] [stdout] 144 | let client = match ClientBuilder::new(host.clone(), port.clone()).connect() { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:150:52 [INFO] [stdout] | [INFO] [stdout] 150 | let mut conn = match client.login(user_name.clone(), user_pass.clone()).map_err(|e| e.0) { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:150:71 [INFO] [stdout] | [INFO] [stdout] 150 | let mut conn = match client.login(user_name.clone(), user_pass.clone()).map_err(|e| e.0) { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:163:69 [INFO] [stdout] | [INFO] [stdout] 163 | let messages = match conn.fetch(mail_id.to_string().as_str().clone(), "ALL") { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:179:49 [INFO] [stdout] | [INFO] [stdout] 179 | let host = self.connection.host.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:181:54 [INFO] [stdout] | [INFO] [stdout] 181 | let user_name = self.connection.mail.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:182:54 [INFO] [stdout] | [INFO] [stdout] 182 | let user_pass = self.connection.pass.as_str().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:184:51 [INFO] [stdout] | [INFO] [stdout] 184 | let client = match ClientBuilder::new(host.clone(), port.clone()).connect() { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:190:52 [INFO] [stdout] | [INFO] [stdout] 190 | let mut conn = match client.login(user_name.clone(), user_pass.clone()).map_err(|e| e.0) { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:190:71 [INFO] [stdout] | [INFO] [stdout] 190 | let mut conn = match client.login(user_name.clone(), user_pass.clone()).map_err(|e| e.0) { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/imap/mod.rs:203:69 [INFO] [stdout] | [INFO] [stdout] 203 | let messages = match conn.fetch(mail_id.to_string().as_str().clone(), "UID") { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/analysis.rs:243:43 [INFO] [stdout] | [INFO] [stdout] 243 | let data_vec: Vec<&str> = data.clone().split("?").collect(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/analysis.rs:525:34 [INFO] [stdout] | [INFO] [stdout] 525 | let header = mail_list[0].clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/analysis.rs:909:75 [INFO] [stdout] | [INFO] [stdout] 909 | more_info["suffix"] = split_filename[split_filename.len() - 1].clone().into(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 46 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.69s [INFO] running `Command { std: "docker" "inspect" "bf8810e534fe16774efb559f50c8ec62a9b96e445d887be6f29f7162b025eef5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bf8810e534fe16774efb559f50c8ec62a9b96e445d887be6f29f7162b025eef5", kill_on_drop: false }` [INFO] [stdout] bf8810e534fe16774efb559f50c8ec62a9b96e445d887be6f29f7162b025eef5