[INFO] updating cached repository aji/ircd-oxide [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/aji/ircd-oxide [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/aji/ircd-oxide" "work/ex/clippy-test-run/sources/stable/gh/aji/ircd-oxide"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/aji/ircd-oxide'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/aji/ircd-oxide" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/aji/ircd-oxide"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/aji/ircd-oxide'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] d17716e88b31d1bca5fb6ec20eea52d757bc9619 [INFO] sha for GitHub repo aji/ircd-oxide: d17716e88b31d1bca5fb6ec20eea52d757bc9619 [INFO] validating manifest of aji/ircd-oxide 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 aji/ircd-oxide 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 aji/ircd-oxide [INFO] finished frobbing aji/ircd-oxide [INFO] frobbed toml for aji/ircd-oxide written to work/ex/clippy-test-run/sources/stable/gh/aji/ircd-oxide/Cargo.toml [INFO] started frobbing aji/ircd-oxide [INFO] finished frobbing aji/ircd-oxide [INFO] frobbed toml for aji/ircd-oxide written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/aji/ircd-oxide/Cargo.toml [INFO] crate aji/ircd-oxide has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting aji/ircd-oxide against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/aji/ircd-oxide:/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] 656b5cc5ddd001f1a54f37cadc0eaebfa54bb32805e0193ca48601c55da86e8f [INFO] running `"docker" "start" "-a" "656b5cc5ddd001f1a54f37cadc0eaebfa54bb32805e0193ca48601c55da86e8f"` [INFO] [stderr] Checking toml v0.3.1 [INFO] [stderr] Checking oxide v0.0.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/common/bimap.rs:155:16 [INFO] [stderr] | [INFO] [stderr] 155 | AllA { pairs: pairs, tt: tt, bi: bi, iter: iter } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `pairs` [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/common/bimap.rs:155:30 [INFO] [stderr] | [INFO] [stderr] 155 | AllA { pairs: pairs, tt: tt, bi: bi, iter: iter } [INFO] [stderr] | ^^^^^^ help: replace it with: `tt` [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/common/bimap.rs:155:38 [INFO] [stderr] | [INFO] [stderr] 155 | AllA { pairs: pairs, tt: tt, bi: bi, iter: iter } [INFO] [stderr] | ^^^^^^ help: replace it with: `bi` [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/common/bimap.rs:155:46 [INFO] [stderr] | [INFO] [stderr] 155 | AllA { pairs: pairs, tt: tt, bi: bi, iter: iter } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/common/bimap.rs:186:16 [INFO] [stderr] | [INFO] [stderr] 186 | AllB { pairs: pairs, tt: tt, ai: ai, iter: iter } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `pairs` [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/common/bimap.rs:186:30 [INFO] [stderr] | [INFO] [stderr] 186 | AllB { pairs: pairs, tt: tt, ai: ai, iter: iter } [INFO] [stderr] | ^^^^^^ help: replace it with: `tt` [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/common/bimap.rs:186:38 [INFO] [stderr] | [INFO] [stderr] 186 | AllB { pairs: pairs, tt: tt, ai: ai, iter: iter } [INFO] [stderr] | ^^^^^^ help: replace it with: `ai` [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/common/bimap.rs:186:46 [INFO] [stderr] | [INFO] [stderr] 186 | AllB { pairs: pairs, tt: tt, ai: ai, iter: iter } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/common/observe.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | shared: shared, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `shared` [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/common/bimap.rs:155:16 [INFO] [stderr] | [INFO] [stderr] 155 | AllA { pairs: pairs, tt: tt, bi: bi, iter: iter } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `pairs` [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/common/observe.rs:157:20 [INFO] [stderr] | [INFO] [stderr] 157 | Observer { dispatch: dispatch } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `dispatch` [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/crdb/tests.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | min_finish: min_finish, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `min_finish` [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/crdb/tests.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | max_finish: max_finish, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `max_finish` [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/crdb/mod.rs:130:17 [INFO] [stderr] | [INFO] [stderr] 130 | schema: schema, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `schema` [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/crdb/mod.rs:138:29 [INFO] [stderr] | [INFO] [stderr] 138 | let typed = Table { inner: inner }; [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `inner` [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/crdb/mod.rs:173:13 [INFO] [stderr] | [INFO] [stderr] 173 | txid: txid, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `txid` [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/crdb/mod.rs:174:13 [INFO] [stderr] | [INFO] [stderr] 174 | updates: updates [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `updates` [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/crdb/mod.rs:189:13 [INFO] [stderr] | [INFO] [stderr] 189 | txid: txid, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `txid` [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/crdb/mod.rs:190:13 [INFO] [stderr] | [INFO] [stderr] 190 | updates: updates [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `updates` [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/crdb/mod.rs:354:13 [INFO] [stderr] | [INFO] [stderr] 354 | prev: prev, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `prev` [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/crdb/mod.rs:380:13 [INFO] [stderr] | [INFO] [stderr] 380 | txid: txid, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `txid` [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/crdb/mod.rs:398:13 [INFO] [stderr] | [INFO] [stderr] 398 | txid: txid, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `txid` [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/irc/active.rs:19:18 [INFO] [stderr] | [INFO] [stderr] 19 | Active { world: world, _out: out, nick: nick } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `world` [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/irc/active.rs:19:43 [INFO] [stderr] | [INFO] [stderr] 19 | Active { world: world, _out: out, nick: nick } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `nick` [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/irc/listener.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | world: world, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `world` [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/irc/listener.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | accept: accept, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `accept` [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/irc/message.rs:31:19 [INFO] [stderr] | [INFO] [stderr] 31 | Scanner { b: b } [INFO] [stderr] | ^^^^ help: replace it with: `b` [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/irc/message.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | verb: verb, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `verb` [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/irc/message.rs:94:13 [INFO] [stderr] | [INFO] [stderr] 94 | args: args [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `args` [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/irc/pending.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | world: world, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `world` [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/irc/pending.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | out: out, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `out` [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/irc/send.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | buf: buf, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `buf` [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/irc/send.rs:116:13 [INFO] [stderr] | [INFO] [stderr] 116 | send: send, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `send` [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/world/mod.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | db: db, [INFO] [stderr] | ^^^^^^ help: replace it with: `db` [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/world/mod.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | u_table: u_table, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `u_table` [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/world/mod.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | c_table: c_table, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `c_table` [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/world/mod.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | m_table: m_table, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `m_table` [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/world/mod.rs:278:53 [INFO] [stderr] | [INFO] [stderr] 278 | MembershipRecord { since: Timestamp::now(), status: status } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `status` [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/common/bimap.rs:155:30 [INFO] [stderr] | [INFO] [stderr] 155 | AllA { pairs: pairs, tt: tt, bi: bi, iter: iter } [INFO] [stderr] | ^^^^^^ help: replace it with: `tt` [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/common/bimap.rs:155:38 [INFO] [stderr] | [INFO] [stderr] 155 | AllA { pairs: pairs, tt: tt, bi: bi, iter: iter } [INFO] [stderr] | ^^^^^^ help: replace it with: `bi` [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/common/bimap.rs:155:46 [INFO] [stderr] | [INFO] [stderr] 155 | AllA { pairs: pairs, tt: tt, bi: bi, iter: iter } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/common/bimap.rs:186:16 [INFO] [stderr] | [INFO] [stderr] 186 | AllB { pairs: pairs, tt: tt, ai: ai, iter: iter } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `pairs` [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/common/bimap.rs:186:30 [INFO] [stderr] | [INFO] [stderr] 186 | AllB { pairs: pairs, tt: tt, ai: ai, iter: iter } [INFO] [stderr] | ^^^^^^ help: replace it with: `tt` [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/common/bimap.rs:186:38 [INFO] [stderr] | [INFO] [stderr] 186 | AllB { pairs: pairs, tt: tt, ai: ai, iter: iter } [INFO] [stderr] | ^^^^^^ help: replace it with: `ai` [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/common/bimap.rs:186:46 [INFO] [stderr] | [INFO] [stderr] 186 | AllB { pairs: pairs, tt: tt, ai: ai, iter: iter } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/common/observe.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | shared: shared, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `shared` [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/common/observe.rs:157:20 [INFO] [stderr] | [INFO] [stderr] 157 | Observer { dispatch: dispatch } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `dispatch` [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/crdb/mod.rs:130:17 [INFO] [stderr] | [INFO] [stderr] 130 | schema: schema, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `schema` [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/crdb/mod.rs:138:29 [INFO] [stderr] | [INFO] [stderr] 138 | let typed = Table { inner: inner }; [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `inner` [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/crdb/mod.rs:173:13 [INFO] [stderr] | [INFO] [stderr] 173 | txid: txid, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `txid` [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/crdb/mod.rs:174:13 [INFO] [stderr] | [INFO] [stderr] 174 | updates: updates [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `updates` [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/crdb/mod.rs:189:13 [INFO] [stderr] | [INFO] [stderr] 189 | txid: txid, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `txid` [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/crdb/mod.rs:190:13 [INFO] [stderr] | [INFO] [stderr] 190 | updates: updates [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `updates` [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/crdb/mod.rs:354:13 [INFO] [stderr] | [INFO] [stderr] 354 | prev: prev, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `prev` [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/crdb/mod.rs:380:13 [INFO] [stderr] | [INFO] [stderr] 380 | txid: txid, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `txid` [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/crdb/mod.rs:398:13 [INFO] [stderr] | [INFO] [stderr] 398 | txid: txid, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `txid` [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/irc/active.rs:19:18 [INFO] [stderr] | [INFO] [stderr] 19 | Active { world: world, _out: out, nick: nick } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `world` [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/irc/active.rs:19:43 [INFO] [stderr] | [INFO] [stderr] 19 | Active { world: world, _out: out, nick: nick } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `nick` [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/irc/listener.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | world: world, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `world` [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/irc/listener.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | accept: accept, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `accept` [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/irc/message.rs:31:19 [INFO] [stderr] | [INFO] [stderr] 31 | Scanner { b: b } [INFO] [stderr] | ^^^^ help: replace it with: `b` [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/irc/message.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | verb: verb, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `verb` [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/irc/message.rs:94:13 [INFO] [stderr] | [INFO] [stderr] 94 | args: args [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `args` [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/irc/pending.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | world: world, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `world` [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/irc/pending.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | out: out, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `out` [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/irc/send.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | buf: buf, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `buf` [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/irc/send.rs:116:13 [INFO] [stderr] | [INFO] [stderr] 116 | send: send, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `send` [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/world/mod.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | db: db, [INFO] [stderr] | ^^^^^^ help: replace it with: `db` [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/world/mod.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | u_table: u_table, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `u_table` [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/world/mod.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | c_table: c_table, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `c_table` [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/world/mod.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | m_table: m_table, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `m_table` [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/world/mod.rs:278:53 [INFO] [stderr] | [INFO] [stderr] 278 | MembershipRecord { since: Timestamp::now(), status: status } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `status` [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: module has the same name as its containing module [INFO] [stderr] --> src/irc/cap.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | / mod cap { [INFO] [stderr] 21 | | bitflags! { [INFO] [stderr] 22 | | pub flags Caps: u16 { [INFO] [stderr] 23 | | const MULTI_PREFIX = 0b_00000000_00000001, [INFO] [stderr] ... | [INFO] [stderr] 28 | | } [INFO] [stderr] 29 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/irc/cap.rs:23:40 [INFO] [stderr] | [INFO] [stderr] 23 | const MULTI_PREFIX = 0b_00000000_00000001, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0000_0000_0001` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_digit_groups)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/irc/cap.rs:24:40 [INFO] [stderr] | [INFO] [stderr] 24 | const ACCOUNT_NOTIFY = 0b_00000000_00000010, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0000_0000_0010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/irc/cap.rs:25:40 [INFO] [stderr] | [INFO] [stderr] 25 | const AWAY_NOTIFY = 0b_00000000_00000100, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0000_0000_0100` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/irc/cap.rs:26:40 [INFO] [stderr] | [INFO] [stderr] 26 | const EXTENDED_JOIN = 0b_00000000_00001000, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0000_0000_1000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/world/mod.rs:326:21 [INFO] [stderr] | [INFO] [stderr] 326 | const TIME_FORMAT: &'static str = "%y%m%d%H%M%S"; [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: unused import: `futures::Async` [INFO] [stderr] --> src/crdb/tests.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use futures::Async; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/irc/cap.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | / mod cap { [INFO] [stderr] 21 | | bitflags! { [INFO] [stderr] 22 | | pub flags Caps: u16 { [INFO] [stderr] 23 | | const MULTI_PREFIX = 0b_00000000_00000001, [INFO] [stderr] ... | [INFO] [stderr] 28 | | } [INFO] [stderr] 29 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/irc/cap.rs:23:40 [INFO] [stderr] | [INFO] [stderr] 23 | const MULTI_PREFIX = 0b_00000000_00000001, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0000_0000_0001` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_digit_groups)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/irc/cap.rs:24:40 [INFO] [stderr] | [INFO] [stderr] 24 | const ACCOUNT_NOTIFY = 0b_00000000_00000010, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0000_0000_0010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/irc/cap.rs:25:40 [INFO] [stderr] | [INFO] [stderr] 25 | const AWAY_NOTIFY = 0b_00000000_00000100, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0000_0000_0100` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/irc/cap.rs:26:40 [INFO] [stderr] | [INFO] [stderr] 26 | const EXTENDED_JOIN = 0b_00000000_00001000, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0000_0000_1000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/world/mod.rs:326:21 [INFO] [stderr] | [INFO] [stderr] 326 | const TIME_FORMAT: &'static str = "%y%m%d%H%M%S"; [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: you should consider deriving a `Default` implementation for `common::bimap::Bimap` [INFO] [stderr] --> src/common/bimap.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | / pub fn new() -> Bimap { [INFO] [stderr] 39 | | Bimap { [INFO] [stderr] 40 | | tt: HashMap::new(), [INFO] [stderr] 41 | | aa: HashMap::new(), [INFO] [stderr] ... | [INFO] [stderr] 51 | | } [INFO] [stderr] 52 | | } [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] 23 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/common/bimap.rs:64:58 [INFO] [stderr] | [INFO] [stderr] 64 | let apair = self.apair.entry(*ai).or_insert_with(|| Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove closure as shown: `Vec::new` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/common/bimap.rs:65:58 [INFO] [stderr] | [INFO] [stderr] 65 | let bpair = self.bpair.entry(*bi).or_insert_with(|| Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove closure as shown: `Vec::new` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/common/bimap.rs:103:58 [INFO] [stderr] | [INFO] [stderr] 103 | let iter = self.bpair.get(&bi).map(|v| v.iter()).unwrap_or(NOTHING.iter()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| NOTHING.iter())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/common/bimap.rs:110:58 [INFO] [stderr] | [INFO] [stderr] 110 | let iter = self.apair.get(&ai).map(|v| v.iter()).unwrap_or(NOTHING.iter()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| NOTHING.iter())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `common::observe::Observable` [INFO] [stderr] --> src/common/observe.rs:123:5 [INFO] [stderr] | [INFO] [stderr] 123 | / pub fn new() -> Observable { [INFO] [stderr] 124 | | Observable { dispatch: Vec::new() } [INFO] [stderr] 125 | | } [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] 84 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/common/observe.rs:172:17 [INFO] [stderr] | [INFO] [stderr] 172 | inner.parked.as_ref().map(|t| t.unpark()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(t) = inner.parked.as_ref() { t.unpark() }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/common/observe.rs:186:17 [INFO] [stderr] | [INFO] [stderr] 186 | dispatch.borrow_mut().parked.take().map(|t| t.unpark()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(t) = dispatch.borrow_mut().parked.take() { t.unpark() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/common/observe.rs:197:16 [INFO] [stderr] | [INFO] [stderr] 197 | if let None = self.signal.upgrade() { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 198 | | Ok(Async::Ready(())) [INFO] [stderr] 199 | | } else { [INFO] [stderr] 200 | | self.shared.borrow_mut().parked = Some(task::park()); [INFO] [stderr] 201 | | Ok(Async::NotReady) [INFO] [stderr] 202 | | } [INFO] [stderr] | |_________- help: try this: `if self.signal.upgrade().is_none()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/common/observe.rs:257:13 [INFO] [stderr] | [INFO] [stderr] 257 | shared.borrow_mut().parked.take().map(|t| t.unpark()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(t) = shared.borrow_mut().parked.take() { t.unpark() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `common::table::Table` [INFO] [stderr] --> src/common/table.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / pub fn new() -> Table { [INFO] [stderr] 21 | | Table { rows: HashMap::new() } [INFO] [stderr] 22 | | } [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] 14 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/common/table.rs:39:44 [INFO] [stderr] | [INFO] [stderr] 39 | self.rows.entry(k1).or_insert_with(|| HashMap::new()).insert(k2, v); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove closure as shown: `HashMap::new` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/common/table.rs:44:44 [INFO] [stderr] | [INFO] [stderr] 44 | self.rows.entry(k1).or_insert_with(|| HashMap::new()).entry(k2) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove closure as shown: `HashMap::new` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `crdb::CRDB` [INFO] [stderr] --> src/crdb/mod.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | / pub fn new() -> CRDB { [INFO] [stderr] 115 | | CRDB { [INFO] [stderr] 116 | | updates: Observable::new(), [INFO] [stderr] 117 | | tables: HashMap::new(), [INFO] [stderr] 118 | | } [INFO] [stderr] 119 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 112 | impl Default for crdb::CRDB { [INFO] [stderr] 113 | fn default() -> Self { [INFO] [stderr] 114 | Self::new() [INFO] [stderr] 115 | } [INFO] [stderr] 116 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `crdb::RawTransaction` [INFO] [stderr] --> src/crdb/mod.rs:214:5 [INFO] [stderr] | [INFO] [stderr] 214 | / pub fn new() -> RawTransaction { [INFO] [stderr] 215 | | RawTransaction { [INFO] [stderr] 216 | | txid: random(), [INFO] [stderr] 217 | | items: HashMap::new() [INFO] [stderr] 218 | | } [INFO] [stderr] 219 | | } [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] 207 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/crdb/mod.rs:231:38 [INFO] [stderr] | [INFO] [stderr] 231 | .entry(k).or_insert_with(|| Vec::new()) [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove closure as shown: `Vec::new` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/crdb/mod.rs:230:42 [INFO] [stderr] | [INFO] [stderr] 230 | .entry(table).or_insert_with(|| HashMap::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove closure as shown: `HashMap::new` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/crdb/mod.rs:286:5 [INFO] [stderr] | [INFO] [stderr] 286 | / pub fn open<'t>(&'t mut self) -> Transaction<'t, S> { [INFO] [stderr] 287 | | Transaction { [INFO] [stderr] 288 | | txid: random(), [INFO] [stderr] 289 | | inner: self.inner.borrow_mut(), [INFO] [stderr] 290 | | next: HashMap::new(), [INFO] [stderr] 291 | | } [INFO] [stderr] 292 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/crdb/mod.rs:322:17 [INFO] [stderr] | [INFO] [stderr] 322 | assert!(rows.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rows.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/crdb/mod.rs:373:16 [INFO] [stderr] | [INFO] [stderr] 373 | if rows.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rows.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/crdb/mod.rs:524:15 [INFO] [stderr] | [INFO] [stderr] 524 | while inner.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!inner.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/irc/cap.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | self.caps = self.caps | other.caps; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.caps |= other.caps` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/irc/codec.rs:30:16 [INFO] [stderr] | [INFO] [stderr] 30 | if line.len() != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!line.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/irc/message.rs:49:14 [INFO] [stderr] | [INFO] [stderr] 49 | .unwrap_or(self.b.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.b.len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/irc/message.rs:59:14 [INFO] [stderr] | [INFO] [stderr] 59 | .unwrap_or(self.b.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.b.len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/irc/pending.rs:30:38 [INFO] [stderr] | [INFO] [stderr] 30 | if b"NICK" == &m.verb[..] && m.args.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!m.args.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/irc/pool.rs:34:37 [INFO] [stderr] | [INFO] [stderr] 34 | .or_insert_with(|| HashSet::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove closure as shown: `HashSet::new` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/irc/pool.rs:53:38 [INFO] [stderr] | [INFO] [stderr] 53 | fn send_to_chan(&mut self, chan: &String, omit: Option<&String>, line: String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `irc::pool::Pool` [INFO] [stderr] --> src/irc/pool.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | / pub fn new() -> Pool { [INFO] [stderr] 79 | | Pool { inner: Rc::new(RefCell::new(PoolInner::new())) } [INFO] [stderr] 80 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 77 | impl Default for irc::pool::Pool { [INFO] [stderr] 78 | fn default() -> Self { [INFO] [stderr] 79 | Self::new() [INFO] [stderr] 80 | } [INFO] [stderr] 81 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/irc/send.rs:66:13 [INFO] [stderr] | [INFO] [stderr] 66 | inner.blocked_send.take().map(|t| t.unpark()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(t) = inner.blocked_send.take() { t.unpark() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/irc/send.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | inner.blocked_send.take().map(|t| t.unpark()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(t) = inner.blocked_send.take() { t.unpark() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/irc/send.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | inner.blocked_send.take().map(|t| t.unpark()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(t) = inner.blocked_send.take() { t.unpark() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/world/mod.rs:153:17 [INFO] [stderr] | [INFO] [stderr] 153 | let ref mut users = inner.borrow_mut().users; [INFO] [stderr] | ----^^^^^^^^^^^^^---------------------------- help: try: `let users = &mut inner.borrow_mut().users;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/world/mod.rs:171:17 [INFO] [stderr] | [INFO] [stderr] 171 | let ref mut chans = inner.borrow_mut().chans; [INFO] [stderr] | ----^^^^^^^^^^^^^---------------------------- help: try: `let chans = &mut inner.borrow_mut().chans;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/world/mod.rs:208:45 [INFO] [stderr] | [INFO] [stderr] 208 | .or_insert_with(|| HashSet::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove closure as shown: `HashSet::new` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/world/mod.rs:212:45 [INFO] [stderr] | [INFO] [stderr] 212 | .or_insert_with(|| HashSet::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove closure as shown: `HashSet::new` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `common::bimap::Bimap` [INFO] [stderr] --> src/common/bimap.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | / pub fn new() -> Bimap { [INFO] [stderr] 39 | | Bimap { [INFO] [stderr] 40 | | tt: HashMap::new(), [INFO] [stderr] 41 | | aa: HashMap::new(), [INFO] [stderr] ... | [INFO] [stderr] 51 | | } [INFO] [stderr] 52 | | } [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] 23 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/common/bimap.rs:64:58 [INFO] [stderr] | [INFO] [stderr] 64 | let apair = self.apair.entry(*ai).or_insert_with(|| Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove closure as shown: `Vec::new` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/common/bimap.rs:65:58 [INFO] [stderr] | [INFO] [stderr] 65 | let bpair = self.bpair.entry(*bi).or_insert_with(|| Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove closure as shown: `Vec::new` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/common/bimap.rs:103:58 [INFO] [stderr] | [INFO] [stderr] 103 | let iter = self.bpair.get(&bi).map(|v| v.iter()).unwrap_or(NOTHING.iter()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| NOTHING.iter())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/common/bimap.rs:110:58 [INFO] [stderr] | [INFO] [stderr] 110 | let iter = self.apair.get(&ai).map(|v| v.iter()).unwrap_or(NOTHING.iter()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| NOTHING.iter())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `common::observe::Observable` [INFO] [stderr] --> src/common/observe.rs:123:5 [INFO] [stderr] | [INFO] [stderr] 123 | / pub fn new() -> Observable { [INFO] [stderr] 124 | | Observable { dispatch: Vec::new() } [INFO] [stderr] 125 | | } [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] 84 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/common/observe.rs:172:17 [INFO] [stderr] | [INFO] [stderr] 172 | inner.parked.as_ref().map(|t| t.unpark()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(t) = inner.parked.as_ref() { t.unpark() }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/common/observe.rs:186:17 [INFO] [stderr] | [INFO] [stderr] 186 | dispatch.borrow_mut().parked.take().map(|t| t.unpark()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(t) = dispatch.borrow_mut().parked.take() { t.unpark() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/common/observe.rs:197:16 [INFO] [stderr] | [INFO] [stderr] 197 | if let None = self.signal.upgrade() { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 198 | | Ok(Async::Ready(())) [INFO] [stderr] 199 | | } else { [INFO] [stderr] 200 | | self.shared.borrow_mut().parked = Some(task::park()); [INFO] [stderr] 201 | | Ok(Async::NotReady) [INFO] [stderr] 202 | | } [INFO] [stderr] | |_________- help: try this: `if self.signal.upgrade().is_none()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/common/observe.rs:257:13 [INFO] [stderr] | [INFO] [stderr] 257 | shared.borrow_mut().parked.take().map(|t| t.unpark()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(t) = shared.borrow_mut().parked.take() { t.unpark() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `common::table::Table` [INFO] [stderr] --> src/common/table.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / pub fn new() -> Table { [INFO] [stderr] 21 | | Table { rows: HashMap::new() } [INFO] [stderr] 22 | | } [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] 14 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/common/table.rs:39:44 [INFO] [stderr] | [INFO] [stderr] 39 | self.rows.entry(k1).or_insert_with(|| HashMap::new()).insert(k2, v); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove closure as shown: `HashMap::new` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/common/table.rs:44:44 [INFO] [stderr] | [INFO] [stderr] 44 | self.rows.entry(k1).or_insert_with(|| HashMap::new()).entry(k2) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove closure as shown: `HashMap::new` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `crdb::CRDB` [INFO] [stderr] --> src/crdb/mod.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | / pub fn new() -> CRDB { [INFO] [stderr] 115 | | CRDB { [INFO] [stderr] 116 | | updates: Observable::new(), [INFO] [stderr] 117 | | tables: HashMap::new(), [INFO] [stderr] 118 | | } [INFO] [stderr] 119 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 112 | impl Default for crdb::CRDB { [INFO] [stderr] 113 | fn default() -> Self { [INFO] [stderr] 114 | Self::new() [INFO] [stderr] 115 | } [INFO] [stderr] 116 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `crdb::RawTransaction` [INFO] [stderr] --> src/crdb/mod.rs:214:5 [INFO] [stderr] | [INFO] [stderr] 214 | / pub fn new() -> RawTransaction { [INFO] [stderr] 215 | | RawTransaction { [INFO] [stderr] 216 | | txid: random(), [INFO] [stderr] 217 | | items: HashMap::new() [INFO] [stderr] 218 | | } [INFO] [stderr] 219 | | } [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] 207 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/crdb/mod.rs:231:38 [INFO] [stderr] | [INFO] [stderr] 231 | .entry(k).or_insert_with(|| Vec::new()) [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove closure as shown: `Vec::new` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/crdb/mod.rs:230:42 [INFO] [stderr] | [INFO] [stderr] 230 | .entry(table).or_insert_with(|| HashMap::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove closure as shown: `HashMap::new` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/crdb/mod.rs:286:5 [INFO] [stderr] | [INFO] [stderr] 286 | / pub fn open<'t>(&'t mut self) -> Transaction<'t, S> { [INFO] [stderr] 287 | | Transaction { [INFO] [stderr] 288 | | txid: random(), [INFO] [stderr] 289 | | inner: self.inner.borrow_mut(), [INFO] [stderr] 290 | | next: HashMap::new(), [INFO] [stderr] 291 | | } [INFO] [stderr] 292 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/crdb/mod.rs:322:17 [INFO] [stderr] | [INFO] [stderr] 322 | assert!(rows.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rows.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/crdb/mod.rs:373:16 [INFO] [stderr] | [INFO] [stderr] 373 | if rows.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rows.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/crdb/mod.rs:524:15 [INFO] [stderr] | [INFO] [stderr] 524 | while inner.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!inner.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/irc/cap.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | self.caps = self.caps | other.caps; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.caps |= other.caps` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/irc/codec.rs:30:16 [INFO] [stderr] | [INFO] [stderr] 30 | if line.len() != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!line.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/irc/message.rs:49:14 [INFO] [stderr] | [INFO] [stderr] 49 | .unwrap_or(self.b.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.b.len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/irc/message.rs:59:14 [INFO] [stderr] | [INFO] [stderr] 59 | .unwrap_or(self.b.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.b.len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/irc/message.rs:129:36 [INFO] [stderr] | [INFO] [stderr] 129 | args: args.into_iter().map(|v| Bytes::from(v)).collect() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Bytes::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/irc/pending.rs:30:38 [INFO] [stderr] | [INFO] [stderr] 30 | if b"NICK" == &m.verb[..] && m.args.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!m.args.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/irc/pool.rs:34:37 [INFO] [stderr] | [INFO] [stderr] 34 | .or_insert_with(|| HashSet::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove closure as shown: `HashSet::new` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/irc/pool.rs:53:38 [INFO] [stderr] | [INFO] [stderr] 53 | fn send_to_chan(&mut self, chan: &String, omit: Option<&String>, line: String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `irc::pool::Pool` [INFO] [stderr] --> src/irc/pool.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | / pub fn new() -> Pool { [INFO] [stderr] 79 | | Pool { inner: Rc::new(RefCell::new(PoolInner::new())) } [INFO] [stderr] 80 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 77 | impl Default for irc::pool::Pool { [INFO] [stderr] 78 | fn default() -> Self { [INFO] [stderr] 79 | Self::new() [INFO] [stderr] 80 | } [INFO] [stderr] 81 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/irc/send.rs:66:13 [INFO] [stderr] | [INFO] [stderr] 66 | inner.blocked_send.take().map(|t| t.unpark()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(t) = inner.blocked_send.take() { t.unpark() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/irc/send.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | inner.blocked_send.take().map(|t| t.unpark()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(t) = inner.blocked_send.take() { t.unpark() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/irc/send.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | inner.blocked_send.take().map(|t| t.unpark()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(t) = inner.blocked_send.take() { t.unpark() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/world/mod.rs:153:17 [INFO] [stderr] | [INFO] [stderr] 153 | let ref mut users = inner.borrow_mut().users; [INFO] [stderr] | ----^^^^^^^^^^^^^---------------------------- help: try: `let users = &mut inner.borrow_mut().users;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/world/mod.rs:171:17 [INFO] [stderr] | [INFO] [stderr] 171 | let ref mut chans = inner.borrow_mut().chans; [INFO] [stderr] | ----^^^^^^^^^^^^^---------------------------- help: try: `let chans = &mut inner.borrow_mut().chans;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/world/mod.rs:208:45 [INFO] [stderr] | [INFO] [stderr] 208 | .or_insert_with(|| HashSet::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove closure as shown: `HashSet::new` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/world/mod.rs:212:45 [INFO] [stderr] | [INFO] [stderr] 212 | .or_insert_with(|| HashSet::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove closure as shown: `HashSet::new` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 7.87s [INFO] running `"docker" "inspect" "656b5cc5ddd001f1a54f37cadc0eaebfa54bb32805e0193ca48601c55da86e8f"` [INFO] running `"docker" "rm" "-f" "656b5cc5ddd001f1a54f37cadc0eaebfa54bb32805e0193ca48601c55da86e8f"` [INFO] [stdout] 656b5cc5ddd001f1a54f37cadc0eaebfa54bb32805e0193ca48601c55da86e8f