[INFO] crate rust_asio 0.6.0 is already in cache [INFO] extracting crate rust_asio 0.6.0 into work/ex/clippy-test-run/sources/stable/reg/rust_asio/0.6.0 [INFO] extracting crate rust_asio 0.6.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rust_asio/0.6.0 [INFO] validating manifest of rust_asio-0.6.0 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 rust_asio-0.6.0 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 rust_asio-0.6.0 [INFO] finished frobbing rust_asio-0.6.0 [INFO] frobbed toml for rust_asio-0.6.0 written to work/ex/clippy-test-run/sources/stable/reg/rust_asio/0.6.0/Cargo.toml [INFO] started frobbing rust_asio-0.6.0 [INFO] finished frobbing rust_asio-0.6.0 [INFO] frobbed toml for rust_asio-0.6.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rust_asio/0.6.0/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 rust_asio-0.6.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/rust_asio/0.6.0:/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] 5b5e56055803308fafb54283bec22537564c4881eeb557bcec738a18749538e7 [INFO] running `"docker" "start" "-a" "5b5e56055803308fafb54283bec22537564c4881eeb557bcec738a18749538e7"` [INFO] [stderr] Compiling context v1.0.1 [INFO] [stderr] Checking errno v0.1.8 [INFO] [stderr] Checking rust_asio v0.6.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ffi/tss/pthread.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | tss_key: tss_key, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `tss_key` [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/ffi/fdset/posix.rs:15:22 [INFO] [stderr] | [INFO] [stderr] 15 | PosixFdSet { fds: fds, max_fd: INVALID_SOCKET } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `fds` [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/buffers.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | max: max, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `max` [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/buffers.rs:269:13 [INFO] [stderr] | [INFO] [stderr] 269 | 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/core/task_ctx.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | reactor: reactor, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `reactor` [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/core/task_ctx.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | scheduler: scheduler, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `scheduler` [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/core/task_ctx.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | interrupter: interrupter, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `interrupter` [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/core/task_ctx.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | outstanding_work: outstanding_work, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `outstanding_work` [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/core/task_ctx.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | registry: registry, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `registry` [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/core/callstack.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [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/core/reactor/fd.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | fd: fd, [INFO] [stderr] | ^^^^^^ help: replace it with: `fd` [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/core/reactor/fd.rs:157:13 [INFO] [stderr] | [INFO] [stderr] 157 | fd: fd, [INFO] [stderr] | ^^^^^^ help: replace it with: `fd` [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/core/reactor/epoll.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | outstanding_work: outstanding_work, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `outstanding_work` [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/core/scheduler/timerfd.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | outstanding_work: outstanding_work, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `outstanding_work` [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/async/wrap.rs:120:9 [INFO] [stderr] | [INFO] [stderr] 120 | handler: handler, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `handler` [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/async/strand.rs:18:26 [INFO] [stderr] | [INFO] [stderr] 18 | (*self)(Strand { ctx: ctx, data: data }, this) [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ctx` [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/async/strand.rs:18:36 [INFO] [stderr] | [INFO] [stderr] 18 | (*self)(Strand { ctx: ctx, data: data }, this) [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/async/strand.rs:48:23 [INFO] [stderr] | [INFO] [stderr] 48 | func(Strand { ctx: ctx, data: self }, this); [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ctx` [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/async/strand.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | handler: handler, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `handler` [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/async/strand.rs:202:26 [INFO] [stderr] | [INFO] [stderr] 202 | handler(Strand { ctx: ctx, data: &data }, res) [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ctx` [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/async/strand.rs:224:26 [INFO] [stderr] | [INFO] [stderr] 224 | handler(Strand { ctx: ctx, data: &data }, res) [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ctx` [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/async/strand.rs:276:14 [INFO] [stderr] | [INFO] [stderr] 276 | Strand { ctx: ctx, data: data } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ctx` [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/async/strand.rs:276:24 [INFO] [stderr] | [INFO] [stderr] 276 | Strand { ctx: ctx, data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/async/strand.rs:282:13 [INFO] [stderr] | [INFO] [stderr] 282 | ctx: ctx, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ctx` [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/reactive_io/connect.rs:90:17 [INFO] [stderr] | [INFO] [stderr] 90 | mode: mode, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mode` [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/reactive_io/connect.rs:190:33 [INFO] [stderr] | [INFO] [stderr] 190 | it: it, [INFO] [stderr] | ^^^^^^ help: replace it with: `it` [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/reactive_io/accept.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | pro: pro, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pro` [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/reactive_io/read.rs:100:34 [INFO] [stderr] | [INFO] [stderr] 100 | read_detail(soc, buf, Recv { flags: flags }) [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `flags` [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/reactive_io/read.rs:109:38 [INFO] [stderr] | [INFO] [stderr] 109 | read_detail(soc, buf, RecvFrom { flags: flags, ep: ep, socklen: socklen }) [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `flags` [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/reactive_io/read.rs:109:52 [INFO] [stderr] | [INFO] [stderr] 109 | read_detail(soc, buf, RecvFrom { flags: flags, ep: ep, socklen: socklen }) [INFO] [stderr] | ^^^^^^ help: replace it with: `ep` [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/reactive_io/read.rs:109:60 [INFO] [stderr] | [INFO] [stderr] 109 | read_detail(soc, buf, RecvFrom { flags: flags, ep: ep, socklen: socklen }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `socklen` [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/reactive_io/read.rs:176:9 [INFO] [stderr] | [INFO] [stderr] 176 | reader: reader [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [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/reactive_io/read.rs:193:49 [INFO] [stderr] | [INFO] [stderr] 193 | async_read_detail(soc, buf, handler, Recv { flags: flags }) [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `flags` [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/reactive_io/read.rs:202:53 [INFO] [stderr] | [INFO] [stderr] 202 | async_read_detail(soc, buf, handler, RecvFrom { flags: flags, ep: ep, socklen: socklen }) [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `flags` [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/reactive_io/read.rs:202:67 [INFO] [stderr] | [INFO] [stderr] 202 | async_read_detail(soc, buf, handler, RecvFrom { flags: flags, ep: ep, socklen: socklen }) [INFO] [stderr] | ^^^^^^ help: replace it with: `ep` [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/reactive_io/read.rs:202:75 [INFO] [stderr] | [INFO] [stderr] 202 | async_read_detail(soc, buf, handler, RecvFrom { flags: flags, ep: ep, socklen: socklen }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `socklen` [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/reactive_io/write.rs:99:35 [INFO] [stderr] | [INFO] [stderr] 99 | write_detail(soc, buf, Sent { flags: flags }) [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `flags` [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/reactive_io/write.rs:106:37 [INFO] [stderr] | [INFO] [stderr] 106 | write_detail(soc, buf, SendTo { flags: flags, ep: ep }) [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `flags` [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/reactive_io/write.rs:106:51 [INFO] [stderr] | [INFO] [stderr] 106 | write_detail(soc, buf, SendTo { flags: flags, ep: ep }) [INFO] [stderr] | ^^^^^^ help: replace it with: `ep` [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/reactive_io/write.rs:174:9 [INFO] [stderr] | [INFO] [stderr] 174 | writer: writer, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `writer` [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/reactive_io/write.rs:191:50 [INFO] [stderr] | [INFO] [stderr] 191 | async_write_detail(soc, buf, handler, Sent { flags: flags }) [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `flags` [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/reactive_io/write.rs:199:52 [INFO] [stderr] | [INFO] [stderr] 199 | async_write_detail(soc, buf, handler, SendTo { flags: flags, ep: ep }) [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `flags` [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/reactive_io/write.rs:199:66 [INFO] [stderr] | [INFO] [stderr] 199 | async_write_detail(soc, buf, handler, SendTo { flags: flags, ep: ep }) [INFO] [stderr] | ^^^^^^ help: replace it with: `ep` [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/stream_socket.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | pro: pro, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pro` [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/dgram_socket.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | pro: pro, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pro` [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/raw_socket.rs:153:13 [INFO] [stderr] | [INFO] [stderr] 153 | pro: pro, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pro` [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/seq_packet_socket.rs:133:13 [INFO] [stderr] | [INFO] [stderr] 133 | pro: pro, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pro` [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/socket_listener.rs:103:13 [INFO] [stderr] | [INFO] [stderr] 103 | pro: pro, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pro` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/ip/addr.rs:161:44 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn new(a: u8, b: u8, c: u8, d: u8, e: u8, f: u8) -> LlAddr { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/ip/addr.rs:161:51 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn new(a: u8, b: u8, c: u8, d: u8, e: u8, f: u8) -> LlAddr { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ip/addr.rs:221:18 [INFO] [stderr] | [INFO] [stderr] 221 | LlAddr { bytes: bytes } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [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/ip/addr.rs:460:20 [INFO] [stderr] | [INFO] [stderr] 460 | IpAddrV4 { bytes: bytes } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/ip/addr.rs:482:48 [INFO] [stderr] | [INFO] [stderr] 482 | pub fn new(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16) -> IpAddrV6 { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/ip/addr.rs:482:56 [INFO] [stderr] | [INFO] [stderr] 482 | pub fn new(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16) -> IpAddrV6 { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/ip/addr.rs:482:64 [INFO] [stderr] | [INFO] [stderr] 482 | pub fn new(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16) -> IpAddrV6 { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 8th binding whose name is just one char [INFO] [stderr] --> src/ip/addr.rs:482:72 [INFO] [stderr] | [INFO] [stderr] 482 | pub fn new(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16) -> IpAddrV6 { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/ip/addr.rs:497:58 [INFO] [stderr] | [INFO] [stderr] 497 | pub fn with_scope_id(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16, scope_id: u32) -> IpAddrV6 { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/ip/addr.rs:497:66 [INFO] [stderr] | [INFO] [stderr] 497 | pub fn with_scope_id(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16, scope_id: u32) -> IpAddrV6 { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/ip/addr.rs:497:74 [INFO] [stderr] | [INFO] [stderr] 497 | pub fn with_scope_id(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16, scope_id: u32) -> IpAddrV6 { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 8th binding whose name is just one char [INFO] [stderr] --> src/ip/addr.rs:497:82 [INFO] [stderr] | [INFO] [stderr] 497 | pub fn with_scope_id(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16, scope_id: u32) -> IpAddrV6 { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ip/addr.rs:538:20 [INFO] [stderr] | [INFO] [stderr] 538 | IpAddrV6 { scope_id: scope_id, bytes: bytes } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `scope_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/ip/addr.rs:538:40 [INFO] [stderr] | [INFO] [stderr] 538 | IpAddrV6 { scope_id: scope_id, bytes: bytes } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [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/ip/addr.rs:708:33 [INFO] [stderr] | [INFO] [stderr] 708 | IpAddrV6 { scope_id: 0, bytes: bytes } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [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/ip/addr.rs:820:17 [INFO] [stderr] | [INFO] [stderr] 820 | len: len, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `len` [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/ip/addr.rs:841:13 [INFO] [stderr] | [INFO] [stderr] 841 | len: len, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `len` [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/ip/addr.rs:934:17 [INFO] [stderr] | [INFO] [stderr] 934 | len: len, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `len` [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/ip/addr.rs:956:13 [INFO] [stderr] | [INFO] [stderr] 956 | len: len, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `len` [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/ip/resolver.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | ai: ai, [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: 5th binding whose name is just one char [INFO] [stderr] --> src/from_str.rs:210:14 [INFO] [stderr] | [INFO] [stderr] 210 | let (e, it) = try!(self.0.parse(it)); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/from_str.rs:212:14 [INFO] [stderr] | [INFO] [stderr] 212 | let (f, it) = try!(self.0.parse(it)); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/generic/mod.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | protocol: protocol, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `protocol` [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/generic/mod.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | protocol: protocol, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `protocol` [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/signal_set.rs:241:13 [INFO] [stderr] | [INFO] [stderr] 241 | mask: mask, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mask` [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/ffi/tss/pthread.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | tss_key: tss_key, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `tss_key` [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/ffi/fdset/posix.rs:15:22 [INFO] [stderr] | [INFO] [stderr] 15 | PosixFdSet { fds: fds, max_fd: INVALID_SOCKET } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `fds` [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/buffers.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | max: max, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `max` [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/buffers.rs:269:13 [INFO] [stderr] | [INFO] [stderr] 269 | 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/core/task_ctx.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | reactor: reactor, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `reactor` [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/core/task_ctx.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | scheduler: scheduler, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `scheduler` [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/core/task_ctx.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | interrupter: interrupter, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `interrupter` [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/core/task_ctx.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | outstanding_work: outstanding_work, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `outstanding_work` [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/core/task_ctx.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | registry: registry, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `registry` [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/core/callstack.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [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/core/reactor/fd.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | fd: fd, [INFO] [stderr] | ^^^^^^ help: replace it with: `fd` [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/core/reactor/fd.rs:157:13 [INFO] [stderr] | [INFO] [stderr] 157 | fd: fd, [INFO] [stderr] | ^^^^^^ help: replace it with: `fd` [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/core/reactor/epoll.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | outstanding_work: outstanding_work, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `outstanding_work` [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/core/scheduler/timerfd.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | outstanding_work: outstanding_work, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `outstanding_work` [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/async/wrap.rs:120:9 [INFO] [stderr] | [INFO] [stderr] 120 | handler: handler, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `handler` [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/async/strand.rs:18:26 [INFO] [stderr] | [INFO] [stderr] 18 | (*self)(Strand { ctx: ctx, data: data }, this) [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ctx` [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/async/strand.rs:18:36 [INFO] [stderr] | [INFO] [stderr] 18 | (*self)(Strand { ctx: ctx, data: data }, this) [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/async/strand.rs:48:23 [INFO] [stderr] | [INFO] [stderr] 48 | func(Strand { ctx: ctx, data: self }, this); [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ctx` [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/async/strand.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | handler: handler, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `handler` [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/async/strand.rs:202:26 [INFO] [stderr] | [INFO] [stderr] 202 | handler(Strand { ctx: ctx, data: &data }, res) [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ctx` [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/async/strand.rs:224:26 [INFO] [stderr] | [INFO] [stderr] 224 | handler(Strand { ctx: ctx, data: &data }, res) [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ctx` [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/async/strand.rs:276:14 [INFO] [stderr] | [INFO] [stderr] 276 | Strand { ctx: ctx, data: data } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ctx` [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/async/strand.rs:276:24 [INFO] [stderr] | [INFO] [stderr] 276 | Strand { ctx: ctx, data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/async/strand.rs:282:13 [INFO] [stderr] | [INFO] [stderr] 282 | ctx: ctx, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ctx` [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/reactive_io/connect.rs:90:17 [INFO] [stderr] | [INFO] [stderr] 90 | mode: mode, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mode` [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/reactive_io/connect.rs:190:33 [INFO] [stderr] | [INFO] [stderr] 190 | it: it, [INFO] [stderr] | ^^^^^^ help: replace it with: `it` [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/reactive_io/accept.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | pro: pro, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pro` [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/reactive_io/read.rs:100:34 [INFO] [stderr] | [INFO] [stderr] 100 | read_detail(soc, buf, Recv { flags: flags }) [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `flags` [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/reactive_io/read.rs:109:38 [INFO] [stderr] | [INFO] [stderr] 109 | read_detail(soc, buf, RecvFrom { flags: flags, ep: ep, socklen: socklen }) [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `flags` [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/reactive_io/read.rs:109:52 [INFO] [stderr] | [INFO] [stderr] 109 | read_detail(soc, buf, RecvFrom { flags: flags, ep: ep, socklen: socklen }) [INFO] [stderr] | ^^^^^^ help: replace it with: `ep` [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/reactive_io/read.rs:109:60 [INFO] [stderr] | [INFO] [stderr] 109 | read_detail(soc, buf, RecvFrom { flags: flags, ep: ep, socklen: socklen }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `socklen` [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/reactive_io/read.rs:176:9 [INFO] [stderr] | [INFO] [stderr] 176 | reader: reader [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [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/reactive_io/read.rs:193:49 [INFO] [stderr] | [INFO] [stderr] 193 | async_read_detail(soc, buf, handler, Recv { flags: flags }) [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `flags` [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/reactive_io/read.rs:202:53 [INFO] [stderr] | [INFO] [stderr] 202 | async_read_detail(soc, buf, handler, RecvFrom { flags: flags, ep: ep, socklen: socklen }) [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `flags` [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/reactive_io/read.rs:202:67 [INFO] [stderr] | [INFO] [stderr] 202 | async_read_detail(soc, buf, handler, RecvFrom { flags: flags, ep: ep, socklen: socklen }) [INFO] [stderr] | ^^^^^^ help: replace it with: `ep` [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/reactive_io/read.rs:202:75 [INFO] [stderr] | [INFO] [stderr] 202 | async_read_detail(soc, buf, handler, RecvFrom { flags: flags, ep: ep, socklen: socklen }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `socklen` [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/reactive_io/write.rs:99:35 [INFO] [stderr] | [INFO] [stderr] 99 | write_detail(soc, buf, Sent { flags: flags }) [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `flags` [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/reactive_io/write.rs:106:37 [INFO] [stderr] | [INFO] [stderr] 106 | write_detail(soc, buf, SendTo { flags: flags, ep: ep }) [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `flags` [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/reactive_io/write.rs:106:51 [INFO] [stderr] | [INFO] [stderr] 106 | write_detail(soc, buf, SendTo { flags: flags, ep: ep }) [INFO] [stderr] | ^^^^^^ help: replace it with: `ep` [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/reactive_io/write.rs:174:9 [INFO] [stderr] | [INFO] [stderr] 174 | writer: writer, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `writer` [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/reactive_io/write.rs:191:50 [INFO] [stderr] | [INFO] [stderr] 191 | async_write_detail(soc, buf, handler, Sent { flags: flags }) [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `flags` [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/reactive_io/write.rs:199:52 [INFO] [stderr] | [INFO] [stderr] 199 | async_write_detail(soc, buf, handler, SendTo { flags: flags, ep: ep }) [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `flags` [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/reactive_io/write.rs:199:66 [INFO] [stderr] | [INFO] [stderr] 199 | async_write_detail(soc, buf, handler, SendTo { flags: flags, ep: ep }) [INFO] [stderr] | ^^^^^^ help: replace it with: `ep` [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/stream_socket.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | pro: pro, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pro` [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/dgram_socket.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | pro: pro, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pro` [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/raw_socket.rs:153:13 [INFO] [stderr] | [INFO] [stderr] 153 | pro: pro, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pro` [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/seq_packet_socket.rs:133:13 [INFO] [stderr] | [INFO] [stderr] 133 | pro: pro, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pro` [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/socket_listener.rs:103:13 [INFO] [stderr] | [INFO] [stderr] 103 | pro: pro, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pro` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/ip/addr.rs:161:44 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn new(a: u8, b: u8, c: u8, d: u8, e: u8, f: u8) -> LlAddr { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/ip/addr.rs:161:51 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn new(a: u8, b: u8, c: u8, d: u8, e: u8, f: u8) -> LlAddr { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ip/addr.rs:221:18 [INFO] [stderr] | [INFO] [stderr] 221 | LlAddr { bytes: bytes } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [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/ip/addr.rs:460:20 [INFO] [stderr] | [INFO] [stderr] 460 | IpAddrV4 { bytes: bytes } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/ip/addr.rs:482:48 [INFO] [stderr] | [INFO] [stderr] 482 | pub fn new(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16) -> IpAddrV6 { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/ip/addr.rs:482:56 [INFO] [stderr] | [INFO] [stderr] 482 | pub fn new(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16) -> IpAddrV6 { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/ip/addr.rs:482:64 [INFO] [stderr] | [INFO] [stderr] 482 | pub fn new(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16) -> IpAddrV6 { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 8th binding whose name is just one char [INFO] [stderr] --> src/ip/addr.rs:482:72 [INFO] [stderr] | [INFO] [stderr] 482 | pub fn new(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16) -> IpAddrV6 { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/ip/addr.rs:497:58 [INFO] [stderr] | [INFO] [stderr] 497 | pub fn with_scope_id(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16, scope_id: u32) -> IpAddrV6 { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/ip/addr.rs:497:66 [INFO] [stderr] | [INFO] [stderr] 497 | pub fn with_scope_id(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16, scope_id: u32) -> IpAddrV6 { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/ip/addr.rs:497:74 [INFO] [stderr] | [INFO] [stderr] 497 | pub fn with_scope_id(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16, scope_id: u32) -> IpAddrV6 { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 8th binding whose name is just one char [INFO] [stderr] --> src/ip/addr.rs:497:82 [INFO] [stderr] | [INFO] [stderr] 497 | pub fn with_scope_id(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16, scope_id: u32) -> IpAddrV6 { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ip/addr.rs:538:20 [INFO] [stderr] | [INFO] [stderr] 538 | IpAddrV6 { scope_id: scope_id, bytes: bytes } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `scope_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/ip/addr.rs:538:40 [INFO] [stderr] | [INFO] [stderr] 538 | IpAddrV6 { scope_id: scope_id, bytes: bytes } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [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/ip/addr.rs:708:33 [INFO] [stderr] | [INFO] [stderr] 708 | IpAddrV6 { scope_id: 0, bytes: bytes } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [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/ip/addr.rs:820:17 [INFO] [stderr] | [INFO] [stderr] 820 | len: len, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `len` [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/ip/addr.rs:841:13 [INFO] [stderr] | [INFO] [stderr] 841 | len: len, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `len` [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/ip/addr.rs:934:17 [INFO] [stderr] | [INFO] [stderr] 934 | len: len, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `len` [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/ip/addr.rs:956:13 [INFO] [stderr] | [INFO] [stderr] 956 | len: len, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `len` [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/ip/resolver.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | ai: ai, [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: 5th binding whose name is just one char [INFO] [stderr] --> src/from_str.rs:210:14 [INFO] [stderr] | [INFO] [stderr] 210 | let (e, it) = try!(self.0.parse(it)); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/from_str.rs:212:14 [INFO] [stderr] | [INFO] [stderr] 212 | let (f, it) = try!(self.0.parse(it)); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/generic/mod.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | protocol: protocol, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `protocol` [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/generic/mod.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | protocol: protocol, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `protocol` [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/signal_set.rs:241:13 [INFO] [stderr] | [INFO] [stderr] 241 | mask: mask, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mask` [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: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:98:1 [INFO] [stderr] | [INFO] [stderr] 98 | #[macro_use] extern crate bitflags; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/lib.rs:119:1 [INFO] [stderr] | [INFO] [stderr] 119 | / macro_rules! libc_unwrap { [INFO] [stderr] 120 | | ($expr:expr) => ( [INFO] [stderr] 121 | | match unsafe { $expr } { [INFO] [stderr] 122 | | rc if rc >= 0 => rc, [INFO] [stderr] ... | [INFO] [stderr] 125 | | ) [INFO] [stderr] 126 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/reactor/epoll.rs:78:73 [INFO] [stderr] | [INFO] [stderr] 78 | timeout.as_secs() as i32 * 1000 + (timeout.subsec_nanos() / 1000000) as i32 [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/core/reactor/epoll.rs:114:16 [INFO] [stderr] | [INFO] [stderr] 114 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 115 | | if !ops.canceled { [INFO] [stderr] 116 | | let _ep = self.mutex.lock().unwrap(); [INFO] [stderr] 117 | | self.outstanding_work.fetch_add(1, Ordering::SeqCst); [INFO] [stderr] ... | [INFO] [stderr] 130 | | } [INFO] [stderr] 131 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 114 | } else if !ops.canceled { [INFO] [stderr] 115 | let _ep = self.mutex.lock().unwrap(); [INFO] [stderr] 116 | self.outstanding_work.fetch_add(1, Ordering::SeqCst); [INFO] [stderr] 117 | ops.queue.push_front(op); [INFO] [stderr] 118 | ops.blocked = false; [INFO] [stderr] 119 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/scheduler/timer_queue.rs:38:21 [INFO] [stderr] | [INFO] [stderr] 38 | 1000000000 - (other.0.subsec_nanos() - self.0.subsec_nanos()) [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_000_000_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/scheduler/timerfd.rs:18:28 [INFO] [stderr] | [INFO] [stderr] 18 | const TFD_CLOEXEC: c_int = 0o2000000; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0o2_000_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/async/coroutine.rs:37:33 [INFO] [stderr] | [INFO] [stderr] 37 | let Transfer { context, data:_ } = data.take().unwrap().resume(&coro as *const _ as usize); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `Transfer { context, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reactive_io/connect.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | return handler.result(soc.as_ctx(), Ok(())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `handler.result(soc.as_ctx(), Ok(()))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ip/addr.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | 0b00000000 => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ip/addr.rs:99:13 [INFO] [stderr] | [INFO] [stderr] 99 | 0b10000000 => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ip/addr.rs:103:13 [INFO] [stderr] | [INFO] [stderr] 103 | 0b11000000 => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1100_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ip/addr.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | 0b11100000 => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1110_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ip/addr.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | 0b11110000 => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ip/addr.rs:115:13 [INFO] [stderr] | [INFO] [stderr] 115 | 0b11111000 => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_1000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ip/addr.rs:119:13 [INFO] [stderr] | [INFO] [stderr] 119 | 0b11111100 => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_1100` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ip/addr.rs:123:13 [INFO] [stderr] | [INFO] [stderr] 123 | 0b11111110 => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_1110` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ip/addr.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | 0b11111111 => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:98:1 [INFO] [stderr] | [INFO] [stderr] 98 | #[macro_use] extern crate bitflags; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/lib.rs:119:1 [INFO] [stderr] | [INFO] [stderr] 119 | / macro_rules! libc_unwrap { [INFO] [stderr] 120 | | ($expr:expr) => ( [INFO] [stderr] 121 | | match unsafe { $expr } { [INFO] [stderr] 122 | | rc if rc >= 0 => rc, [INFO] [stderr] ... | [INFO] [stderr] 125 | | ) [INFO] [stderr] 126 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/reactor/epoll.rs:78:73 [INFO] [stderr] | [INFO] [stderr] 78 | timeout.as_secs() as i32 * 1000 + (timeout.subsec_nanos() / 1000000) as i32 [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/core/reactor/epoll.rs:114:16 [INFO] [stderr] | [INFO] [stderr] 114 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 115 | | if !ops.canceled { [INFO] [stderr] 116 | | let _ep = self.mutex.lock().unwrap(); [INFO] [stderr] 117 | | self.outstanding_work.fetch_add(1, Ordering::SeqCst); [INFO] [stderr] ... | [INFO] [stderr] 130 | | } [INFO] [stderr] 131 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 114 | } else if !ops.canceled { [INFO] [stderr] 115 | let _ep = self.mutex.lock().unwrap(); [INFO] [stderr] 116 | self.outstanding_work.fetch_add(1, Ordering::SeqCst); [INFO] [stderr] 117 | ops.queue.push_front(op); [INFO] [stderr] 118 | ops.blocked = false; [INFO] [stderr] 119 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/scheduler/timer_queue.rs:38:21 [INFO] [stderr] | [INFO] [stderr] 38 | 1000000000 - (other.0.subsec_nanos() - self.0.subsec_nanos()) [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_000_000_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/scheduler/timer_queue.rs:213:92 [INFO] [stderr] | [INFO] [stderr] 213 | assert_eq!(Expiry(Duration::new(1,1)).diff(Expiry(Duration::new(0,2))),Duration::new(0,999999999)); [INFO] [stderr] | ^^^^^^^^^ help: consider: `999_999_999` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/scheduler/timerfd.rs:18:28 [INFO] [stderr] | [INFO] [stderr] 18 | const TFD_CLOEXEC: c_int = 0o2000000; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0o2_000_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/async/coroutine.rs:37:33 [INFO] [stderr] | [INFO] [stderr] 37 | let Transfer { context, data:_ } = data.take().unwrap().resume(&coro as *const _ as usize); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `Transfer { context, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reactive_io/connect.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | return handler.result(soc.as_ctx(), Ok(())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `handler.result(soc.as_ctx(), Ok(()))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ip/addr.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | 0b00000000 => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ip/addr.rs:99:13 [INFO] [stderr] | [INFO] [stderr] 99 | 0b10000000 => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ip/addr.rs:103:13 [INFO] [stderr] | [INFO] [stderr] 103 | 0b11000000 => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1100_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ip/addr.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | 0b11100000 => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1110_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ip/addr.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | 0b11110000 => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ip/addr.rs:115:13 [INFO] [stderr] | [INFO] [stderr] 115 | 0b11111000 => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_1000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ip/addr.rs:119:13 [INFO] [stderr] | [INFO] [stderr] 119 | 0b11111100 => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_1100` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ip/addr.rs:123:13 [INFO] [stderr] | [INFO] [stderr] 123 | 0b11111110 => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_1110` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ip/addr.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | 0b11111111 => { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/ip/icmp.rs:129:26 [INFO] [stderr] | [INFO] [stderr] 129 | for ep in re.resolve(("localhost")).unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/ip/icmp.rs:129:26 [INFO] [stderr] | [INFO] [stderr] 129 | for ep in re.resolve(("localhost")).unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/unsafe_cell.rs:24:25 [INFO] [stderr] | [INFO] [stderr] 24 | UnsafeBoxedCell(self.0.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`i32`) to itself [INFO] [stderr] --> src/error.rs:33:47 [INFO] [stderr] | [INFO] [stderr] 33 | io::Error::from_raw_os_error(unsafe { mem::transmute( (ec.0).0 ) }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_transmute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`i32`) to itself [INFO] [stderr] --> src/error.rs:77:28 [INFO] [stderr] | [INFO] [stderr] 77 | ErrCode(Errno(unsafe { mem::transmute(ec) })) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: methods called `new` usually return `Self` [INFO] [stderr] --> src/core/task_ctx.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | / pub fn new() -> io::Result { [INFO] [stderr] 48 | | let registry = Init::registry(); [INFO] [stderr] 49 | | let outstanding_work = Arc::new(AtomicUsize::default()); [INFO] [stderr] 50 | | [INFO] [stderr] ... | [INFO] [stderr] 70 | | }))) [INFO] [stderr] 71 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_ret_no_self)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/core/task_ctx.rs:90:16 [INFO] [stderr] | [INFO] [stderr] 90 | if let Some(_) = ThreadCallStack::contains(ctx) { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 91 | | false [INFO] [stderr] 92 | | } else { [INFO] [stderr] 93 | | ctx.0.stopped.swap(false, Ordering::SeqCst) [INFO] [stderr] 94 | | } [INFO] [stderr] | |_________- help: try this: `if ThreadCallStack::contains(ctx).is_some()` [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: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/core/task_ctx.rs:122:12 [INFO] [stderr] | [INFO] [stderr] 122 | if ctx.0.running.swap(true, Ordering::SeqCst) == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!ctx.0.running.swap(true, Ordering::SeqCst)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: Consider using an AtomicUsize instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> src/core/init.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | / lazy_static! { [INFO] [stderr] 30 | | static ref REGISTRY_COUNT: Mutex = Default::default(); [INFO] [stderr] 31 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::mutex_atomic)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: Consider using an AtomicUsize instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> src/core/init.rs:30:47 [INFO] [stderr] | [INFO] [stderr] 30 | static ref REGISTRY_COUNT: Mutex = Default::default(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [INFO] [stderr] [INFO] [stderr] warning: Consider using an AtomicUsize instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> src/core/init.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | / lazy_static! { [INFO] [stderr] 30 | | static ref REGISTRY_COUNT: Mutex = Default::default(); [INFO] [stderr] 31 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [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/core/callstack.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | / pub fn contains<'a>(key: &'a IoContext) -> Option<&'a mut ThreadIoContext> { [INFO] [stderr] 30 | | let mut ptr = TOP.get(); [INFO] [stderr] 31 | | unsafe { [INFO] [stderr] 32 | | while !ptr.is_null() { [INFO] [stderr] ... | [INFO] [stderr] 39 | | None [INFO] [stderr] 40 | | } [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: Calling `subsec_millis()` is more concise than this calculation [INFO] [stderr] --> src/core/reactor/epoll.rs:78:47 [INFO] [stderr] | [INFO] [stderr] 78 | timeout.as_secs() as i32 * 1000 + (timeout.subsec_nanos() / 1000000) as i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `timeout.subsec_millis()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::duration_subsec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duration_subsec [INFO] [stderr] [INFO] [stderr] error: mutable borrow from immutable input(s) [INFO] [stderr] --> src/core/reactor/epoll.rs:214:36 [INFO] [stderr] | [INFO] [stderr] 214 | fn from_event(ev: &epoll_event) -> &mut FdContext { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::mut_from_ref)] on by default [INFO] [stderr] note: immutable borrow here [INFO] [stderr] --> src/core/reactor/epoll.rs:214:19 [INFO] [stderr] | [INFO] [stderr] 214 | fn from_event(ev: &epoll_event) -> &mut FdContext { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mut_from_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/core/scheduler/timer_queue.rs:159:29 [INFO] [stderr] | [INFO] [stderr] 159 | return Some(timer.expiry.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `timer.expiry` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/core/scheduler/timer_queue.rs:169:29 [INFO] [stderr] | [INFO] [stderr] 169 | return Some(timer.expiry.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `timer.expiry` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/core/scheduler/timer_queue.rs:196:18 [INFO] [stderr] | [INFO] [stderr] 196 | Some(self.0[0].expiry.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.0[0].expiry` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `1` [INFO] [stderr] --> src/core/scheduler/timerfd.rs:20:34 [INFO] [stderr] | [INFO] [stderr] 20 | const TFD_TIMER_ABSTIME: c_int = 1 << 0; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/core/scheduler/timerfd.rs:125:22 [INFO] [stderr] | [INFO] [stderr] 125 | tv_nsec: expiry.subsec_nanos() as i64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(expiry.subsec_nanos())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: mutable borrow from immutable input(s) [INFO] [stderr] --> src/async/strand.rs:80:26 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn get(&self) -> &mut T { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: immutable borrow here [INFO] [stderr] --> src/async/strand.rs:80:16 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn get(&self) -> &mut T { [INFO] [stderr] | ^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mut_from_ref [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/async/strand.rs:280:5 [INFO] [stderr] | [INFO] [stderr] 280 | / pub fn strand<'a, T>(ctx: &'a IoContext, data: T) -> StrandImmutable<'a, T> { [INFO] [stderr] 281 | | StrandImmutable { [INFO] [stderr] 282 | | ctx: ctx, [INFO] [stderr] 283 | | data: StrandData { [INFO] [stderr] ... | [INFO] [stderr] 289 | | } [INFO] [stderr] 290 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/async/coroutine.rs:120:5 [INFO] [stderr] | [INFO] [stderr] 120 | StrandHandler, fn(Strand>, Result), R, E> [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: transmute from a reference to a reference [INFO] [stderr] --> src/ip/addr.rs:43:34 [INFO] [stderr] | [INFO] [stderr] 43 | let ar: &[u16; 8] = unsafe { mem::transmute(bytes) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(bytes as *const [u8; 16] as *const [u16; 8])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ar`. [INFO] [stderr] --> src/ip/addr.rs:72:18 [INFO] [stderr] | [INFO] [stderr] 72 | for i in 0..max_idx { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 72 | for in ar.iter().take(max_idx) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ar`. [INFO] [stderr] --> src/ip/addr.rs:80:18 [INFO] [stderr] | [INFO] [stderr] 80 | for i in max_idx + max_cnt..ar.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 80 | for in ar.iter().skip(max_idx + max_cnt) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/ip/addr.rs:133:26 [INFO] [stderr] | [INFO] [stderr] 133 | while let Some(&n) = it.next() { [INFO] [stderr] | ^^^^^^^^^ help: try: `for &n in it { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_on_iterator)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ip/addr.rs:189:11 [INFO] [stderr] | [INFO] [stderr] 189 | ((self.bytes[0] as i32 * 256 + self.bytes[1] as i32) * 256 + self.bytes[2] as i32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.bytes[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ip/addr.rs:189:40 [INFO] [stderr] | [INFO] [stderr] 189 | ((self.bytes[0] as i32 * 256 + self.bytes[1] as i32) * 256 + self.bytes[2] as i32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.bytes[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ip/addr.rs:189:70 [INFO] [stderr] | [INFO] [stderr] 189 | ((self.bytes[0] as i32 * 256 + self.bytes[1] as i32) * 256 + self.bytes[2] as i32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.bytes[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `self.bytes[0]` [INFO] [stderr] --> src/ip/addr.rs:293:9 [INFO] [stderr] | [INFO] [stderr] 293 | (self.bytes[0] & 0xFF) == 0x7F [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/ip/addr.rs:415:14 [INFO] [stderr] | [INFO] [stderr] 415 | ((((((self.bytes[0] as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.bytes[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/ip/addr.rs:416:15 [INFO] [stderr] | [INFO] [stderr] 416 | + self.bytes[1] as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.bytes[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/ip/addr.rs:417:15 [INFO] [stderr] | [INFO] [stderr] 417 | + self.bytes[2] as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.bytes[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/ip/addr.rs:418:15 [INFO] [stderr] | [INFO] [stderr] 418 | + self.bytes[3] as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.bytes[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/ip/addr.rs:482:5 [INFO] [stderr] | [INFO] [stderr] 482 | / pub fn new(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16) -> IpAddrV6 { [INFO] [stderr] 483 | | let ar = [ a.to_be(), b.to_be(), c.to_be(), d.to_be(), e.to_be(), f.to_be(), g.to_be(), h.to_be() ]; [INFO] [stderr] 484 | | IpAddrV6::from(unsafe { mem::transmute(ar) }, 0) [INFO] [stderr] 485 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/ip/addr.rs:497:5 [INFO] [stderr] | [INFO] [stderr] 497 | / pub fn with_scope_id(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16, scope_id: u32) -> IpAddrV6 { [INFO] [stderr] 498 | | let ar = [ a.to_be(), b.to_be(), c.to_be(), d.to_be(), e.to_be(), f.to_be(), g.to_be(), h.to_be() ]; [INFO] [stderr] 499 | | IpAddrV6::from(unsafe { mem::transmute(ar) }, scope_id) [INFO] [stderr] 500 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/ip/addr.rs:722:9 [INFO] [stderr] | [INFO] [stderr] 722 | / match self { [INFO] [stderr] 723 | | &IpAddr::V4(ref addr) => addr.is_unspecified(), [INFO] [stderr] 724 | | &IpAddr::V6(ref addr) => addr.is_unspecified(), [INFO] [stderr] 725 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 722 | match *self { [INFO] [stderr] 723 | IpAddr::V4(ref addr) => addr.is_unspecified(), [INFO] [stderr] 724 | IpAddr::V6(ref addr) => addr.is_unspecified(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/ip/addr.rs:730:9 [INFO] [stderr] | [INFO] [stderr] 730 | / match self { [INFO] [stderr] 731 | | &IpAddr::V4(ref addr) => addr.is_loopback(), [INFO] [stderr] 732 | | &IpAddr::V6(ref addr) => addr.is_loopback(), [INFO] [stderr] 733 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 730 | match *self { [INFO] [stderr] 731 | IpAddr::V4(ref addr) => addr.is_loopback(), [INFO] [stderr] 732 | IpAddr::V6(ref addr) => addr.is_loopback(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/ip/addr.rs:738:9 [INFO] [stderr] | [INFO] [stderr] 738 | / match self { [INFO] [stderr] 739 | | &IpAddr::V4(ref addr) => addr.is_multicast(), [INFO] [stderr] 740 | | &IpAddr::V6(ref addr) => addr.is_multicast(), [INFO] [stderr] 741 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 738 | match *self { [INFO] [stderr] 739 | IpAddr::V4(ref addr) => addr.is_multicast(), [INFO] [stderr] 740 | IpAddr::V6(ref addr) => addr.is_multicast(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/ip/addr.rs:746:9 [INFO] [stderr] | [INFO] [stderr] 746 | / match self { [INFO] [stderr] 747 | | &IpAddr::V4(ref addr) => addr.as_bytes(), [INFO] [stderr] 748 | | &IpAddr::V6(ref addr) => addr.as_bytes(), [INFO] [stderr] 749 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 746 | match *self { [INFO] [stderr] 747 | IpAddr::V4(ref addr) => addr.as_bytes(), [INFO] [stderr] 748 | IpAddr::V6(ref addr) => addr.as_bytes(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/ip/addr.rs:755:10 [INFO] [stderr] | [INFO] [stderr] 755 | / match self { [INFO] [stderr] 756 | | &mut IpAddr::V4(ref mut addr) => addr.add_assign(rhs), [INFO] [stderr] 757 | | &mut IpAddr::V6(ref mut addr) => addr.add_assign(rhs), [INFO] [stderr] 758 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 755 | match *self { [INFO] [stderr] 756 | IpAddr::V4(ref mut addr) => addr.add_assign(rhs), [INFO] [stderr] 757 | IpAddr::V6(ref mut addr) => addr.add_assign(rhs), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/ip/addr.rs:764:10 [INFO] [stderr] | [INFO] [stderr] 764 | / match self { [INFO] [stderr] 765 | | &mut IpAddr::V4(ref mut addr) => addr.sub_assign(rhs), [INFO] [stderr] 766 | | &mut IpAddr::V6(ref mut addr) => addr.sub_assign(rhs), [INFO] [stderr] 767 | | } [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 764 | match *self { [INFO] [stderr] 765 | IpAddr::V4(ref mut addr) => addr.sub_assign(rhs), [INFO] [stderr] 766 | IpAddr::V6(ref mut addr) => addr.sub_assign(rhs), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/ip/addr.rs:773:9 [INFO] [stderr] | [INFO] [stderr] 773 | / match self { [INFO] [stderr] 774 | | &IpAddr::V4(ref addr) => write!(f, "{}", addr), [INFO] [stderr] 775 | | &IpAddr::V6(ref addr) => write!(f, "{}", addr), [INFO] [stderr] 776 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 773 | match *self { [INFO] [stderr] 774 | IpAddr::V4(ref addr) => write!(f, "{}", addr), [INFO] [stderr] 775 | IpAddr::V6(ref addr) => write!(f, "{}", addr), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ip/mod.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | self.ss.ss_family as i32 == AF_INET [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.ss.ss_family)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ip/mod.rs:80:9 [INFO] [stderr] | [INFO] [stderr] 80 | self.ss.ss_family as i32 == AF_INET6 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.ss.ss_family)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ip/mod.rs:85:15 [INFO] [stderr] | [INFO] [stderr] 85 | match self.ss.ss_family as i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.ss.ss_family)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/mod.rs:87:41 [INFO] [stderr] | [INFO] [stderr] 87 | let sin: &sockaddr_in = mem::transmute(&*self.ss); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&*self.ss as *const libc::sockaddr_storage as *const libc::sockaddr_in)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/mod.rs:92:43 [INFO] [stderr] | [INFO] [stderr] 92 | let sin6: &sockaddr_in6 = mem::transmute(&*self.ss); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&*self.ss as *const libc::sockaddr_storage as *const libc::sockaddr_in6)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/mod.rs:102:42 [INFO] [stderr] | [INFO] [stderr] 102 | let sin: &sockaddr_in = unsafe { mem::transmute(&*self.ss) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&*self.ss as *const libc::sockaddr_storage as *const libc::sockaddr_in)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/mod.rs:112:41 [INFO] [stderr] | [INFO] [stderr] 112 | let sin: &mut sockaddr_in = mem::transmute(&mut *ep.ss); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(&mut *ep.ss as *mut libc::sockaddr_storage as *mut libc::sockaddr_in)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/ip/mod.rs:114:43 [INFO] [stderr] | [INFO] [stderr] 114 | sin.sin_addr = mem::transmute(addr.as_bytes().clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*addr.as_bytes()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/mod.rs:126:43 [INFO] [stderr] | [INFO] [stderr] 126 | let sin6: &mut sockaddr_in6 = mem::transmute(&mut *ep.ss); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(&mut *ep.ss as *mut libc::sockaddr_storage as *mut libc::sockaddr_in6)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/ip/mod.rs:129:45 [INFO] [stderr] | [INFO] [stderr] 129 | sin6.sin6_addr = mem::transmute(addr.as_bytes().clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*addr.as_bytes()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/ip/mod.rs:234:9 [INFO] [stderr] | [INFO] [stderr] 234 | / match self { [INFO] [stderr] 235 | | &IpAddr::V4(ref addr) => IpEndpoint::from_v4(addr, port), [INFO] [stderr] 236 | | &IpAddr::V6(ref addr) => IpEndpoint::from_v6(addr, port), [INFO] [stderr] 237 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 234 | match *self { [INFO] [stderr] 235 | IpAddr::V4(ref addr) => IpEndpoint::from_v4(addr, port), [INFO] [stderr] 236 | IpAddr::V6(ref addr) => IpEndpoint::from_v6(addr, port), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/ip/resolver.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | / while !self.ai.is_null() { [INFO] [stderr] 63 | | unsafe { [INFO] [stderr] 64 | | let ai = &*self.ai; [INFO] [stderr] 65 | | let mut ep = IpEndpoint { [INFO] [stderr] ... | [INFO] [stderr] 72 | | } [INFO] [stderr] 73 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::never_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] error: casting from `*mut libc::sockaddr` to a more-strictly-aligned pointer (`*const ip::IpEndpoint

`) [INFO] [stderr] --> src/ip/resolver.rs:66:47 [INFO] [stderr] | [INFO] [stderr] 66 | ss: mem::transmute_copy(&*(ai.ai_addr as *const IpEndpoint

)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::cast_ptr_alignment)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/ip/resolver.rs:111:20 [INFO] [stderr] | [INFO] [stderr] 111 | if let Ok(_) = connect(&soc, &ep) { [INFO] [stderr] | _____________- ^^^^^ [INFO] [stderr] 112 | | return Ok((soc, ep)); [INFO] [stderr] 113 | | } [INFO] [stderr] | |_____________- help: try this: `if connect(&soc, &ep).is_ok()` [INFO] [stderr] | [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: this call to `as_ref` does nothing [INFO] [stderr] --> src/ip/icmp.rs:84:69 [INFO] [stderr] | [INFO] [stderr] 84 | ResolverIter::new(&Icmp { family: AF_UNSPEC, protocol: 0 }, self.as_ref(), "", 0) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try this: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ip/options.rs:190:21 [INFO] [stderr] | [INFO] [stderr] 190 | UnicastHops(ttl as i32) [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(ttl)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ip/options.rs:198:18 [INFO] [stderr] | [INFO] [stderr] 198 | self.0 = ttl as i32 [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(ttl)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ip/options.rs:354:23 [INFO] [stderr] | [INFO] [stderr] 354 | MulticastHops(ttl as i32) [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(ttl)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ip/options.rs:362:18 [INFO] [stderr] | [INFO] [stderr] 362 | self.0 = ttl as i32 [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(ttl)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/ip/options.rs:479:9 [INFO] [stderr] | [INFO] [stderr] 479 | / match &self.0 { [INFO] [stderr] 480 | | &Mreq::V4(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] 481 | | &Mreq::V6(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] 482 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 479 | match self.0 { [INFO] [stderr] 480 | Mreq::V4(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] 481 | Mreq::V6(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/options.rs:480:45 [INFO] [stderr] | [INFO] [stderr] 480 | &Mreq::V4(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `&*(mreq as *const libc::ip_mreq as *const ())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/options.rs:481:45 [INFO] [stderr] | [INFO] [stderr] 481 | &Mreq::V6(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `&*(mreq as *const libc::ipv6_mreq as *const ())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/ip/options.rs:486:9 [INFO] [stderr] | [INFO] [stderr] 486 | / match &self.0 { [INFO] [stderr] 487 | | &Mreq::V4(ref mreq) => mem::size_of_val(mreq), [INFO] [stderr] 488 | | &Mreq::V6(ref mreq) => mem::size_of_val(mreq), [INFO] [stderr] 489 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 486 | match self.0 { [INFO] [stderr] 487 | Mreq::V4(ref mreq) => mem::size_of_val(mreq), [INFO] [stderr] 488 | Mreq::V6(ref mreq) => mem::size_of_val(mreq), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/ip/options.rs:564:9 [INFO] [stderr] | [INFO] [stderr] 564 | / match &self.0 { [INFO] [stderr] 565 | | &Mreq::V4(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] 566 | | &Mreq::V6(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] 567 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 564 | match self.0 { [INFO] [stderr] 565 | Mreq::V4(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] 566 | Mreq::V6(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/options.rs:565:45 [INFO] [stderr] | [INFO] [stderr] 565 | &Mreq::V4(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `&*(mreq as *const libc::ip_mreq as *const ())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/options.rs:566:45 [INFO] [stderr] | [INFO] [stderr] 566 | &Mreq::V6(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `&*(mreq as *const libc::ipv6_mreq as *const ())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/ip/options.rs:571:9 [INFO] [stderr] | [INFO] [stderr] 571 | / match &self.0 { [INFO] [stderr] 572 | | &Mreq::V4(ref mreq) => mem::size_of_val(mreq), [INFO] [stderr] 573 | | &Mreq::V6(ref mreq) => mem::size_of_val(mreq), [INFO] [stderr] 574 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 571 | match self.0 { [INFO] [stderr] 572 | Mreq::V4(ref mreq) => mem::size_of_val(mreq), [INFO] [stderr] 573 | Mreq::V6(ref mreq) => mem::size_of_val(mreq), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/ip/options.rs:646:9 [INFO] [stderr] | [INFO] [stderr] 646 | / match &self.0 { [INFO] [stderr] 647 | | &Iface::V4(ref addr) => unsafe { mem::transmute(addr) }, [INFO] [stderr] 648 | | &Iface::V6(ref scope_id) => &scope_id, [INFO] [stderr] 649 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 646 | match self.0 { [INFO] [stderr] 647 | Iface::V4(ref addr) => unsafe { mem::transmute(addr) }, [INFO] [stderr] 648 | Iface::V6(ref scope_id) => &scope_id, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/options.rs:647:46 [INFO] [stderr] | [INFO] [stderr] 647 | &Iface::V4(ref addr) => unsafe { mem::transmute(addr) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `&*(addr as *const libc::in_addr as *const u32)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/from_str.rs:262:16 [INFO] [stderr] | [INFO] [stderr] 262 | if let Some(_) = it.next() { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 263 | | return Err(ParseError); [INFO] [stderr] 264 | | } [INFO] [stderr] | |_________- help: try this: `if it.next().is_some()` [INFO] [stderr] | [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/from_str.rs:303:42 [INFO] [stderr] | [INFO] [stderr] 303 | ar[6] = (a as u16 * 256) | b as u16; [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(a)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/from_str.rs:303:60 [INFO] [stderr] | [INFO] [stderr] 303 | ar[6] = (a as u16 * 256) | b as u16; [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(b)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/from_str.rs:304:42 [INFO] [stderr] | [INFO] [stderr] 304 | ar[7] = (c as u16 * 256) | d as u16; [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(c)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/from_str.rs:304:60 [INFO] [stderr] | [INFO] [stderr] 304 | ar[7] = (c as u16 * 256) | d as u16; [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(d)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/from_str.rs:371:28 [INFO] [stderr] | [INFO] [stderr] 371 | return Ok((dec as u32, it)); [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(dec)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*const libc::sockaddr`) [INFO] [stderr] --> src/generic/mod.rs:42:20 [INFO] [stderr] | [INFO] [stderr] 42 | unsafe { &*(self.sa.as_ptr() as *const _) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut libc::sockaddr`) [INFO] [stderr] --> src/generic/mod.rs:46:15 [INFO] [stderr] | [INFO] [stderr] 46 | &mut *(self.sa.as_ptr() as *mut _) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/generic/stream.rs:37:21 [INFO] [stderr] | [INFO] [stderr] 37 | family: self.as_ref().sa_family as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.as_ref().sa_family)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/generic/dgram.rs:36:21 [INFO] [stderr] | [INFO] [stderr] 36 | family: self.as_ref().sa_family as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.as_ref().sa_family)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/generic/raw.rs:36:21 [INFO] [stderr] | [INFO] [stderr] 36 | family: self.as_ref().sa_family as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.as_ref().sa_family)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/generic/seq_packet.rs:37:22 [INFO] [stderr] | [INFO] [stderr] 37 | family: self.as_ref().sa_family as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.as_ref().sa_family)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rust_asio`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/unsafe_cell.rs:24:25 [INFO] [stderr] | [INFO] [stderr] 24 | UnsafeBoxedCell(self.0.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`i32`) to itself [INFO] [stderr] --> src/error.rs:33:47 [INFO] [stderr] | [INFO] [stderr] 33 | io::Error::from_raw_os_error(unsafe { mem::transmute( (ec.0).0 ) }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_transmute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`i32`) to itself [INFO] [stderr] --> src/error.rs:77:28 [INFO] [stderr] | [INFO] [stderr] 77 | ErrCode(Errno(unsafe { mem::transmute(ec) })) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: methods called `new` usually return `Self` [INFO] [stderr] --> src/core/task_ctx.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | / pub fn new() -> io::Result { [INFO] [stderr] 48 | | let registry = Init::registry(); [INFO] [stderr] 49 | | let outstanding_work = Arc::new(AtomicUsize::default()); [INFO] [stderr] 50 | | [INFO] [stderr] ... | [INFO] [stderr] 70 | | }))) [INFO] [stderr] 71 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_ret_no_self)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/core/task_ctx.rs:90:16 [INFO] [stderr] | [INFO] [stderr] 90 | if let Some(_) = ThreadCallStack::contains(ctx) { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 91 | | false [INFO] [stderr] 92 | | } else { [INFO] [stderr] 93 | | ctx.0.stopped.swap(false, Ordering::SeqCst) [INFO] [stderr] 94 | | } [INFO] [stderr] | |_________- help: try this: `if ThreadCallStack::contains(ctx).is_some()` [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: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/core/task_ctx.rs:122:12 [INFO] [stderr] | [INFO] [stderr] 122 | if ctx.0.running.swap(true, Ordering::SeqCst) == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!ctx.0.running.swap(true, Ordering::SeqCst)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: Consider using an AtomicUsize instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> src/core/init.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | / lazy_static! { [INFO] [stderr] 30 | | static ref REGISTRY_COUNT: Mutex = Default::default(); [INFO] [stderr] 31 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::mutex_atomic)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: Consider using an AtomicUsize instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> src/core/init.rs:30:47 [INFO] [stderr] | [INFO] [stderr] 30 | static ref REGISTRY_COUNT: Mutex = Default::default(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [INFO] [stderr] [INFO] [stderr] warning: Consider using an AtomicUsize instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> src/core/init.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | / lazy_static! { [INFO] [stderr] 30 | | static ref REGISTRY_COUNT: Mutex = Default::default(); [INFO] [stderr] 31 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [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/core/callstack.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | / pub fn contains<'a>(key: &'a IoContext) -> Option<&'a mut ThreadIoContext> { [INFO] [stderr] 30 | | let mut ptr = TOP.get(); [INFO] [stderr] 31 | | unsafe { [INFO] [stderr] 32 | | while !ptr.is_null() { [INFO] [stderr] ... | [INFO] [stderr] 39 | | None [INFO] [stderr] 40 | | } [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: Calling `subsec_millis()` is more concise than this calculation [INFO] [stderr] --> src/core/reactor/epoll.rs:78:47 [INFO] [stderr] | [INFO] [stderr] 78 | timeout.as_secs() as i32 * 1000 + (timeout.subsec_nanos() / 1000000) as i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `timeout.subsec_millis()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::duration_subsec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duration_subsec [INFO] [stderr] [INFO] [stderr] error: mutable borrow from immutable input(s) [INFO] [stderr] --> src/core/reactor/epoll.rs:214:36 [INFO] [stderr] | [INFO] [stderr] 214 | fn from_event(ev: &epoll_event) -> &mut FdContext { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::mut_from_ref)] on by default [INFO] [stderr] note: immutable borrow here [INFO] [stderr] --> src/core/reactor/epoll.rs:214:19 [INFO] [stderr] | [INFO] [stderr] 214 | fn from_event(ev: &epoll_event) -> &mut FdContext { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mut_from_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/core/scheduler/timer_queue.rs:159:29 [INFO] [stderr] | [INFO] [stderr] 159 | return Some(timer.expiry.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `timer.expiry` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/core/scheduler/timer_queue.rs:169:29 [INFO] [stderr] | [INFO] [stderr] 169 | return Some(timer.expiry.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `timer.expiry` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/core/scheduler/timer_queue.rs:196:18 [INFO] [stderr] | [INFO] [stderr] 196 | Some(self.0[0].expiry.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.0[0].expiry` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `==` [INFO] [stderr] --> src/core/scheduler/timer_queue.rs:231:13 [INFO] [stderr] | [INFO] [stderr] 231 | assert!(t1 == t1); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::eq_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `1` [INFO] [stderr] --> src/core/scheduler/timerfd.rs:20:34 [INFO] [stderr] | [INFO] [stderr] 20 | const TFD_TIMER_ABSTIME: c_int = 1 << 0; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/core/scheduler/timerfd.rs:125:22 [INFO] [stderr] | [INFO] [stderr] 125 | tv_nsec: expiry.subsec_nanos() as i64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(expiry.subsec_nanos())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: mutable borrow from immutable input(s) [INFO] [stderr] --> src/async/strand.rs:80:26 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn get(&self) -> &mut T { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: immutable borrow here [INFO] [stderr] --> src/async/strand.rs:80:16 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn get(&self) -> &mut T { [INFO] [stderr] | ^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mut_from_ref [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/async/strand.rs:280:5 [INFO] [stderr] | [INFO] [stderr] 280 | / pub fn strand<'a, T>(ctx: &'a IoContext, data: T) -> StrandImmutable<'a, T> { [INFO] [stderr] 281 | | StrandImmutable { [INFO] [stderr] 282 | | ctx: ctx, [INFO] [stderr] 283 | | data: StrandData { [INFO] [stderr] ... | [INFO] [stderr] 289 | | } [INFO] [stderr] 290 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/async/coroutine.rs:120:5 [INFO] [stderr] | [INFO] [stderr] 120 | StrandHandler, fn(Strand>, Result), R, E> [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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/streams/match_cond.rs:64:37 [INFO] [stderr] | [INFO] [stderr] 64 | assert!((5 as usize).match_cond("hello".as_bytes()) == Ok(5)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"hello"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/streams/match_cond.rs:65:37 [INFO] [stderr] | [INFO] [stderr] 65 | assert!((5 as usize).match_cond("hello world".as_bytes()) == Ok(5)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"hello world"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/streams/match_cond.rs:66:38 [INFO] [stderr] | [INFO] [stderr] 66 | assert!((10 as usize).match_cond("hello".as_bytes()) == Err(5)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"hello"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/streams/match_cond.rs:67:28 [INFO] [stderr] | [INFO] [stderr] 67 | assert!('l'.match_cond("hello".as_bytes()) == Ok(3)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"hello"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/streams/match_cond.rs:68:28 [INFO] [stderr] | [INFO] [stderr] 68 | assert!('w'.match_cond("hello".as_bytes()) == Err(5)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"hello"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/streams/match_cond.rs:69:29 [INFO] [stderr] | [INFO] [stderr] 69 | assert!("lo".match_cond("hello world".as_bytes()) == Ok(5)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"hello world"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/streams/match_cond.rs:70:33 [INFO] [stderr] | [INFO] [stderr] 70 | assert!("world!".match_cond("hello world".as_bytes()) == Err(6)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"hello world"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/streams/match_cond.rs:71:27 [INFO] [stderr] | [INFO] [stderr] 71 | assert!("".match_cond("hello".as_bytes()) == Err(0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"hello"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/streams/match_cond.rs:72:28 [INFO] [stderr] | [INFO] [stderr] 72 | assert!("l".match_cond("hello".as_bytes()) == Ok(3)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"hello"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/addr.rs:43:34 [INFO] [stderr] | [INFO] [stderr] 43 | let ar: &[u16; 8] = unsafe { mem::transmute(bytes) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(bytes as *const [u8; 16] as *const [u16; 8])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ar`. [INFO] [stderr] --> src/ip/addr.rs:72:18 [INFO] [stderr] | [INFO] [stderr] 72 | for i in 0..max_idx { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 72 | for in ar.iter().take(max_idx) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ar`. [INFO] [stderr] --> src/ip/addr.rs:80:18 [INFO] [stderr] | [INFO] [stderr] 80 | for i in max_idx + max_cnt..ar.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 80 | for in ar.iter().skip(max_idx + max_cnt) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/ip/addr.rs:133:26 [INFO] [stderr] | [INFO] [stderr] 133 | while let Some(&n) = it.next() { [INFO] [stderr] | ^^^^^^^^^ help: try: `for &n in it { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_on_iterator)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ip/addr.rs:189:11 [INFO] [stderr] | [INFO] [stderr] 189 | ((self.bytes[0] as i32 * 256 + self.bytes[1] as i32) * 256 + self.bytes[2] as i32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.bytes[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ip/addr.rs:189:40 [INFO] [stderr] | [INFO] [stderr] 189 | ((self.bytes[0] as i32 * 256 + self.bytes[1] as i32) * 256 + self.bytes[2] as i32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.bytes[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ip/addr.rs:189:70 [INFO] [stderr] | [INFO] [stderr] 189 | ((self.bytes[0] as i32 * 256 + self.bytes[1] as i32) * 256 + self.bytes[2] as i32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.bytes[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `self.bytes[0]` [INFO] [stderr] --> src/ip/addr.rs:293:9 [INFO] [stderr] | [INFO] [stderr] 293 | (self.bytes[0] & 0xFF) == 0x7F [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/ip/addr.rs:415:14 [INFO] [stderr] | [INFO] [stderr] 415 | ((((((self.bytes[0] as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.bytes[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/ip/addr.rs:416:15 [INFO] [stderr] | [INFO] [stderr] 416 | + self.bytes[1] as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.bytes[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/ip/addr.rs:417:15 [INFO] [stderr] | [INFO] [stderr] 417 | + self.bytes[2] as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.bytes[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/ip/addr.rs:418:15 [INFO] [stderr] | [INFO] [stderr] 418 | + self.bytes[3] as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.bytes[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/ip/addr.rs:482:5 [INFO] [stderr] | [INFO] [stderr] 482 | / pub fn new(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16) -> IpAddrV6 { [INFO] [stderr] 483 | | let ar = [ a.to_be(), b.to_be(), c.to_be(), d.to_be(), e.to_be(), f.to_be(), g.to_be(), h.to_be() ]; [INFO] [stderr] 484 | | IpAddrV6::from(unsafe { mem::transmute(ar) }, 0) [INFO] [stderr] 485 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/ip/addr.rs:497:5 [INFO] [stderr] | [INFO] [stderr] 497 | / pub fn with_scope_id(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16, scope_id: u32) -> IpAddrV6 { [INFO] [stderr] 498 | | let ar = [ a.to_be(), b.to_be(), c.to_be(), d.to_be(), e.to_be(), f.to_be(), g.to_be(), h.to_be() ]; [INFO] [stderr] 499 | | IpAddrV6::from(unsafe { mem::transmute(ar) }, scope_id) [INFO] [stderr] 500 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/ip/addr.rs:722:9 [INFO] [stderr] | [INFO] [stderr] 722 | / match self { [INFO] [stderr] 723 | | &IpAddr::V4(ref addr) => addr.is_unspecified(), [INFO] [stderr] 724 | | &IpAddr::V6(ref addr) => addr.is_unspecified(), [INFO] [stderr] 725 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 722 | match *self { [INFO] [stderr] 723 | IpAddr::V4(ref addr) => addr.is_unspecified(), [INFO] [stderr] 724 | IpAddr::V6(ref addr) => addr.is_unspecified(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/ip/addr.rs:730:9 [INFO] [stderr] | [INFO] [stderr] 730 | / match self { [INFO] [stderr] 731 | | &IpAddr::V4(ref addr) => addr.is_loopback(), [INFO] [stderr] 732 | | &IpAddr::V6(ref addr) => addr.is_loopback(), [INFO] [stderr] 733 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 730 | match *self { [INFO] [stderr] 731 | IpAddr::V4(ref addr) => addr.is_loopback(), [INFO] [stderr] 732 | IpAddr::V6(ref addr) => addr.is_loopback(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/ip/addr.rs:738:9 [INFO] [stderr] | [INFO] [stderr] 738 | / match self { [INFO] [stderr] 739 | | &IpAddr::V4(ref addr) => addr.is_multicast(), [INFO] [stderr] 740 | | &IpAddr::V6(ref addr) => addr.is_multicast(), [INFO] [stderr] 741 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 738 | match *self { [INFO] [stderr] 739 | IpAddr::V4(ref addr) => addr.is_multicast(), [INFO] [stderr] 740 | IpAddr::V6(ref addr) => addr.is_multicast(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/ip/addr.rs:746:9 [INFO] [stderr] | [INFO] [stderr] 746 | / match self { [INFO] [stderr] 747 | | &IpAddr::V4(ref addr) => addr.as_bytes(), [INFO] [stderr] 748 | | &IpAddr::V6(ref addr) => addr.as_bytes(), [INFO] [stderr] 749 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 746 | match *self { [INFO] [stderr] 747 | IpAddr::V4(ref addr) => addr.as_bytes(), [INFO] [stderr] 748 | IpAddr::V6(ref addr) => addr.as_bytes(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/ip/addr.rs:755:10 [INFO] [stderr] | [INFO] [stderr] 755 | / match self { [INFO] [stderr] 756 | | &mut IpAddr::V4(ref mut addr) => addr.add_assign(rhs), [INFO] [stderr] 757 | | &mut IpAddr::V6(ref mut addr) => addr.add_assign(rhs), [INFO] [stderr] 758 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 755 | match *self { [INFO] [stderr] 756 | IpAddr::V4(ref mut addr) => addr.add_assign(rhs), [INFO] [stderr] 757 | IpAddr::V6(ref mut addr) => addr.add_assign(rhs), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/ip/addr.rs:764:10 [INFO] [stderr] | [INFO] [stderr] 764 | / match self { [INFO] [stderr] 765 | | &mut IpAddr::V4(ref mut addr) => addr.sub_assign(rhs), [INFO] [stderr] 766 | | &mut IpAddr::V6(ref mut addr) => addr.sub_assign(rhs), [INFO] [stderr] 767 | | } [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 764 | match *self { [INFO] [stderr] 765 | IpAddr::V4(ref mut addr) => addr.sub_assign(rhs), [INFO] [stderr] 766 | IpAddr::V6(ref mut addr) => addr.sub_assign(rhs), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/ip/addr.rs:773:9 [INFO] [stderr] | [INFO] [stderr] 773 | / match self { [INFO] [stderr] 774 | | &IpAddr::V4(ref addr) => write!(f, "{}", addr), [INFO] [stderr] 775 | | &IpAddr::V6(ref addr) => write!(f, "{}", addr), [INFO] [stderr] 776 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 773 | match *self { [INFO] [stderr] 774 | IpAddr::V4(ref addr) => write!(f, "{}", addr), [INFO] [stderr] 775 | IpAddr::V6(ref addr) => write!(f, "{}", addr), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/ip/addr.rs:1136:40 [INFO] [stderr] | [INFO] [stderr] 1136 | let v6 = IpAddr::V6(IpAddrV6::from(bytes.clone(), 0)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `bytes` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ip/mod.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | self.ss.ss_family as i32 == AF_INET [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.ss.ss_family)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ip/mod.rs:80:9 [INFO] [stderr] | [INFO] [stderr] 80 | self.ss.ss_family as i32 == AF_INET6 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.ss.ss_family)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ip/mod.rs:85:15 [INFO] [stderr] | [INFO] [stderr] 85 | match self.ss.ss_family as i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.ss.ss_family)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/mod.rs:87:41 [INFO] [stderr] | [INFO] [stderr] 87 | let sin: &sockaddr_in = mem::transmute(&*self.ss); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&*self.ss as *const libc::sockaddr_storage as *const libc::sockaddr_in)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/mod.rs:92:43 [INFO] [stderr] | [INFO] [stderr] 92 | let sin6: &sockaddr_in6 = mem::transmute(&*self.ss); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&*self.ss as *const libc::sockaddr_storage as *const libc::sockaddr_in6)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/mod.rs:102:42 [INFO] [stderr] | [INFO] [stderr] 102 | let sin: &sockaddr_in = unsafe { mem::transmute(&*self.ss) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&*self.ss as *const libc::sockaddr_storage as *const libc::sockaddr_in)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/mod.rs:112:41 [INFO] [stderr] | [INFO] [stderr] 112 | let sin: &mut sockaddr_in = mem::transmute(&mut *ep.ss); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(&mut *ep.ss as *mut libc::sockaddr_storage as *mut libc::sockaddr_in)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/ip/mod.rs:114:43 [INFO] [stderr] | [INFO] [stderr] 114 | sin.sin_addr = mem::transmute(addr.as_bytes().clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*addr.as_bytes()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/mod.rs:126:43 [INFO] [stderr] | [INFO] [stderr] 126 | let sin6: &mut sockaddr_in6 = mem::transmute(&mut *ep.ss); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(&mut *ep.ss as *mut libc::sockaddr_storage as *mut libc::sockaddr_in6)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/ip/mod.rs:129:45 [INFO] [stderr] | [INFO] [stderr] 129 | sin6.sin6_addr = mem::transmute(addr.as_bytes().clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*addr.as_bytes()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/ip/mod.rs:234:9 [INFO] [stderr] | [INFO] [stderr] 234 | / match self { [INFO] [stderr] 235 | | &IpAddr::V4(ref addr) => IpEndpoint::from_v4(addr, port), [INFO] [stderr] 236 | | &IpAddr::V6(ref addr) => IpEndpoint::from_v6(addr, port), [INFO] [stderr] 237 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 234 | match *self { [INFO] [stderr] 235 | IpAddr::V4(ref addr) => IpEndpoint::from_v4(addr, port), [INFO] [stderr] 236 | IpAddr::V6(ref addr) => IpEndpoint::from_v6(addr, port), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/ip/resolver.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | / while !self.ai.is_null() { [INFO] [stderr] 63 | | unsafe { [INFO] [stderr] 64 | | let ai = &*self.ai; [INFO] [stderr] 65 | | let mut ep = IpEndpoint { [INFO] [stderr] ... | [INFO] [stderr] 72 | | } [INFO] [stderr] 73 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::never_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] error: casting from `*mut libc::sockaddr` to a more-strictly-aligned pointer (`*const ip::IpEndpoint

`) [INFO] [stderr] --> src/ip/resolver.rs:66:47 [INFO] [stderr] | [INFO] [stderr] 66 | ss: mem::transmute_copy(&*(ai.ai_addr as *const IpEndpoint

)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::cast_ptr_alignment)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/ip/resolver.rs:111:20 [INFO] [stderr] | [INFO] [stderr] 111 | if let Ok(_) = connect(&soc, &ep) { [INFO] [stderr] | _____________- ^^^^^ [INFO] [stderr] 112 | | return Ok((soc, ep)); [INFO] [stderr] 113 | | } [INFO] [stderr] | |_____________- help: try this: `if connect(&soc, &ep).is_ok()` [INFO] [stderr] | [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: The function/method `send` doesn't need a mutable reference [INFO] [stderr] --> src/ip/tcp.rs:261:38 [INFO] [stderr] | [INFO] [stderr] 261 | assert!(soc.lock().unwrap().send(&mut buf, 0).is_err()); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `async_send` doesn't need a mutable reference [INFO] [stderr] --> src/ip/tcp.rs:266:36 [INFO] [stderr] | [INFO] [stderr] 266 | soc.lock().unwrap().async_send(&mut buf, 0, wrap(handler, &soc)); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/ip/icmp.rs:84:69 [INFO] [stderr] | [INFO] [stderr] 84 | ResolverIter::new(&Icmp { family: AF_UNSPEC, protocol: 0 }, self.as_ref(), "", 0) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try this: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ip/options.rs:190:21 [INFO] [stderr] | [INFO] [stderr] 190 | UnicastHops(ttl as i32) [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(ttl)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ip/options.rs:198:18 [INFO] [stderr] | [INFO] [stderr] 198 | self.0 = ttl as i32 [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(ttl)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ip/options.rs:354:23 [INFO] [stderr] | [INFO] [stderr] 354 | MulticastHops(ttl as i32) [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(ttl)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ip/options.rs:362:18 [INFO] [stderr] | [INFO] [stderr] 362 | self.0 = ttl as i32 [INFO] [stderr] | ^^^^^^^^^^ help: try: `i32::from(ttl)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/ip/options.rs:479:9 [INFO] [stderr] | [INFO] [stderr] 479 | / match &self.0 { [INFO] [stderr] 480 | | &Mreq::V4(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] 481 | | &Mreq::V6(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] 482 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 479 | match self.0 { [INFO] [stderr] 480 | Mreq::V4(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] 481 | Mreq::V6(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/options.rs:480:45 [INFO] [stderr] | [INFO] [stderr] 480 | &Mreq::V4(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `&*(mreq as *const libc::ip_mreq as *const ())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/options.rs:481:45 [INFO] [stderr] | [INFO] [stderr] 481 | &Mreq::V6(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `&*(mreq as *const libc::ipv6_mreq as *const ())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/ip/options.rs:486:9 [INFO] [stderr] | [INFO] [stderr] 486 | / match &self.0 { [INFO] [stderr] 487 | | &Mreq::V4(ref mreq) => mem::size_of_val(mreq), [INFO] [stderr] 488 | | &Mreq::V6(ref mreq) => mem::size_of_val(mreq), [INFO] [stderr] 489 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 486 | match self.0 { [INFO] [stderr] 487 | Mreq::V4(ref mreq) => mem::size_of_val(mreq), [INFO] [stderr] 488 | Mreq::V6(ref mreq) => mem::size_of_val(mreq), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/ip/options.rs:564:9 [INFO] [stderr] | [INFO] [stderr] 564 | / match &self.0 { [INFO] [stderr] 565 | | &Mreq::V4(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] 566 | | &Mreq::V6(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] 567 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 564 | match self.0 { [INFO] [stderr] 565 | Mreq::V4(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] 566 | Mreq::V6(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/options.rs:565:45 [INFO] [stderr] | [INFO] [stderr] 565 | &Mreq::V4(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `&*(mreq as *const libc::ip_mreq as *const ())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/options.rs:566:45 [INFO] [stderr] | [INFO] [stderr] 566 | &Mreq::V6(ref mreq) => unsafe { mem::transmute(mreq) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `&*(mreq as *const libc::ipv6_mreq as *const ())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/ip/options.rs:571:9 [INFO] [stderr] | [INFO] [stderr] 571 | / match &self.0 { [INFO] [stderr] 572 | | &Mreq::V4(ref mreq) => mem::size_of_val(mreq), [INFO] [stderr] 573 | | &Mreq::V6(ref mreq) => mem::size_of_val(mreq), [INFO] [stderr] 574 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 571 | match self.0 { [INFO] [stderr] 572 | Mreq::V4(ref mreq) => mem::size_of_val(mreq), [INFO] [stderr] 573 | Mreq::V6(ref mreq) => mem::size_of_val(mreq), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/ip/options.rs:646:9 [INFO] [stderr] | [INFO] [stderr] 646 | / match &self.0 { [INFO] [stderr] 647 | | &Iface::V4(ref addr) => unsafe { mem::transmute(addr) }, [INFO] [stderr] 648 | | &Iface::V6(ref scope_id) => &scope_id, [INFO] [stderr] 649 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 646 | match self.0 { [INFO] [stderr] 647 | Iface::V4(ref addr) => unsafe { mem::transmute(addr) }, [INFO] [stderr] 648 | Iface::V6(ref scope_id) => &scope_id, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/ip/options.rs:647:46 [INFO] [stderr] | [INFO] [stderr] 647 | &Iface::V4(ref addr) => unsafe { mem::transmute(addr) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `&*(addr as *const libc::in_addr as *const u32)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `==` [INFO] [stderr] --> src/ip/mod.rs:300:13 [INFO] [stderr] | [INFO] [stderr] 300 | assert!(a == a && b == b && c == c); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `==` [INFO] [stderr] --> src/ip/mod.rs:300:23 [INFO] [stderr] | [INFO] [stderr] 300 | assert!(a == a && b == b && c == c); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `==` [INFO] [stderr] --> src/ip/mod.rs:300:33 [INFO] [stderr] | [INFO] [stderr] 300 | assert!(a == a && b == b && c == c); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/from_str.rs:262:16 [INFO] [stderr] | [INFO] [stderr] 262 | if let Some(_) = it.next() { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 263 | | return Err(ParseError); [INFO] [stderr] 264 | | } [INFO] [stderr] | |_________- help: try this: `if it.next().is_some()` [INFO] [stderr] | [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/from_str.rs:303:42 [INFO] [stderr] | [INFO] [stderr] 303 | ar[6] = (a as u16 * 256) | b as u16; [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(a)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/from_str.rs:303:60 [INFO] [stderr] | [INFO] [stderr] 303 | ar[6] = (a as u16 * 256) | b as u16; [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(b)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/from_str.rs:304:42 [INFO] [stderr] | [INFO] [stderr] 304 | ar[7] = (c as u16 * 256) | d as u16; [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(c)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/from_str.rs:304:60 [INFO] [stderr] | [INFO] [stderr] 304 | ar[7] = (c as u16 * 256) | d as u16; [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(d)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/from_str.rs:371:28 [INFO] [stderr] | [INFO] [stderr] 371 | return Ok((dec as u32, it)); [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(dec)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `==` [INFO] [stderr] --> src/local/dgram.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | assert!(LocalDgram == LocalDgram); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `==` [INFO] [stderr] --> src/local/stream.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | assert!(LocalStream == LocalStream); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `==` [INFO] [stderr] --> src/local/seq_packet.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | assert!(LocalSeqPacket == LocalSeqPacket); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*const libc::sockaddr`) [INFO] [stderr] --> src/generic/mod.rs:42:20 [INFO] [stderr] | [INFO] [stderr] 42 | unsafe { &*(self.sa.as_ptr() as *const _) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*mut libc::sockaddr`) [INFO] [stderr] --> src/generic/mod.rs:46:15 [INFO] [stderr] | [INFO] [stderr] 46 | &mut *(self.sa.as_ptr() as *mut _) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/generic/stream.rs:37:21 [INFO] [stderr] | [INFO] [stderr] 37 | family: self.as_ref().sa_family as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.as_ref().sa_family)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/generic/dgram.rs:36:21 [INFO] [stderr] | [INFO] [stderr] 36 | family: self.as_ref().sa_family as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.as_ref().sa_family)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/generic/raw.rs:36:21 [INFO] [stderr] | [INFO] [stderr] 36 | family: self.as_ref().sa_family as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.as_ref().sa_family)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/generic/seq_packet.rs:37:22 [INFO] [stderr] | [INFO] [stderr] 37 | family: self.as_ref().sa_family as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.as_ref().sa_family)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: aborting due to 13 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rust_asio`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "5b5e56055803308fafb54283bec22537564c4881eeb557bcec738a18749538e7"` [INFO] running `"docker" "rm" "-f" "5b5e56055803308fafb54283bec22537564c4881eeb557bcec738a18749538e7"` [INFO] [stdout] 5b5e56055803308fafb54283bec22537564c4881eeb557bcec738a18749538e7