[INFO] updating cached repository halvorboe/httimple-rs [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/halvorboe/httimple-rs [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/halvorboe/httimple-rs" "work/ex/clippy-test-run/sources/stable/gh/halvorboe/httimple-rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/halvorboe/httimple-rs'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/halvorboe/httimple-rs" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/halvorboe/httimple-rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/halvorboe/httimple-rs'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 3f9f1118eafa4382cc7818bedeff200196be719d [INFO] sha for GitHub repo halvorboe/httimple-rs: 3f9f1118eafa4382cc7818bedeff200196be719d [INFO] validating manifest of halvorboe/httimple-rs 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 halvorboe/httimple-rs 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 halvorboe/httimple-rs [INFO] finished frobbing halvorboe/httimple-rs [INFO] frobbed toml for halvorboe/httimple-rs written to work/ex/clippy-test-run/sources/stable/gh/halvorboe/httimple-rs/Cargo.toml [INFO] started frobbing halvorboe/httimple-rs [INFO] finished frobbing halvorboe/httimple-rs [INFO] frobbed toml for halvorboe/httimple-rs written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/halvorboe/httimple-rs/Cargo.toml [INFO] crate halvorboe/httimple-rs has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting halvorboe/httimple-rs against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/halvorboe/httimple-rs:/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] e23839cdb109faaba12590d719d61747351cf21cf6ea606471e18e0a68ab0017 [INFO] running `"docker" "start" "-a" "e23839cdb109faaba12590d719d61747351cf21cf6ea606471e18e0a68ab0017"` [INFO] [stderr] Checking untrusted v0.6.1 [INFO] [stderr] Checking trackable v0.2.15 [INFO] [stderr] Checking bitreader v0.3.1 [INFO] [stderr] Checking mio v0.6.14 [INFO] [stderr] Compiling rayon v0.9.0 [INFO] [stderr] Checking hpack_codec v0.1.0 [INFO] [stderr] Compiling ring v0.13.0-alpha [INFO] [stderr] Checking sct v0.3.0 [INFO] [stderr] Checking webpki v0.18.0-alpha [INFO] [stderr] Checking rustls v0.12.0 [INFO] [stderr] Checking httimple v0.1.7 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/proto/frame/settings.rs:36:40 [INFO] [stderr] | [INFO] [stderr] 36 | settings.push(Setting {id: id, value: value}); [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/proto/frame/settings.rs:36:48 [INFO] [stderr] | [INFO] [stderr] 36 | settings.push(Setting {id: id, 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/proto/frame/settings.rs:43:20 [INFO] [stderr] | [INFO] [stderr] 43 | Settings { head: head, inner: settings} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/settings.rs:52:94 [INFO] [stderr] | [INFO] [stderr] 52 | Settings { head: Head { length: settings.len() as u32 * 3, kind: SETTINGS, flags: 0, stream_id: stream_id }, inner: settings} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_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/proto/frame/head.rs:100:20 [INFO] [stderr] | [INFO] [stderr] 100 | Head { length: length, kind: kind, flags: flags, stream_id: stream_id } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `length` [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/proto/frame/head.rs:100:36 [INFO] [stderr] | [INFO] [stderr] 100 | Head { length: length, kind: kind, flags: flags, stream_id: stream_id } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `kind` [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/proto/frame/head.rs:100:48 [INFO] [stderr] | [INFO] [stderr] 100 | Head { length: length, kind: kind, flags: flags, stream_id: stream_id } [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/proto/frame/head.rs:100:62 [INFO] [stderr] | [INFO] [stderr] 100 | Head { length: length, kind: kind, flags: flags, stream_id: stream_id } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_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/proto/frame/headers.rs:33:19 [INFO] [stderr] | [INFO] [stderr] 33 | Headers { head: head, inner: HeaderBlock::Raw(buf[cursor..].to_vec())} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/headers.rs:95:68 [INFO] [stderr] | [INFO] [stderr] 95 | Headers { head: Head { length: 0, kind: HEADERS, flags: 0, stream_id: stream_id }, inner: HeaderBlock::Uncompressed(data)} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_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/proto/frame/priority.rs:22:20 [INFO] [stderr] | [INFO] [stderr] 22 | Priority { head: head, stream_dependency: stream_dependency, weigth: weigth } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/priority.rs:22:32 [INFO] [stderr] | [INFO] [stderr] 22 | Priority { head: head, stream_dependency: stream_dependency, weigth: weigth } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_dependency` [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/proto/frame/priority.rs:22:70 [INFO] [stderr] | [INFO] [stderr] 22 | Priority { head: head, stream_dependency: stream_dependency, weigth: weigth } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `weigth` [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/proto/frame/continuation.rs:19:24 [INFO] [stderr] | [INFO] [stderr] 19 | Continuation { head: head, inner: inner} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/continuation.rs:19:36 [INFO] [stderr] | [INFO] [stderr] 19 | Continuation { head: head, inner: inner} [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `inner` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/proto/frame/window_update.rs:20:24 [INFO] [stderr] | [INFO] [stderr] 20 | WindowUpdate { head: head, window_size_increment: window_size_increment } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/window_update.rs:20:36 [INFO] [stderr] | [INFO] [stderr] 20 | WindowUpdate { head: head, window_size_increment: window_size_increment } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `window_size_increment` [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/proto/frame/data.rs:25:16 [INFO] [stderr] | [INFO] [stderr] 25 | Data { head: head, inner: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/data.rs:31:54 [INFO] [stderr] | [INFO] [stderr] 31 | Head { length: 0, kind: 0, flags: 0, stream_id: stream_id}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_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/app/message.rs:46:32 [INFO] [stderr] | [INFO] [stderr] 46 | Message { status: 200, 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/app/connection.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | socket: socket, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `socket` [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/app/connection.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | token: token, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [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/app/connection.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | tls_session: tls_session, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tls_session` [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/app/connection.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | 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/proto/frame/settings.rs:36:40 [INFO] [stderr] | [INFO] [stderr] 36 | settings.push(Setting {id: id, value: value}); [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/proto/frame/settings.rs:36:48 [INFO] [stderr] | [INFO] [stderr] 36 | settings.push(Setting {id: id, 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/proto/frame/settings.rs:43:20 [INFO] [stderr] | [INFO] [stderr] 43 | Settings { head: head, inner: settings} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/settings.rs:52:94 [INFO] [stderr] | [INFO] [stderr] 52 | Settings { head: Head { length: settings.len() as u32 * 3, kind: SETTINGS, flags: 0, stream_id: stream_id }, inner: settings} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_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/app/connection.rs:248:13 [INFO] [stderr] | [INFO] [stderr] 248 | stream_id: stream_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_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/proto/frame/head.rs:100:20 [INFO] [stderr] | [INFO] [stderr] 100 | Head { length: length, kind: kind, flags: flags, stream_id: stream_id } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `length` [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/proto/frame/head.rs:100:36 [INFO] [stderr] | [INFO] [stderr] 100 | Head { length: length, kind: kind, flags: flags, stream_id: stream_id } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `kind` [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/proto/frame/head.rs:100:48 [INFO] [stderr] | [INFO] [stderr] 100 | Head { length: length, kind: kind, flags: flags, stream_id: stream_id } [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/proto/frame/head.rs:100:62 [INFO] [stderr] | [INFO] [stderr] 100 | Head { length: length, kind: kind, flags: flags, stream_id: stream_id } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_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/proto/frame/headers.rs:33:19 [INFO] [stderr] | [INFO] [stderr] 33 | Headers { head: head, inner: HeaderBlock::Raw(buf[cursor..].to_vec())} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/headers.rs:95:68 [INFO] [stderr] | [INFO] [stderr] 95 | Headers { head: Head { length: 0, kind: HEADERS, flags: 0, stream_id: stream_id }, inner: HeaderBlock::Uncompressed(data)} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_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/proto/frame/priority.rs:22:20 [INFO] [stderr] | [INFO] [stderr] 22 | Priority { head: head, stream_dependency: stream_dependency, weigth: weigth } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/priority.rs:22:32 [INFO] [stderr] | [INFO] [stderr] 22 | Priority { head: head, stream_dependency: stream_dependency, weigth: weigth } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_dependency` [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/proto/frame/priority.rs:22:70 [INFO] [stderr] | [INFO] [stderr] 22 | Priority { head: head, stream_dependency: stream_dependency, weigth: weigth } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `weigth` [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/proto/frame/continuation.rs:19:24 [INFO] [stderr] | [INFO] [stderr] 19 | Continuation { head: head, inner: inner} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/continuation.rs:19:36 [INFO] [stderr] | [INFO] [stderr] 19 | Continuation { head: head, inner: inner} [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `inner` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/proto/frame/window_update.rs:20:24 [INFO] [stderr] | [INFO] [stderr] 20 | WindowUpdate { head: head, window_size_increment: window_size_increment } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/window_update.rs:20:36 [INFO] [stderr] | [INFO] [stderr] 20 | WindowUpdate { head: head, window_size_increment: window_size_increment } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `window_size_increment` [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/proto/frame/data.rs:25:16 [INFO] [stderr] | [INFO] [stderr] 25 | Data { head: head, inner: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/data.rs:31:54 [INFO] [stderr] | [INFO] [stderr] 31 | Head { length: 0, kind: 0, flags: 0, stream_id: stream_id}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_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/app/message.rs:46:32 [INFO] [stderr] | [INFO] [stderr] 46 | Message { status: 200, 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/app/connection.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | socket: socket, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `socket` [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/app/connection.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | token: token, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [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/app/connection.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | tls_session: tls_session, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tls_session` [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/app/connection.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | 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/app/connection.rs:248:13 [INFO] [stderr] | [INFO] [stderr] 248 | stream_id: stream_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_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: long literal lacking separators [INFO] [stderr] --> src/proto/frame/head.rs:18:37 [INFO] [stderr] | [INFO] [stderr] 18 | (((self.length >> 16) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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: long literal lacking separators [INFO] [stderr] --> src/proto/frame/head.rs:19:37 [INFO] [stderr] | [INFO] [stderr] 19 | (((self.length >> 8) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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/proto/frame/head.rs:20:37 [INFO] [stderr] | [INFO] [stderr] 20 | (((self.length ) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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/proto/frame/head.rs:23:40 [INFO] [stderr] | [INFO] [stderr] 23 | (((self.stream_id >> 24) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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/proto/frame/head.rs:24:40 [INFO] [stderr] | [INFO] [stderr] 24 | (((self.stream_id >> 16) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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/proto/frame/head.rs:25:40 [INFO] [stderr] | [INFO] [stderr] 25 | (((self.stream_id >> 8) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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/proto/frame/head.rs:26:35 [INFO] [stderr] | [INFO] [stderr] 26 | (((self.stream_id ) & 0x000000FF) as u8) [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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: unneeded return statement [INFO] [stderr] --> src/proto/session/mod.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | return self.accepted; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.accepted` [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/proto/frame/head.rs:18:37 [INFO] [stderr] | [INFO] [stderr] 18 | (((self.length >> 16) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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: long literal lacking separators [INFO] [stderr] --> src/proto/frame/head.rs:19:37 [INFO] [stderr] | [INFO] [stderr] 19 | (((self.length >> 8) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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/proto/frame/head.rs:20:37 [INFO] [stderr] | [INFO] [stderr] 20 | (((self.length ) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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/proto/frame/head.rs:23:40 [INFO] [stderr] | [INFO] [stderr] 23 | (((self.stream_id >> 24) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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/proto/frame/head.rs:24:40 [INFO] [stderr] | [INFO] [stderr] 24 | (((self.stream_id >> 16) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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/proto/frame/head.rs:25:40 [INFO] [stderr] | [INFO] [stderr] 25 | (((self.stream_id >> 8) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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/proto/frame/head.rs:26:35 [INFO] [stderr] | [INFO] [stderr] 26 | (((self.stream_id ) & 0x000000FF) as u8) [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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: unneeded return statement [INFO] [stderr] --> src/proto/session/mod.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | return self.accepted; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.accepted` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/proto/frame/headers.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | / match self.inner.clone() { [INFO] [stderr] 51 | | HeaderBlock::Raw(ref mut buf) => { [INFO] [stderr] 52 | | let mut inner = HashMap::new(); [INFO] [stderr] 53 | | let mut header = decoder.enter_header_block(&buf[..]).unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 76 | | _ => {} [INFO] [stderr] 77 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 50 | if let HeaderBlock::Raw(ref mut buf) = self.inner.clone() { [INFO] [stderr] 51 | let mut inner = HashMap::new(); [INFO] [stderr] 52 | let mut header = decoder.enter_header_block(&buf[..]).unwrap(); [INFO] [stderr] 53 | [INFO] [stderr] 54 | loop { [INFO] [stderr] 55 | match header.decode_field() { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/proto/frame/headers.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | / match self.inner.clone() { [INFO] [stderr] 51 | | HeaderBlock::Raw(ref mut buf) => { [INFO] [stderr] 52 | | let mut inner = HashMap::new(); [INFO] [stderr] 53 | | let mut header = decoder.enter_header_block(&buf[..]).unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 76 | | _ => {} [INFO] [stderr] 77 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 50 | if let HeaderBlock::Raw(ref mut buf) = self.inner.clone() { [INFO] [stderr] 51 | let mut inner = HashMap::new(); [INFO] [stderr] 52 | let mut header = decoder.enter_header_block(&buf[..]).unwrap(); [INFO] [stderr] 53 | [INFO] [stderr] 54 | loop { [INFO] [stderr] 55 | match header.decode_field() { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/proto/frame/mod.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | / match frame { [INFO] [stderr] 61 | | &Frame::Data(_) | &Frame::Headers(_) | &Frame::Continuation(_) => { [INFO] [stderr] 62 | | true [INFO] [stderr] 63 | | }, [INFO] [stderr] ... | [INFO] [stderr] 66 | | } [INFO] [stderr] 67 | | } [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] 60 | match *frame { [INFO] [stderr] 61 | Frame::Data(_) | Frame::Headers(_) | Frame::Continuation(_) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/proto/frame/mod.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | / match frame { [INFO] [stderr] 61 | | &Frame::Data(_) | &Frame::Headers(_) | &Frame::Continuation(_) => { [INFO] [stderr] 62 | | true [INFO] [stderr] 63 | | }, [INFO] [stderr] ... | [INFO] [stderr] 66 | | } [INFO] [stderr] 67 | | } [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] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/app/call.rs:110:27 [INFO] [stderr] | [INFO] [stderr] 110 | String::from_utf8(self.headers.get(String::from(":method").as_bytes()).unwrap().clone()).unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.headers[String::from(":method").as_bytes()]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 60 | match *frame { [INFO] [stderr] 61 | Frame::Data(_) | Frame::Headers(_) | Frame::Continuation(_) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/app/call.rs:119:26 [INFO] [stderr] | [INFO] [stderr] 119 | self.method() == String::from("GET") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `"GET"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/app/call.rs:128:26 [INFO] [stderr] | [INFO] [stderr] 128 | self.method() == String::from("POST") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `"POST"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/app/call.rs:110:27 [INFO] [stderr] | [INFO] [stderr] 110 | String::from_utf8(self.headers.get(String::from(":method").as_bytes()).unwrap().clone()).unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.headers[String::from(":method").as_bytes()]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/app/connection.rs:84:48 [INFO] [stderr] | [INFO] [stderr] 84 | let call = self.calls.entry(stream_id).or_insert(Call::from()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Call::from)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/app/call.rs:119:26 [INFO] [stderr] | [INFO] [stderr] 119 | self.method() == String::from("GET") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `"GET"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's keys [INFO] [stderr] --> src/app/connection.rs:102:37 [INFO] [stderr] | [INFO] [stderr] 102 | for (key, _) in &self.handler { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 102 | for key in self.handler.keys() { [INFO] [stderr] | ^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/app/call.rs:128:26 [INFO] [stderr] | [INFO] [stderr] 128 | self.method() == String::from("POST") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `"POST"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/app/connection.rs:120:9 [INFO] [stderr] | [INFO] [stderr] 120 | / match frame { [INFO] [stderr] 121 | | Frame::Settings(settings) => { [INFO] [stderr] 122 | | println!("{:?}", settings); [INFO] [stderr] 123 | | self.send_settings_a(stream_id); [INFO] [stderr] 124 | | }, [INFO] [stderr] 125 | | _ => {} [INFO] [stderr] 126 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 120 | if let Frame::Settings(settings) = frame { [INFO] [stderr] 121 | println!("{:?}", settings); [INFO] [stderr] 122 | self.send_settings_a(stream_id); [INFO] [stderr] 123 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/app/connection.rs:84:48 [INFO] [stderr] | [INFO] [stderr] 84 | let call = self.calls.entry(stream_id).or_insert(Call::from()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Call::from)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's keys [INFO] [stderr] --> src/app/connection.rs:102:37 [INFO] [stderr] | [INFO] [stderr] 102 | for (key, _) in &self.handler { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 102 | for key in self.handler.keys() { [INFO] [stderr] | ^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/app/connection.rs:120:9 [INFO] [stderr] | [INFO] [stderr] 120 | / match frame { [INFO] [stderr] 121 | | Frame::Settings(settings) => { [INFO] [stderr] 122 | | println!("{:?}", settings); [INFO] [stderr] 123 | | self.send_settings_a(stream_id); [INFO] [stderr] 124 | | }, [INFO] [stderr] 125 | | _ => {} [INFO] [stderr] 126 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 120 | if let Frame::Settings(settings) = frame { [INFO] [stderr] 121 | println!("{:?}", settings); [INFO] [stderr] 122 | self.send_settings_a(stream_id); [INFO] [stderr] 123 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let w =` [INFO] [stderr] --> src/app/connection.rs:250:9 [INFO] [stderr] | [INFO] [stderr] 250 | / let w = self.tls_session [INFO] [stderr] 251 | | .write_all(&head.as_bytes()) [INFO] [stderr] 252 | | .unwrap(); [INFO] [stderr] | |______________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/app/config.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | / if let &Some(ref name) = filename { [INFO] [stderr] 42 | | fs::File::open(name) [INFO] [stderr] 43 | | .expect("cannot open ocsp file") [INFO] [stderr] 44 | | .read_to_end(&mut ret) [INFO] [stderr] 45 | | .unwrap(); [INFO] [stderr] 46 | | } [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] 41 | if let Some(ref name) = *filename { [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let w =` [INFO] [stderr] --> src/app/connection.rs:250:9 [INFO] [stderr] | [INFO] [stderr] 250 | / let w = self.tls_session [INFO] [stderr] 251 | | .write_all(&head.as_bytes()) [INFO] [stderr] 252 | | .unwrap(); [INFO] [stderr] | |______________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/app/config.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | / if let &Some(ref name) = filename { [INFO] [stderr] 42 | | fs::File::open(name) [INFO] [stderr] 43 | | .expect("cannot open ocsp file") [INFO] [stderr] 44 | | .read_to_end(&mut ret) [INFO] [stderr] 45 | | .unwrap(); [INFO] [stderr] 46 | | } [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] 41 | if let Some(ref name) = *filename { [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/app/config.rs:64:26 [INFO] [stderr] | [INFO] [stderr] 64 | config.set_protocols(&vec![String::from("h2")]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[String::from("h2")]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `app::App` [INFO] [stderr] --> src/app/mod.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | / pub fn new() -> App { [INFO] [stderr] 44 | | println!("[SETUP] Setting up socket..."); [INFO] [stderr] 45 | | let mut addr: net::SocketAddr = "0.0.0.0:3000".parse().unwrap(); [INFO] [stderr] 46 | | use std::env; [INFO] [stderr] ... | [INFO] [stderr] 69 | | } [INFO] [stderr] 70 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 42 | impl Default for app::App { [INFO] [stderr] 43 | fn default() -> Self { [INFO] [stderr] 44 | Self::new() [INFO] [stderr] 45 | } [INFO] [stderr] 46 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's keys [INFO] [stderr] --> src/app/mod.rs:81:33 [INFO] [stderr] | [INFO] [stderr] 81 | for (key, _) in &self.handler { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 81 | for key in self.handler.keys() { [INFO] [stderr] | ^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/app/config.rs:64:26 [INFO] [stderr] | [INFO] [stderr] 64 | config.set_protocols(&vec![String::from("h2")]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[String::from("h2")]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `app::App` [INFO] [stderr] --> src/app/mod.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | / pub fn new() -> App { [INFO] [stderr] 44 | | println!("[SETUP] Setting up socket..."); [INFO] [stderr] 45 | | let mut addr: net::SocketAddr = "0.0.0.0:3000".parse().unwrap(); [INFO] [stderr] 46 | | use std::env; [INFO] [stderr] ... | [INFO] [stderr] 69 | | } [INFO] [stderr] 70 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 42 | impl Default for app::App { [INFO] [stderr] 43 | fn default() -> Self { [INFO] [stderr] 44 | Self::new() [INFO] [stderr] 45 | } [INFO] [stderr] 46 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's keys [INFO] [stderr] --> src/app/mod.rs:81:33 [INFO] [stderr] | [INFO] [stderr] 81 | for (key, _) in &self.handler { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 81 | for key in self.handler.keys() { [INFO] [stderr] | ^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/proto/frame/settings.rs:36:40 [INFO] [stderr] | [INFO] [stderr] 36 | settings.push(Setting {id: id, value: value}); [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/proto/frame/settings.rs:36:48 [INFO] [stderr] | [INFO] [stderr] 36 | settings.push(Setting {id: id, 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/proto/frame/settings.rs:43:20 [INFO] [stderr] | [INFO] [stderr] 43 | Settings { head: head, inner: settings} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/settings.rs:52:94 [INFO] [stderr] | [INFO] [stderr] 52 | Settings { head: Head { length: settings.len() as u32 * 3, kind: SETTINGS, flags: 0, stream_id: stream_id }, inner: settings} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_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/proto/frame/head.rs:100:20 [INFO] [stderr] | [INFO] [stderr] 100 | Head { length: length, kind: kind, flags: flags, stream_id: stream_id } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `length` [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/proto/frame/head.rs:100:36 [INFO] [stderr] | [INFO] [stderr] 100 | Head { length: length, kind: kind, flags: flags, stream_id: stream_id } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `kind` [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/proto/frame/head.rs:100:48 [INFO] [stderr] | [INFO] [stderr] 100 | Head { length: length, kind: kind, flags: flags, stream_id: stream_id } [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/proto/frame/head.rs:100:62 [INFO] [stderr] | [INFO] [stderr] 100 | Head { length: length, kind: kind, flags: flags, stream_id: stream_id } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_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/proto/frame/headers.rs:33:19 [INFO] [stderr] | [INFO] [stderr] 33 | Headers { head: head, inner: HeaderBlock::Raw(buf[cursor..].to_vec())} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/headers.rs:95:68 [INFO] [stderr] | [INFO] [stderr] 95 | Headers { head: Head { length: 0, kind: HEADERS, flags: 0, stream_id: stream_id }, inner: HeaderBlock::Uncompressed(data)} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_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/proto/frame/priority.rs:22:20 [INFO] [stderr] | [INFO] [stderr] 22 | Priority { head: head, stream_dependency: stream_dependency, weigth: weigth } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/priority.rs:22:32 [INFO] [stderr] | [INFO] [stderr] 22 | Priority { head: head, stream_dependency: stream_dependency, weigth: weigth } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_dependency` [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/proto/frame/priority.rs:22:70 [INFO] [stderr] | [INFO] [stderr] 22 | Priority { head: head, stream_dependency: stream_dependency, weigth: weigth } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `weigth` [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/proto/frame/continuation.rs:19:24 [INFO] [stderr] | [INFO] [stderr] 19 | Continuation { head: head, inner: inner} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/continuation.rs:19:36 [INFO] [stderr] | [INFO] [stderr] 19 | Continuation { head: head, inner: inner} [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `inner` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/proto/frame/window_update.rs:20:24 [INFO] [stderr] | [INFO] [stderr] 20 | WindowUpdate { head: head, window_size_increment: window_size_increment } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/window_update.rs:20:36 [INFO] [stderr] | [INFO] [stderr] 20 | WindowUpdate { head: head, window_size_increment: window_size_increment } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `window_size_increment` [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/proto/frame/data.rs:25:16 [INFO] [stderr] | [INFO] [stderr] 25 | Data { head: head, inner: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/data.rs:31:54 [INFO] [stderr] | [INFO] [stderr] 31 | Head { length: 0, kind: 0, flags: 0, stream_id: stream_id}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_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/app/message.rs:46:32 [INFO] [stderr] | [INFO] [stderr] 46 | Message { status: 200, 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/app/connection.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | socket: socket, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `socket` [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/app/connection.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | token: token, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [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/app/connection.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | tls_session: tls_session, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tls_session` [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/app/connection.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | 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/app/connection.rs:248:13 [INFO] [stderr] | [INFO] [stderr] 248 | stream_id: stream_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_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/proto/frame/settings.rs:36:40 [INFO] [stderr] | [INFO] [stderr] 36 | settings.push(Setting {id: id, value: value}); [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/proto/frame/settings.rs:36:48 [INFO] [stderr] | [INFO] [stderr] 36 | settings.push(Setting {id: id, 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/proto/frame/settings.rs:43:20 [INFO] [stderr] | [INFO] [stderr] 43 | Settings { head: head, inner: settings} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/settings.rs:52:94 [INFO] [stderr] | [INFO] [stderr] 52 | Settings { head: Head { length: settings.len() as u32 * 3, kind: SETTINGS, flags: 0, stream_id: stream_id }, inner: settings} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_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/proto/frame/head.rs:100:20 [INFO] [stderr] | [INFO] [stderr] 100 | Head { length: length, kind: kind, flags: flags, stream_id: stream_id } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `length` [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/proto/frame/head.rs:100:36 [INFO] [stderr] | [INFO] [stderr] 100 | Head { length: length, kind: kind, flags: flags, stream_id: stream_id } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `kind` [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/proto/frame/head.rs:100:48 [INFO] [stderr] | [INFO] [stderr] 100 | Head { length: length, kind: kind, flags: flags, stream_id: stream_id } [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/proto/frame/head.rs:100:62 [INFO] [stderr] | [INFO] [stderr] 100 | Head { length: length, kind: kind, flags: flags, stream_id: stream_id } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_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/proto/frame/headers.rs:33:19 [INFO] [stderr] | [INFO] [stderr] 33 | Headers { head: head, inner: HeaderBlock::Raw(buf[cursor..].to_vec())} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/headers.rs:95:68 [INFO] [stderr] | [INFO] [stderr] 95 | Headers { head: Head { length: 0, kind: HEADERS, flags: 0, stream_id: stream_id }, inner: HeaderBlock::Uncompressed(data)} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_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/proto/frame/priority.rs:22:20 [INFO] [stderr] | [INFO] [stderr] 22 | Priority { head: head, stream_dependency: stream_dependency, weigth: weigth } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/priority.rs:22:32 [INFO] [stderr] | [INFO] [stderr] 22 | Priority { head: head, stream_dependency: stream_dependency, weigth: weigth } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_dependency` [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/proto/frame/priority.rs:22:70 [INFO] [stderr] | [INFO] [stderr] 22 | Priority { head: head, stream_dependency: stream_dependency, weigth: weigth } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `weigth` [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/proto/frame/continuation.rs:19:24 [INFO] [stderr] | [INFO] [stderr] 19 | Continuation { head: head, inner: inner} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/continuation.rs:19:36 [INFO] [stderr] | [INFO] [stderr] 19 | Continuation { head: head, inner: inner} [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `inner` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/proto/frame/window_update.rs:20:24 [INFO] [stderr] | [INFO] [stderr] 20 | WindowUpdate { head: head, window_size_increment: window_size_increment } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/window_update.rs:20:36 [INFO] [stderr] | [INFO] [stderr] 20 | WindowUpdate { head: head, window_size_increment: window_size_increment } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `window_size_increment` [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/proto/frame/data.rs:25:16 [INFO] [stderr] | [INFO] [stderr] 25 | Data { head: head, inner: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `head` [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/proto/frame/data.rs:31:54 [INFO] [stderr] | [INFO] [stderr] 31 | Head { length: 0, kind: 0, flags: 0, stream_id: stream_id}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_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/app/message.rs:46:32 [INFO] [stderr] | [INFO] [stderr] 46 | Message { status: 200, 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/app/connection.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | socket: socket, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `socket` [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/app/connection.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | token: token, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [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/app/connection.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | tls_session: tls_session, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tls_session` [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/app/connection.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | 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/app/connection.rs:248:13 [INFO] [stderr] | [INFO] [stderr] 248 | stream_id: stream_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_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: long literal lacking separators [INFO] [stderr] --> src/proto/frame/head.rs:18:37 [INFO] [stderr] | [INFO] [stderr] 18 | (((self.length >> 16) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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: long literal lacking separators [INFO] [stderr] --> src/proto/frame/head.rs:19:37 [INFO] [stderr] | [INFO] [stderr] 19 | (((self.length >> 8) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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/proto/frame/head.rs:20:37 [INFO] [stderr] | [INFO] [stderr] 20 | (((self.length ) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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/proto/frame/head.rs:23:40 [INFO] [stderr] | [INFO] [stderr] 23 | (((self.stream_id >> 24) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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/proto/frame/head.rs:24:40 [INFO] [stderr] | [INFO] [stderr] 24 | (((self.stream_id >> 16) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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/proto/frame/head.rs:25:40 [INFO] [stderr] | [INFO] [stderr] 25 | (((self.stream_id >> 8) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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/proto/frame/head.rs:26:35 [INFO] [stderr] | [INFO] [stderr] 26 | (((self.stream_id ) & 0x000000FF) as u8) [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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: unneeded return statement [INFO] [stderr] --> src/proto/session/mod.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | return self.accepted; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.accepted` [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/proto/frame/head.rs:18:37 [INFO] [stderr] | [INFO] [stderr] 18 | (((self.length >> 16) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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: long literal lacking separators [INFO] [stderr] --> src/proto/frame/head.rs:19:37 [INFO] [stderr] | [INFO] [stderr] 19 | (((self.length >> 8) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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/proto/frame/head.rs:20:37 [INFO] [stderr] | [INFO] [stderr] 20 | (((self.length ) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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/proto/frame/head.rs:23:40 [INFO] [stderr] | [INFO] [stderr] 23 | (((self.stream_id >> 24) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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/proto/frame/head.rs:24:40 [INFO] [stderr] | [INFO] [stderr] 24 | (((self.stream_id >> 16) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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/proto/frame/head.rs:25:40 [INFO] [stderr] | [INFO] [stderr] 25 | (((self.stream_id >> 8) & 0x000000FF) as u8), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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/proto/frame/head.rs:26:35 [INFO] [stderr] | [INFO] [stderr] 26 | (((self.stream_id ) & 0x000000FF) as u8) [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [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: unneeded return statement [INFO] [stderr] --> src/proto/session/mod.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | return self.accepted; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.accepted` [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: method is never used: `is_post` [INFO] [stderr] --> src/app/call.rs:127:5 [INFO] [stderr] | [INFO] [stderr] 127 | pub fn is_post(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/proto/frame/headers.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | / match self.inner.clone() { [INFO] [stderr] 51 | | HeaderBlock::Raw(ref mut buf) => { [INFO] [stderr] 52 | | let mut inner = HashMap::new(); [INFO] [stderr] 53 | | let mut header = decoder.enter_header_block(&buf[..]).unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 76 | | _ => {} [INFO] [stderr] 77 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 50 | if let HeaderBlock::Raw(ref mut buf) = self.inner.clone() { [INFO] [stderr] 51 | let mut inner = HashMap::new(); [INFO] [stderr] 52 | let mut header = decoder.enter_header_block(&buf[..]).unwrap(); [INFO] [stderr] 53 | [INFO] [stderr] 54 | loop { [INFO] [stderr] 55 | match header.decode_field() { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/proto/frame/mod.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | / match frame { [INFO] [stderr] 61 | | &Frame::Data(_) | &Frame::Headers(_) | &Frame::Continuation(_) => { [INFO] [stderr] 62 | | true [INFO] [stderr] 63 | | }, [INFO] [stderr] ... | [INFO] [stderr] 66 | | } [INFO] [stderr] 67 | | } [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] 60 | match *frame { [INFO] [stderr] 61 | Frame::Data(_) | Frame::Headers(_) | Frame::Continuation(_) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/app/call.rs:110:27 [INFO] [stderr] | [INFO] [stderr] 110 | String::from_utf8(self.headers.get(String::from(":method").as_bytes()).unwrap().clone()).unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.headers[String::from(":method").as_bytes()]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/app/call.rs:119:26 [INFO] [stderr] | [INFO] [stderr] 119 | self.method() == String::from("GET") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `"GET"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/app/call.rs:128:26 [INFO] [stderr] | [INFO] [stderr] 128 | self.method() == String::from("POST") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `"POST"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/app/connection.rs:84:48 [INFO] [stderr] | [INFO] [stderr] 84 | let call = self.calls.entry(stream_id).or_insert(Call::from()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Call::from)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's keys [INFO] [stderr] --> src/app/connection.rs:102:37 [INFO] [stderr] | [INFO] [stderr] 102 | for (key, _) in &self.handler { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 102 | for key in self.handler.keys() { [INFO] [stderr] | ^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/app/connection.rs:120:9 [INFO] [stderr] | [INFO] [stderr] 120 | / match frame { [INFO] [stderr] 121 | | Frame::Settings(settings) => { [INFO] [stderr] 122 | | println!("{:?}", settings); [INFO] [stderr] 123 | | self.send_settings_a(stream_id); [INFO] [stderr] 124 | | }, [INFO] [stderr] 125 | | _ => {} [INFO] [stderr] 126 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 120 | if let Frame::Settings(settings) = frame { [INFO] [stderr] 121 | println!("{:?}", settings); [INFO] [stderr] 122 | self.send_settings_a(stream_id); [INFO] [stderr] 123 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let w =` [INFO] [stderr] --> src/app/connection.rs:250:9 [INFO] [stderr] | [INFO] [stderr] 250 | / let w = self.tls_session [INFO] [stderr] 251 | | .write_all(&head.as_bytes()) [INFO] [stderr] 252 | | .unwrap(); [INFO] [stderr] | |______________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/app/config.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | / if let &Some(ref name) = filename { [INFO] [stderr] 42 | | fs::File::open(name) [INFO] [stderr] 43 | | .expect("cannot open ocsp file") [INFO] [stderr] 44 | | .read_to_end(&mut ret) [INFO] [stderr] 45 | | .unwrap(); [INFO] [stderr] 46 | | } [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] 41 | if let Some(ref name) = *filename { [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/app/config.rs:64:26 [INFO] [stderr] | [INFO] [stderr] 64 | config.set_protocols(&vec![String::from("h2")]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[String::from("h2")]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's keys [INFO] [stderr] --> src/app/mod.rs:81:33 [INFO] [stderr] | [INFO] [stderr] 81 | for (key, _) in &self.handler { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 81 | for key in self.handler.keys() { [INFO] [stderr] | ^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_post` [INFO] [stderr] --> src/app/call.rs:127:5 [INFO] [stderr] | [INFO] [stderr] 127 | pub fn is_post(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/proto/frame/headers.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | / match self.inner.clone() { [INFO] [stderr] 51 | | HeaderBlock::Raw(ref mut buf) => { [INFO] [stderr] 52 | | let mut inner = HashMap::new(); [INFO] [stderr] 53 | | let mut header = decoder.enter_header_block(&buf[..]).unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 76 | | _ => {} [INFO] [stderr] 77 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 50 | if let HeaderBlock::Raw(ref mut buf) = self.inner.clone() { [INFO] [stderr] 51 | let mut inner = HashMap::new(); [INFO] [stderr] 52 | let mut header = decoder.enter_header_block(&buf[..]).unwrap(); [INFO] [stderr] 53 | [INFO] [stderr] 54 | loop { [INFO] [stderr] 55 | match header.decode_field() { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/proto/frame/mod.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | / match frame { [INFO] [stderr] 61 | | &Frame::Data(_) | &Frame::Headers(_) | &Frame::Continuation(_) => { [INFO] [stderr] 62 | | true [INFO] [stderr] 63 | | }, [INFO] [stderr] ... | [INFO] [stderr] 66 | | } [INFO] [stderr] 67 | | } [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] 60 | match *frame { [INFO] [stderr] 61 | Frame::Data(_) | Frame::Headers(_) | Frame::Continuation(_) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/app/call.rs:110:27 [INFO] [stderr] | [INFO] [stderr] 110 | String::from_utf8(self.headers.get(String::from(":method").as_bytes()).unwrap().clone()).unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.headers[String::from(":method").as_bytes()]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/app/call.rs:119:26 [INFO] [stderr] | [INFO] [stderr] 119 | self.method() == String::from("GET") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `"GET"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/app/call.rs:128:26 [INFO] [stderr] | [INFO] [stderr] 128 | self.method() == String::from("POST") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `"POST"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/app/connection.rs:84:48 [INFO] [stderr] | [INFO] [stderr] 84 | let call = self.calls.entry(stream_id).or_insert(Call::from()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Call::from)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's keys [INFO] [stderr] --> src/app/connection.rs:102:37 [INFO] [stderr] | [INFO] [stderr] 102 | for (key, _) in &self.handler { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 102 | for key in self.handler.keys() { [INFO] [stderr] | ^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/app/connection.rs:120:9 [INFO] [stderr] | [INFO] [stderr] 120 | / match frame { [INFO] [stderr] 121 | | Frame::Settings(settings) => { [INFO] [stderr] 122 | | println!("{:?}", settings); [INFO] [stderr] 123 | | self.send_settings_a(stream_id); [INFO] [stderr] 124 | | }, [INFO] [stderr] 125 | | _ => {} [INFO] [stderr] 126 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 120 | if let Frame::Settings(settings) = frame { [INFO] [stderr] 121 | println!("{:?}", settings); [INFO] [stderr] 122 | self.send_settings_a(stream_id); [INFO] [stderr] 123 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let w =` [INFO] [stderr] --> src/app/connection.rs:250:9 [INFO] [stderr] | [INFO] [stderr] 250 | / let w = self.tls_session [INFO] [stderr] 251 | | .write_all(&head.as_bytes()) [INFO] [stderr] 252 | | .unwrap(); [INFO] [stderr] | |______________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/app/config.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | / if let &Some(ref name) = filename { [INFO] [stderr] 42 | | fs::File::open(name) [INFO] [stderr] 43 | | .expect("cannot open ocsp file") [INFO] [stderr] 44 | | .read_to_end(&mut ret) [INFO] [stderr] 45 | | .unwrap(); [INFO] [stderr] 46 | | } [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] 41 | if let Some(ref name) = *filename { [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/app/config.rs:64:26 [INFO] [stderr] | [INFO] [stderr] 64 | config.set_protocols(&vec![String::from("h2")]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[String::from("h2")]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's keys [INFO] [stderr] --> src/app/mod.rs:81:33 [INFO] [stderr] | [INFO] [stderr] 81 | for (key, _) in &self.handler { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 81 | for key in self.handler.keys() { [INFO] [stderr] | ^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 19.95s [INFO] running `"docker" "inspect" "e23839cdb109faaba12590d719d61747351cf21cf6ea606471e18e0a68ab0017"` [INFO] running `"docker" "rm" "-f" "e23839cdb109faaba12590d719d61747351cf21cf6ea606471e18e0a68ab0017"` [INFO] [stdout] e23839cdb109faaba12590d719d61747351cf21cf6ea606471e18e0a68ab0017