[INFO] crate xmpp-proto 0.1.2 is already in cache [INFO] extracting crate xmpp-proto 0.1.2 into work/ex/clippy-test-run/sources/stable/reg/xmpp-proto/0.1.2 [INFO] extracting crate xmpp-proto 0.1.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/xmpp-proto/0.1.2 [INFO] validating manifest of xmpp-proto-0.1.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 xmpp-proto-0.1.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 xmpp-proto-0.1.2 [INFO] finished frobbing xmpp-proto-0.1.2 [INFO] frobbed toml for xmpp-proto-0.1.2 written to work/ex/clippy-test-run/sources/stable/reg/xmpp-proto/0.1.2/Cargo.toml [INFO] started frobbing xmpp-proto-0.1.2 [INFO] finished frobbing xmpp-proto-0.1.2 [INFO] frobbed toml for xmpp-proto-0.1.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/xmpp-proto/0.1.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 xmpp-proto-0.1.2 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/xmpp-proto/0.1.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] 269731b55ec62e074a75e6a38168528f52c2473fbf370a37b4c790d939afc75e [INFO] running `"docker" "start" "-a" "269731b55ec62e074a75e6a38168528f52c2473fbf370a37b4c790d939afc75e"` [INFO] [stderr] Compiling phf_shared v0.7.24 [INFO] [stderr] Compiling native-tls v0.2.2 [INFO] [stderr] Compiling phf_generator v0.7.24 [INFO] [stderr] Compiling string_cache_codegen v0.4.2 [INFO] [stderr] Compiling string_cache v0.7.3 [INFO] [stderr] Checking elementtree v0.2.0 [INFO] [stderr] Checking xmpp-proto v0.1.2 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/events/open_stream.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | to: to, [INFO] [stderr] | ^^^^^^ help: replace it with: `to` [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/events/presence.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | jid: jid [INFO] [stderr] | ^^^^^^^^ help: replace it with: `jid` [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/events/auth.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | credentials: credentials [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `credentials` [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/events/bind.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | bind_type: bind_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bind_type` [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/events/bind.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/events/bind.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | jid: jid, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `jid` [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/events/bind.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | iq_type: iq_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `iq_type` [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/events/bind.rs:103:13 [INFO] [stderr] | [INFO] [stderr] 103 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/events/ping.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | from: from, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `from` [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/jid.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | node: node, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `node` [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/jid.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | domain: domain, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `domain` [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/jid.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | resource: resource [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `resource` [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/connection.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | credentials: credentials, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `credentials` [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/transport.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | connection: connection [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `connection` [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/events/open_stream.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | to: to, [INFO] [stderr] | ^^^^^^ help: replace it with: `to` [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/events/presence.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | jid: jid [INFO] [stderr] | ^^^^^^^^ help: replace it with: `jid` [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/events/auth.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | credentials: credentials [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `credentials` [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/events/bind.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | bind_type: bind_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bind_type` [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/events/bind.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/events/bind.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | jid: jid, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `jid` [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/events/bind.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | iq_type: iq_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `iq_type` [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/events/bind.rs:103:13 [INFO] [stderr] | [INFO] [stderr] 103 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/events/ping.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | from: from, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `from` [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/jid.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | node: node, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `node` [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/jid.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | domain: domain, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `domain` [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/jid.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | resource: resource [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `resource` [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/connection.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | credentials: credentials, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `credentials` [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/transport.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | connection: connection [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `connection` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/default.rs:1:20 [INFO] [stderr] | [INFO] [stderr] 1 | pub const DOMAIN: &'static str = "example.com"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/stanza/non_stanza.rs:3:18 [INFO] [stderr] | [INFO] [stderr] 3 | pub const AUTH: &'static str = ""; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/stanza/non_stanza.rs:4:19 [INFO] [stderr] | [INFO] [stderr] 4 | pub const PLAIN: &'static str = ""; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/connection.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Mutex` [INFO] [stderr] --> src/connection.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::sync::Mutex; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/ns.rs:1:20 [INFO] [stderr] | [INFO] [stderr] 1 | pub const CLIENT: &'static str = "jabber:client"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/ns.rs:2:20 [INFO] [stderr] | [INFO] [stderr] 2 | pub const SERVER: &'static str = "jabber:server"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/ns.rs:3:20 [INFO] [stderr] | [INFO] [stderr] 3 | pub const STREAM: &'static str = "http://etherx.jabber.org/streams"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/ns.rs:4:17 [INFO] [stderr] | [INFO] [stderr] 4 | pub const TLS: &'static str = "urn:ietf:params:xml:ns:xmpp-tls"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/ns.rs:5:18 [INFO] [stderr] | [INFO] [stderr] 5 | pub const SASL: &'static str = "urn:ietf:params:xml:ns:xmpp-sasl"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/ns.rs:6:18 [INFO] [stderr] | [INFO] [stderr] 6 | pub const BIND: &'static str = "urn:ietf:params:xml:ns:xmpp-bind"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/ns.rs:7:21 [INFO] [stderr] | [INFO] [stderr] 7 | pub const STANZAS: &'static str = "urn:ietf:params:xml:ns:xmpp-stanzas"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str` [INFO] [stderr] --> src/transport.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::str; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/transport.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Mutex` [INFO] [stderr] --> src/transport.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::sync::Mutex; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/stream.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use tokio_io::codec::Framed; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/stream.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 7 | Tcp(Framed), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/stream.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | Tls(Framed, XMPPCodec>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/transport.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | let e = event.clone(); [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `events::bind::Bind` [INFO] [stderr] --> src/events/bind.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | / pub fn new() -> Bind { [INFO] [stderr] 15 | | Bind { [INFO] [stderr] 16 | | id: String::new(), [INFO] [stderr] 17 | | bind_type: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 20 | | } [INFO] [stderr] 21 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 6 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `events::bind::Generic` [INFO] [stderr] --> src/events/bind.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | / pub fn new() -> Generic { [INFO] [stderr] 73 | | Generic { [INFO] [stderr] 74 | | id: String::new(), [INFO] [stderr] 75 | | iq_type: String::new(), [INFO] [stderr] 76 | | body: None [INFO] [stderr] 77 | | } [INFO] [stderr] 78 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 65 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/events/mod.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | Stanza(StanzaEvent, String), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] --> src/events/mod.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | Stanza(StanzaEvent, String), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [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/connection.rs:169:17 [INFO] [stderr] | [INFO] [stderr] 169 | / match event.body { [INFO] [stderr] 170 | | Some(body) => match body.find((ns::BIND, "bind")) { [INFO] [stderr] 171 | | Some(bind) => match bind.find((ns::BIND, "jid")) { [INFO] [stderr] 172 | | Some(jid) => { [INFO] [stderr] ... | [INFO] [stderr] 183 | | None => {} [INFO] [stderr] 184 | | } [INFO] [stderr] | |_________________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 169 | if let Some(body) = event.body { match body.find((ns::BIND, "bind")) { [INFO] [stderr] 170 | Some(bind) => match bind.find((ns::BIND, "jid")) { [INFO] [stderr] 171 | Some(jid) => { [INFO] [stderr] 172 | self.state = ConnectionState::Connected; [INFO] [stderr] 173 | match self.credentials { [INFO] [stderr] 174 | Some(ref mut c) => c.jid = Jid::from_full_jid(&jid.text()), [INFO] [stderr] ... [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/connection.rs:170:35 [INFO] [stderr] | [INFO] [stderr] 170 | Some(body) => match body.find((ns::BIND, "bind")) { [INFO] [stderr] | ___________________________________^ [INFO] [stderr] 171 | | Some(bind) => match bind.find((ns::BIND, "jid")) { [INFO] [stderr] 172 | | Some(jid) => { [INFO] [stderr] 173 | | self.state = ConnectionState::Connected; [INFO] [stderr] ... | [INFO] [stderr] 181 | | None => {} [INFO] [stderr] 182 | | }, [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 170 | Some(body) => if let Some(bind) = body.find((ns::BIND, "bind")) { match bind.find((ns::BIND, "jid")) { [INFO] [stderr] 171 | Some(jid) => { [INFO] [stderr] 172 | self.state = ConnectionState::Connected; [INFO] [stderr] 173 | match self.credentials { [INFO] [stderr] 174 | Some(ref mut c) => c.jid = Jid::from_full_jid(&jid.text()), [INFO] [stderr] 175 | None => {} [INFO] [stderr] ... [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/connection.rs:171:39 [INFO] [stderr] | [INFO] [stderr] 171 | Some(bind) => match bind.find((ns::BIND, "jid")) { [INFO] [stderr] | _______________________________________^ [INFO] [stderr] 172 | | Some(jid) => { [INFO] [stderr] 173 | | self.state = ConnectionState::Connected; [INFO] [stderr] 174 | | match self.credentials { [INFO] [stderr] ... | [INFO] [stderr] 179 | | None => {} [INFO] [stderr] 180 | | }, [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 171 | Some(bind) => if let Some(jid) = bind.find((ns::BIND, "jid")) { [INFO] [stderr] 172 | self.state = ConnectionState::Connected; [INFO] [stderr] 173 | match self.credentials { [INFO] [stderr] 174 | Some(ref mut c) => c.jid = Jid::from_full_jid(&jid.text()), [INFO] [stderr] 175 | None => {} [INFO] [stderr] 176 | }; [INFO] [stderr] ... [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/connection.rs:174:33 [INFO] [stderr] | [INFO] [stderr] 174 | / match self.credentials { [INFO] [stderr] 175 | | Some(ref mut c) => c.jid = Jid::from_full_jid(&jid.text()), [INFO] [stderr] 176 | | None => {} [INFO] [stderr] 177 | | }; [INFO] [stderr] | |_________________________________^ help: try this: `if let Some(ref mut c) = self.credentials { c.jid = Jid::from_full_jid(&jid.text()) }` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/connection.rs:219:9 [INFO] [stderr] | [INFO] [stderr] 219 | / match self.iq_queue.remove(&id) { [INFO] [stderr] 220 | | Some(tx) => { [INFO] [stderr] 221 | | tx.send(event); [INFO] [stderr] 222 | | }, [INFO] [stderr] 223 | | None => {} [INFO] [stderr] 224 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 219 | if let Some(tx) = self.iq_queue.remove(&id) { [INFO] [stderr] 220 | tx.send(event); [INFO] [stderr] 221 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/connection.rs:221:17 [INFO] [stderr] | [INFO] [stderr] 221 | tx.send(event); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/transport.rs:221:28 [INFO] [stderr] | [INFO] [stderr] 221 | return Err(From::from(e)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider removing `From::from()`: `e` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/transport.rs:282:28 [INFO] [stderr] | [INFO] [stderr] 282 | return Err(From::from(e)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider removing `From::from()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/parser.rs:50:27 [INFO] [stderr] | [INFO] [stderr] 50 | static ref HASHMAP_R: Vec<(&'static str, Regex, Box Event + Sync>)> = { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/parser.rs:50:27 [INFO] [stderr] | [INFO] [stderr] 50 | static ref HASHMAP_R: Vec<(&'static str, Regex, Box Event + Sync>)> = { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/default.rs:1:20 [INFO] [stderr] | [INFO] [stderr] 1 | pub const DOMAIN: &'static str = "example.com"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/stanza/non_stanza.rs:3:18 [INFO] [stderr] | [INFO] [stderr] 3 | pub const AUTH: &'static str = ""; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/stanza/non_stanza.rs:4:19 [INFO] [stderr] | [INFO] [stderr] 4 | pub const PLAIN: &'static str = ""; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/connection.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Mutex` [INFO] [stderr] --> src/connection.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::sync::Mutex; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/ns.rs:1:20 [INFO] [stderr] | [INFO] [stderr] 1 | pub const CLIENT: &'static str = "jabber:client"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/ns.rs:2:20 [INFO] [stderr] | [INFO] [stderr] 2 | pub const SERVER: &'static str = "jabber:server"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/ns.rs:3:20 [INFO] [stderr] | [INFO] [stderr] 3 | pub const STREAM: &'static str = "http://etherx.jabber.org/streams"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/ns.rs:4:17 [INFO] [stderr] | [INFO] [stderr] 4 | pub const TLS: &'static str = "urn:ietf:params:xml:ns:xmpp-tls"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/ns.rs:5:18 [INFO] [stderr] | [INFO] [stderr] 5 | pub const SASL: &'static str = "urn:ietf:params:xml:ns:xmpp-sasl"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/ns.rs:6:18 [INFO] [stderr] | [INFO] [stderr] 6 | pub const BIND: &'static str = "urn:ietf:params:xml:ns:xmpp-bind"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/ns.rs:7:21 [INFO] [stderr] | [INFO] [stderr] 7 | pub const STANZAS: &'static str = "urn:ietf:params:xml:ns:xmpp-stanzas"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str` [INFO] [stderr] --> src/transport.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::str; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/transport.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Mutex` [INFO] [stderr] --> src/transport.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::sync::Mutex; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/stream.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use tokio_io::codec::Framed; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/stream.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 7 | Tcp(Framed), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/stream.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | Tls(Framed, XMPPCodec>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/transport.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | let e = event.clone(); [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/events/open_stream.rs:72:86 [INFO] [stderr] | [INFO] [stderr] 72 | assert!(OpenStream::new(&XMPPConfig::new().set_domain("hey")).to_string() == initial_stream.to_string(), OpenStream::new(&XMPPConfig::new()).to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `initial_stream` [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] --> src/events/open_stream.rs:73:68 [INFO] [stderr] | [INFO] [stderr] 73 | assert!(OpenStream::new(&XMPPConfig::new()).to_string() == initial_stream_example.to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `initial_stream_example` [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: you should consider deriving a `Default` implementation for `events::bind::Bind` [INFO] [stderr] --> src/events/bind.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | / pub fn new() -> Bind { [INFO] [stderr] 15 | | Bind { [INFO] [stderr] 16 | | id: String::new(), [INFO] [stderr] 17 | | bind_type: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 20 | | } [INFO] [stderr] 21 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 6 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `events::bind::Generic` [INFO] [stderr] --> src/events/bind.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | / pub fn new() -> Generic { [INFO] [stderr] 73 | | Generic { [INFO] [stderr] 74 | | id: String::new(), [INFO] [stderr] 75 | | iq_type: String::new(), [INFO] [stderr] 76 | | body: None [INFO] [stderr] 77 | | } [INFO] [stderr] 78 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 65 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/events/mod.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | Stanza(StanzaEvent, String), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] --> src/events/mod.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | Stanza(StanzaEvent, String), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/events/mod.rs:91:36 [INFO] [stderr] | [INFO] [stderr] 91 | assert!(compile(&event) == initial_stream.to_string(), compile(&event)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `initial_stream` [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] --> src/jid.rs:76:17 [INFO] [stderr] | [INFO] [stderr] 76 | assert!("zz.com".to_string() == jid.domain); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `"zz.com"` [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] --> src/jid.rs:85:17 [INFO] [stderr] | [INFO] [stderr] 85 | assert!("zz.com".to_string() == jid.domain, format!("{:?} == {:?}", "zz.com".to_string(), jid.domain)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `"zz.com"` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/connection.rs:169:17 [INFO] [stderr] | [INFO] [stderr] 169 | / match event.body { [INFO] [stderr] 170 | | Some(body) => match body.find((ns::BIND, "bind")) { [INFO] [stderr] 171 | | Some(bind) => match bind.find((ns::BIND, "jid")) { [INFO] [stderr] 172 | | Some(jid) => { [INFO] [stderr] ... | [INFO] [stderr] 183 | | None => {} [INFO] [stderr] 184 | | } [INFO] [stderr] | |_________________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 169 | if let Some(body) = event.body { match body.find((ns::BIND, "bind")) { [INFO] [stderr] 170 | Some(bind) => match bind.find((ns::BIND, "jid")) { [INFO] [stderr] 171 | Some(jid) => { [INFO] [stderr] 172 | self.state = ConnectionState::Connected; [INFO] [stderr] 173 | match self.credentials { [INFO] [stderr] 174 | Some(ref mut c) => c.jid = Jid::from_full_jid(&jid.text()), [INFO] [stderr] ... [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/connection.rs:170:35 [INFO] [stderr] | [INFO] [stderr] 170 | Some(body) => match body.find((ns::BIND, "bind")) { [INFO] [stderr] | ___________________________________^ [INFO] [stderr] 171 | | Some(bind) => match bind.find((ns::BIND, "jid")) { [INFO] [stderr] 172 | | Some(jid) => { [INFO] [stderr] 173 | | self.state = ConnectionState::Connected; [INFO] [stderr] ... | [INFO] [stderr] 181 | | None => {} [INFO] [stderr] 182 | | }, [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 170 | Some(body) => if let Some(bind) = body.find((ns::BIND, "bind")) { match bind.find((ns::BIND, "jid")) { [INFO] [stderr] 171 | Some(jid) => { [INFO] [stderr] 172 | self.state = ConnectionState::Connected; [INFO] [stderr] 173 | match self.credentials { [INFO] [stderr] 174 | Some(ref mut c) => c.jid = Jid::from_full_jid(&jid.text()), [INFO] [stderr] 175 | None => {} [INFO] [stderr] ... [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/connection.rs:171:39 [INFO] [stderr] | [INFO] [stderr] 171 | Some(bind) => match bind.find((ns::BIND, "jid")) { [INFO] [stderr] | _______________________________________^ [INFO] [stderr] 172 | | Some(jid) => { [INFO] [stderr] 173 | | self.state = ConnectionState::Connected; [INFO] [stderr] 174 | | match self.credentials { [INFO] [stderr] ... | [INFO] [stderr] 179 | | None => {} [INFO] [stderr] 180 | | }, [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 171 | Some(bind) => if let Some(jid) = bind.find((ns::BIND, "jid")) { [INFO] [stderr] 172 | self.state = ConnectionState::Connected; [INFO] [stderr] 173 | match self.credentials { [INFO] [stderr] 174 | Some(ref mut c) => c.jid = Jid::from_full_jid(&jid.text()), [INFO] [stderr] 175 | None => {} [INFO] [stderr] 176 | }; [INFO] [stderr] ... [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/connection.rs:174:33 [INFO] [stderr] | [INFO] [stderr] 174 | / match self.credentials { [INFO] [stderr] 175 | | Some(ref mut c) => c.jid = Jid::from_full_jid(&jid.text()), [INFO] [stderr] 176 | | None => {} [INFO] [stderr] 177 | | }; [INFO] [stderr] | |_________________________________^ help: try this: `if let Some(ref mut c) = self.credentials { c.jid = Jid::from_full_jid(&jid.text()) }` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/connection.rs:219:9 [INFO] [stderr] | [INFO] [stderr] 219 | / match self.iq_queue.remove(&id) { [INFO] [stderr] 220 | | Some(tx) => { [INFO] [stderr] 221 | | tx.send(event); [INFO] [stderr] 222 | | }, [INFO] [stderr] 223 | | None => {} [INFO] [stderr] 224 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 219 | if let Some(tx) = self.iq_queue.remove(&id) { [INFO] [stderr] 220 | tx.send(event); [INFO] [stderr] 221 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/connection.rs:221:17 [INFO] [stderr] | [INFO] [stderr] 221 | tx.send(event); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/transport.rs:221:28 [INFO] [stderr] | [INFO] [stderr] 221 | return Err(From::from(e)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider removing `From::from()`: `e` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/transport.rs:282:28 [INFO] [stderr] | [INFO] [stderr] 282 | return Err(From::from(e)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider removing `From::from()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/parser.rs:50:27 [INFO] [stderr] | [INFO] [stderr] 50 | static ref HASHMAP_R: Vec<(&'static str, Regex, Box Event + Sync>)> = { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/parser.rs:50:27 [INFO] [stderr] | [INFO] [stderr] 50 | static ref HASHMAP_R: Vec<(&'static str, Regex, Box Event + Sync>)> = { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 17.57s [INFO] running `"docker" "inspect" "269731b55ec62e074a75e6a38168528f52c2473fbf370a37b4c790d939afc75e"` [INFO] running `"docker" "rm" "-f" "269731b55ec62e074a75e6a38168528f52c2473fbf370a37b4c790d939afc75e"` [INFO] [stdout] 269731b55ec62e074a75e6a38168528f52c2473fbf370a37b4c790d939afc75e