[INFO] fetching crate dianmeng 0.1.0... [INFO] checking dianmeng-0.1.0 against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] extracting crate dianmeng 0.1.0 into /workspace/builds/worker-4-tc1/source [INFO] validating manifest of crates.io crate dianmeng 0.1.0 on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate dianmeng 0.1.0 [INFO] finished tweaking crates.io crate dianmeng 0.1.0 [INFO] tweaked toml for crates.io crate dianmeng 0.1.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate crates.io crate dianmeng 0.1.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ahash v0.7.6 [INFO] [stderr] Downloaded memchr v2.6.2 [INFO] [stderr] Downloaded rbtree v0.1.5 [INFO] [stderr] Downloaded errno v0.3.3 [INFO] [stderr] Downloaded webparse v0.1.2 [INFO] [stderr] Downloaded reqwest v0.11.20 [INFO] [stderr] Downloaded object v0.32.0 [INFO] [stderr] Downloaded rustix v0.38.13 [INFO] [stderr] Downloaded linux-raw-sys v0.4.7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cd4ac62db96f7cf6696c4d249ad46437b0f46bc299cbd4ba8a824cb08994f2b3 [INFO] running `Command { std: "docker" "start" "-a" "cd4ac62db96f7cf6696c4d249ad46437b0f46bc299cbd4ba8a824cb08994f2b3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cd4ac62db96f7cf6696c4d249ad46437b0f46bc299cbd4ba8a824cb08994f2b3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cd4ac62db96f7cf6696c4d249ad46437b0f46bc299cbd4ba8a824cb08994f2b3", kill_on_drop: false }` [INFO] [stdout] cd4ac62db96f7cf6696c4d249ad46437b0f46bc299cbd4ba8a824cb08994f2b3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8531132168c30220b855df38ff55cb673aee7803698b061967b7858e14934de9 [INFO] running `Command { std: "docker" "start" "-a" "8531132168c30220b855df38ff55cb673aee7803698b061967b7858e14934de9", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.147 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling proc-macro2 v1.0.66 [INFO] [stderr] Compiling unicode-ident v1.0.11 [INFO] [stderr] Checking pin-project-lite v0.2.13 [INFO] [stderr] Compiling futures-core v0.3.28 [INFO] [stderr] Compiling parking_lot_core v0.9.8 [INFO] [stderr] Checking smallvec v1.11.0 [INFO] [stderr] Checking once_cell v1.18.0 [INFO] [stderr] Compiling futures-channel v0.3.28 [INFO] [stderr] Checking bytes v1.4.0 [INFO] [stderr] Compiling futures-task v0.3.28 [INFO] [stderr] Checking futures-sink v0.3.28 [INFO] [stderr] Compiling futures-util v0.3.28 [INFO] [stderr] Checking futures-io v0.3.28 [INFO] [stderr] Compiling pkg-config v0.3.27 [INFO] [stderr] Checking memchr v2.6.2 [INFO] [stderr] Checking itoa v1.0.9 [INFO] [stderr] Checking bitflags v2.4.0 [INFO] [stderr] Checking tracing-core v0.1.31 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Compiling serde v1.0.188 [INFO] [stderr] Compiling openssl v0.10.57 [INFO] [stderr] Checking try-lock v0.2.4 [INFO] [stderr] Checking tower-service v0.3.2 [INFO] [stderr] Checking ryu v1.0.15 [INFO] [stderr] Compiling lock_api v0.4.10 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Checking http v0.2.9 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Checking tinyvec v1.6.0 [INFO] [stderr] Checking want v0.3.1 [INFO] [stderr] Checking percent-encoding v2.3.0 [INFO] [stderr] Compiling serde_json v1.0.105 [INFO] [stderr] Checking unicode-bidi v0.3.13 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking rbtree v0.1.5 [INFO] [stderr] Checking form_urlencoded v1.2.0 [INFO] [stderr] Checking webparse v0.1.2 [INFO] [stderr] Checking encoding_rs v0.8.33 [INFO] [stderr] Checking tracing v0.1.37 [INFO] [stderr] Checking base64 v0.21.4 [INFO] [stderr] Checking ipnet v2.8.0 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Checking unicode-normalization v0.1.22 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking socket2 v0.5.3 [INFO] [stderr] Checking mio v0.8.8 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking socket2 v0.4.9 [INFO] [stderr] Compiling syn v2.0.29 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking http-body v0.4.5 [INFO] [stderr] Checking idna v0.4.0 [INFO] [stderr] Compiling openssl-sys v0.9.93 [INFO] [stderr] Checking url v2.4.1 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Compiling futures-macro v0.3.28 [INFO] [stderr] Compiling tokio-macros v2.1.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling serde_derive v1.0.188 [INFO] [stderr] Checking tokio v1.32.0 [INFO] [stderr] Checking futures-executor v0.3.28 [INFO] [stderr] Checking futures v0.3.28 [INFO] [stderr] Checking tokio-util v0.7.8 [INFO] [stderr] Checking tokio-stream v0.1.14 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking h2 v0.3.21 [INFO] [stderr] Checking hyper v0.14.27 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking dianmeng v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `stream` [INFO] [stdout] --> src/protocol/server.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use futures_core::{stream, Future}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SendControl` and `SendStream` [INFO] [stdout] --> src/protocol/server.rs:7:62 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::{H2Connection, ProtError, ProtResult, RecvStream, SendControl, SendStream}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `future::poll_fn` [INFO] [stdout] --> src/protocol/http1/connection.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | future::poll_fn, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sync::mpsc::Receiver` [INFO] [stdout] --> src/protocol/http1/connection.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | sync::mpsc::Receiver, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `http::response` [INFO] [stdout] --> src/protocol/http1/connection.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | use webparse::{http::response, Binary, BinaryMut, Request, Response, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `protocol::recv_stream` [INFO] [stdout] --> src/protocol/http1/connection.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::{protocol::recv_stream, H2Connection, ProtResult, RecvStream}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures_util::future::poll_fn` [INFO] [stdout] --> src/protocol/http1/io.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use futures_util::future::poll_fn; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `http::request` [INFO] [stdout] --> src/protocol/http1/io.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use http::request; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio_util::io::poll_read_buf` [INFO] [stdout] --> src/protocol/http1/io.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use tokio_util::io::poll_read_buf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Serialize` and `WebError` [INFO] [stdout] --> src/protocol/http1/io.rs:14:69 [INFO] [stdout] | [INFO] [stdout] 14 | http::http2, Binary, BinaryMut, Buf, BufMut, Request, Response, Serialize, WebError, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `H2Connection` [INFO] [stdout] --> src/protocol/http2/state/state_handshake.rs:1:53 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{protocol::http2::codec::Codec, Builder, H2Connection, ProtError, ProtResult}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `future::Future` [INFO] [stdout] --> src/protocol/http2/state/state_handshake.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | future::Future, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncWriteExt` [INFO] [stdout] --> src/protocol/http2/state/state_handshake.rs:9:40 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::io::{AsyncRead, AsyncWrite, AsyncWriteExt, ReadBuf}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Control` [INFO] [stdout] --> src/protocol/http2/state/state_settings.rs:7:61 [INFO] [stdout] | [INFO] [stdout] 7 | protocol::http2::{codec::Codec, control::ControlConfig, Control}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `io` [INFO] [stdout] --> src/protocol/http2/codec/error.rs:2:23 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{error, fmt, io}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `length_delimited` [INFO] [stdout] --> src/protocol/http2/codec/framed_read.rs:7:56 [INFO] [stdout] | [INFO] [stdout] 7 | use tokio_util::codec::{FramedRead as InnerFramedRead, length_delimited}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LengthDelimitedCodecError` [INFO] [stdout] --> src/protocol/http2/codec/framed_read.rs:8:47 [INFO] [stdout] | [INFO] [stdout] 8 | use tokio_util::codec::{LengthDelimitedCodec, LengthDelimitedCodecError}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HeaderIndex` [INFO] [stdout] --> src/protocol/http2/codec/framed_read.rs:10:45 [INFO] [stdout] | [INFO] [stdout] 10 | use webparse::http::http2::{frame, Decoder, HeaderIndex}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WebResult` [INFO] [stdout] --> src/protocol/http2/codec/framed_read.rs:11:35 [INFO] [stdout] | [INFO] [stdout] 11 | use webparse::{Binary, BinaryMut, WebResult, Buf}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ProtError` [INFO] [stdout] --> src/protocol/http2/codec/framed_read.rs:13:23 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::protocol::{ProtError, ProtResult}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::FramedWrite` [INFO] [stdout] --> src/protocol/http2/codec/framed_read.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use super::FramedWrite; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsyncReadExt`, `Interest`, and `Ready` [INFO] [stdout] --> src/protocol/http2/codec/mod.rs:8:48 [INFO] [stdout] | [INFO] [stdout] 8 | use std::task::{Context, Poll};use tokio::io::{Interest, Ready, AsyncReadExt}; [INFO] [stdout] | ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pin::Pin` [INFO] [stdout] --> src/protocol/http2/connection.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | pin::Pin, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures_util::future::poll_fn` [INFO] [stdout] --> src/protocol/http2/connection.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use futures_util::future::poll_fn; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Sender` and `net::TcpStream` [INFO] [stdout] --> src/protocol/http2/connection.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | net::TcpStream, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 11 | sync::mpsc::{Receiver, Sender, channel}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Frame` and `Settings` [INFO] [stdout] --> src/protocol/http2/connection.rs:14:26 [INFO] [stdout] | [INFO] [stdout] 14 | http::http2::frame::{Frame, Reason, Settings, StreamIdentifier}, [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Server` [INFO] [stdout] --> src/protocol/http2/connection.rs:20:37 [INFO] [stdout] | [INFO] [stdout] 20 | Builder, Initiator, RecvStream, Server, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FramedRead`, `FramedWrite`, `SendResponse`, and `send_response::SendControl` [INFO] [stdout] --> src/protocol/http2/connection.rs:24:20 [INFO] [stdout] | [INFO] [stdout] 24 | codec::{Codec, FramedRead, FramedWrite}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 25 | control::ControlConfig, [INFO] [stdout] 26 | send_response::SendControl, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | Control, SendResponse, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `io` [INFO] [stdout] --> src/protocol/http2/control.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | io, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `stream` [INFO] [stdout] --> src/protocol/http2/control.rs:11:27 [INFO] [stdout] | [INFO] [stdout] 11 | use futures_core::{ready, stream, Stream}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BinaryMut`, `Flag`, `Kind`, `Serialize`, and `request` [INFO] [stdout] --> src/protocol/http2/control.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | Serialize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 18 | http::{ [INFO] [stdout] 19 | http2::frame::{Flag, Frame, GoAway, Kind, Reason, Settings, StreamIdentifier}, [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] 20 | request, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 21 | }, [INFO] [stdout] 22 | Binary, BinaryMut, Request, Response, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures_core::Stream` [INFO] [stdout] --> src/protocol/http2/send_response.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use futures_core::Stream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rbtree::RBTree` [INFO] [stdout] --> src/protocol/http2/send_response.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use rbtree::RBTree; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> src/protocol/http2/send_response.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Receiver` and `channel` [INFO] [stdout] --> src/protocol/http2/send_response.rs:6:25 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio::sync::mpsc::{channel, Receiver, Sender}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Decoder`, `PriorityFrame`, `Priority`, and `Serialize` [INFO] [stdout] --> src/protocol/http2/send_response.rs:11:60 [INFO] [stdout] | [INFO] [stdout] 11 | Data, Flag, Frame, FrameHeader, Headers, Kind, Priority, PriorityFrame, [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | Decoder, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | }, [INFO] [stdout] 16 | Binary, Method, Response, Serialize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::SendStream` [INFO] [stdout] --> src/protocol/http2/send_response.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use crate::SendStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Buf` [INFO] [stdout] --> src/protocol/http2/builder.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use webparse::{Buf, http::http2::frame::Settings}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sync::Arc` [INFO] [stdout] --> src/protocol/http2/priority_queue.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{sync::Arc, task::{Context, Poll}, collections::HashMap}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Response` and `Serialize` [INFO] [stdout] --> src/protocol/http2/priority_queue.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | Binary, Serialize, Response, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BinaryMut` [INFO] [stdout] --> src/protocol/error.rs:3:62 [INFO] [stdout] | [INFO] [stdout] 3 | use webparse::{WebError, Binary, http::http2::frame::Reason, BinaryMut, Request}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `any::TypeId`, `ready`, and `time` [INFO] [stdout] --> src/protocol/recv_stream.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{io::Read, time, task::{Context, ready, Poll}, any::TypeId}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bytes::buf` [INFO] [stdout] --> src/protocol/recv_stream.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use bytes::buf; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `join` [INFO] [stdout] --> src/protocol/recv_stream.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | join, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ProtError` [INFO] [stdout] --> src/protocol/recv_stream.rs:11:25 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::{ProtResult, ProtError}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BinaryMut` [INFO] [stdout] --> src/protocol/send_stream.rs:5:24 [INFO] [stdout] | [INFO] [stdout] 5 | use webparse::{Binary, BinaryMut, Serialize}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/protocol/server.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | let result = if let Some(h1) = &mut self.http1 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `recv` [INFO] [stdout] --> src/protocol/server.rs:43:21 [INFO] [stdout] | [INFO] [stdout] 43 | let recv = RecvStream::only(Binary::new()); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_recv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/protocol/server.rs:45:21 [INFO] [stdout] | [INFO] [stdout] 45 | let mut res = res.into_type::(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/protocol/http1/io.rs:217:43 [INFO] [stdout] | [INFO] [stdout] 217 | pub async fn send_response(&mut self, mut res: Response) -> ProtResult<()> { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking reqwest v0.11.20 [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/protocol/http2/connection.rs:292:9 [INFO] [stdout] | [INFO] [stdout] 255 | / loop { [INFO] [stdout] 256 | | println!("sssssssssssssssssss +{:?}", self.inner.state); [INFO] [stdout] 257 | | match self.inner.state { [INFO] [stdout] 258 | | State::Open => { [INFO] [stdout] ... | [INFO] [stdout] 290 | | } [INFO] [stdout] 291 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 292 | println!("end!!!!!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Pointer` [INFO] [stdout] --> src/protocol/error.rs:1:26 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fmt::{Display, Pointer}, io}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio_stream::StreamExt` [INFO] [stdout] --> src/protocol/http2/control.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio_stream::StreamExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kind` [INFO] [stdout] --> src/protocol/http2/codec/framed_read.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | let kind = head.kind(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_kind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/protocol/http2/codec/framed_read.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | mut bytes: BytesMut, [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_frame_size` [INFO] [stdout] --> src/protocol/http2/codec/mod.rs:43:44 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn with_max_recv_frame_size(io: T, max_frame_size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_frame_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/protocol/http2/codec/mod.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | let mut inner = FramedRead::new(delimited); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cx` [INFO] [stdout] --> src/protocol/http2/connection.rs:84:35 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn pull_accept(&mut self, cx: &mut Context<'_>) -> Poll>> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/protocol/http2/control.rs:173:45 [INFO] [stdout] | [INFO] [stdout] 173 | Frame::WindowUpdate(v) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/protocol/http2/control.rs:176:38 [INFO] [stdout] | [INFO] [stdout] 176 | Frame::Reset(v) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frames` [INFO] [stdout] --> src/protocol/http2/control.rs:193:9 [INFO] [stdout] | [INFO] [stdout] 193 | frames: &Vec>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_frames` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_end_stream` [INFO] [stdout] --> src/protocol/http2/control.rs:230:13 [INFO] [stdout] | [INFO] [stdout] 230 | let is_end_stream = frame.is_end_stream(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_end_stream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/protocol/http2/inner_stream.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | let mut now_frames = self.take(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_data` [INFO] [stdout] --> src/protocol/http2/priority_queue.rs:75:21 [INFO] [stdout] | [INFO] [stdout] 75 | let is_data = first.0.frame.is_data(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/protocol/http2/priority_queue.rs:76:21 [INFO] [stdout] | [INFO] [stdout] 76 | let size = codec.send_frame(first.0.frame)?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cx` [INFO] [stdout] --> src/protocol/recv_stream.rs:183:9 [INFO] [stdout] | [INFO] [stdout] 183 | cx: &mut std::task::Context<'_>, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cx` [INFO] [stdout] --> src/protocol/send_stream.rs:56:50 [INFO] [stdout] | [INFO] [stdout] 56 | fn poll_next(self: std::pin::Pin<&mut Self>, cx: &mut std::task::Context<'_>) -> std::task::Poll> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/protocol/send_stream.rs:62:24 [INFO] [stdout] | [INFO] [stdout] 62 | fn read(&mut self, buf: &mut [u8]) -> std::io::Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buffer` [INFO] [stdout] --> src/protocol/send_stream.rs:68:82 [INFO] [stdout] | [INFO] [stdout] 68 | fn serialize(&mut self, buffer: &mut B) -> webparse::WebResult { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `builder` and `span` are never read [INFO] [stdout] --> src/protocol/http2/state/state_handshake.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct StateHandshake { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 13 | /// 默认参数 [INFO] [stdout] 14 | builder: Builder, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | span: tracing::Span, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Connection` is never constructed [INFO] [stdout] --> src/protocol/http2/codec/error.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum SendError { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] 9 | Connection(ProtError), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SendError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/protocol/http2/codec/error.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum UserError { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 16 | /// The stream ID is no longer accepting frames. [INFO] [stdout] 17 | InactiveStreamId, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | UnexpectedFrameType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | PayloadTooBig, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | Rejected, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | ReleaseCapacityTooBig, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | OverflowedStreamId, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | MalformedHeaders, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | MissingUriSchemeAndAuthority, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | PollResetAfterSendResponse, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | SendPingWhilePending, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | SendSettingsWhilePending, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | PeerDisabledServerPush, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UserError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `frame` and `buf` are never read [INFO] [stdout] --> src/protocol/http2/codec/framed_read.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 30 | struct Partial { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 31 | /// Empty frame [INFO] [stdout] 32 | frame: Continuable, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | buf: BinaryMut, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Partial` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Headers` and `PushPromise` are never constructed [INFO] [stdout] --> src/protocol/http2/codec/framed_read.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 39 | enum Continuable { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 40 | Headers(frame::Headers), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 41 | PushPromise(frame::PushPromise), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Continuable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/protocol/http2/inner_stream.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct InnerStream { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 17 | id: StreamIdentifier, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `window_size` is never read [INFO] [stdout] --> src/protocol/http2/flow_control.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct FlowControl { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 5 | window_size: i32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FlowControl` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/protocol/http2/control.rs:235:13 [INFO] [stdout] | [INFO] [stdout] 235 | self.recv_frames.get_mut(&stream_id).unwrap().push(frame); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 235 | let _ = self.recv_frames.get_mut(&stream_id).unwrap().push(frame); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 77 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bytes::BytesMut` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use bytes::BytesMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `StatusCode` and `http2::frame::Frame` [INFO] [stdout] --> src/main.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | http::{http2::frame::Frame, StatusCode}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `borrow::BorrowMut`, `self`, and `time::Duration` [INFO] [stdout] --> src/main.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | borrow::BorrowMut, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | fmt::{self}, [INFO] [stdout] | ^^^^ [INFO] [stdout] 29 | io::{self, Read}, [INFO] [stdout] 30 | time::Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sender` [INFO] [stdout] --> src/main.rs:34:27 [INFO] [stdout] | [INFO] [stdout] 34 | sync::mpsc::{channel, Sender}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio_stream::StreamExt` [INFO] [stdout] --> src/main.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | use tokio_stream::StreamExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Decoder`, `Encoder`, and `Framed` [INFO] [stdout] --> src/main.rs:37:25 [INFO] [stdout] | [INFO] [stdout] 37 | use tokio_util::codec::{Decoder, Encoder, Framed}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `H2Connection`, `SendStream`, and `StateHandshake` [INFO] [stdout] --> src/main.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 40 | self, H2Connection, ProtResult, RecvStream, SendControl, SendStream, Server, StateHandshake, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `send` [INFO] [stdout] --> src/main.rs:155:17 [INFO] [stdout] | [INFO] [stdout] 155 | let mut send = control.unwrap().send_response(res).await?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_send` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/main.rs:135:19 [INFO] [stdout] | [INFO] [stdout] 135 | .map_err(|err| io::Error::new(io::ErrorKind::Other, ""))?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/main.rs:153:23 [INFO] [stdout] | [INFO] [stdout] 153 | .map_err(|err| io::Error::new(io::ErrorKind::Other, ""))?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:155:13 [INFO] [stdout] | [INFO] [stdout] 155 | let mut send = control.unwrap().send_response(res).await?; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `body` [INFO] [stdout] --> src/main.rs:188:17 [INFO] [stdout] | [INFO] [stdout] 188 | let body = req.body_mut(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_body` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/main.rs:211:19 [INFO] [stdout] | [INFO] [stdout] 211 | .map_err(|err| io::Error::new(io::ErrorKind::Other, ""))?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::SinkExt` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use futures::SinkExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Xx` is never used [INFO] [stdout] --> src/main.rs:43:7 [INFO] [stdout] | [INFO] [stdout] 43 | trait Xx { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `operate1` is never used [INFO] [stdout] --> src/main.rs:180:10 [INFO] [stdout] | [INFO] [stdout] 180 | async fn operate1(mut req: Request) -> ProtResult>> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:158:17 [INFO] [stdout] | [INFO] [stdout] 158 | / sender [INFO] [stdout] 159 | | .send((false, Binary::from(format!("hello{} ", i).into_bytes()))) [INFO] [stdout] 160 | | .await; [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 158 | let _ = sender [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:163:13 [INFO] [stdout] | [INFO] [stdout] 163 | sender.send((true, Binary::from_static("world\r\n".as_bytes()))).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 163 | let _ = sender.send((true, Binary::from_static("world\r\n".as_bytes()))).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:170:13 [INFO] [stdout] | [INFO] [stdout] 170 | / sender [INFO] [stdout] 171 | | .send((false, Binary::from(format!("hello{} ", i).into_bytes()))) [INFO] [stdout] 172 | | .await; [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 170 | let _ = sender [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bytes::BytesMut` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use bytes::BytesMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `StatusCode` and `http2::frame::Frame` [INFO] [stdout] --> src/main.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | http::{http2::frame::Frame, StatusCode}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `borrow::BorrowMut`, `self`, and `time::Duration` [INFO] [stdout] --> src/main.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | borrow::BorrowMut, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | fmt::{self}, [INFO] [stdout] | ^^^^ [INFO] [stdout] 29 | io::{self, Read}, [INFO] [stdout] 30 | time::Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sender` [INFO] [stdout] --> src/main.rs:34:27 [INFO] [stdout] | [INFO] [stdout] 34 | sync::mpsc::{channel, Sender}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio_stream::StreamExt` [INFO] [stdout] --> src/main.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | use tokio_stream::StreamExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Decoder`, `Encoder`, and `Framed` [INFO] [stdout] --> src/main.rs:37:25 [INFO] [stdout] | [INFO] [stdout] 37 | use tokio_util::codec::{Decoder, Encoder, Framed}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `H2Connection`, `SendStream`, and `StateHandshake` [INFO] [stdout] --> src/main.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 40 | self, H2Connection, ProtResult, RecvStream, SendControl, SendStream, Server, StateHandshake, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `stream` [INFO] [stdout] --> src/protocol/server.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use futures_core::{stream, Future}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `send` [INFO] [stdout] --> src/main.rs:155:17 [INFO] [stdout] | [INFO] [stdout] 155 | let mut send = control.unwrap().send_response(res).await?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_send` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SendControl` and `SendStream` [INFO] [stdout] --> src/protocol/server.rs:7:62 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::{H2Connection, ProtError, ProtResult, RecvStream, SendControl, SendStream}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `future::poll_fn` [INFO] [stdout] --> src/protocol/http1/connection.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | future::poll_fn, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sync::mpsc::Receiver` [INFO] [stdout] --> src/protocol/http1/connection.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | sync::mpsc::Receiver, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `http::response` [INFO] [stdout] --> src/protocol/http1/connection.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | use webparse::{http::response, Binary, BinaryMut, Request, Response, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `protocol::recv_stream` [INFO] [stdout] --> src/protocol/http1/connection.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::{protocol::recv_stream, H2Connection, ProtResult, RecvStream}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures_util::future::poll_fn` [INFO] [stdout] --> src/protocol/http1/io.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use futures_util::future::poll_fn; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `http::request` [INFO] [stdout] --> src/protocol/http1/io.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use http::request; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio_util::io::poll_read_buf` [INFO] [stdout] --> src/protocol/http1/io.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use tokio_util::io::poll_read_buf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Serialize` and `WebError` [INFO] [stdout] --> src/protocol/http1/io.rs:14:69 [INFO] [stdout] | [INFO] [stdout] 14 | http::http2, Binary, BinaryMut, Buf, BufMut, Request, Response, Serialize, WebError, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `H2Connection` [INFO] [stdout] --> src/protocol/http2/state/state_handshake.rs:1:53 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{protocol::http2::codec::Codec, Builder, H2Connection, ProtError, ProtResult}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `future::Future` [INFO] [stdout] --> src/protocol/http2/state/state_handshake.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | future::Future, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncWriteExt` [INFO] [stdout] --> src/protocol/http2/state/state_handshake.rs:9:40 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::io::{AsyncRead, AsyncWrite, AsyncWriteExt, ReadBuf}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Control` [INFO] [stdout] --> src/protocol/http2/state/state_settings.rs:7:61 [INFO] [stdout] | [INFO] [stdout] 7 | protocol::http2::{codec::Codec, control::ControlConfig, Control}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `io` [INFO] [stdout] --> src/protocol/http2/codec/error.rs:2:23 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{error, fmt, io}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `length_delimited` [INFO] [stdout] --> src/protocol/http2/codec/framed_read.rs:7:56 [INFO] [stdout] | [INFO] [stdout] 7 | use tokio_util::codec::{FramedRead as InnerFramedRead, length_delimited}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LengthDelimitedCodecError` [INFO] [stdout] --> src/protocol/http2/codec/framed_read.rs:8:47 [INFO] [stdout] | [INFO] [stdout] 8 | use tokio_util::codec::{LengthDelimitedCodec, LengthDelimitedCodecError}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HeaderIndex` [INFO] [stdout] --> src/protocol/http2/codec/framed_read.rs:10:45 [INFO] [stdout] | [INFO] [stdout] 10 | use webparse::http::http2::{frame, Decoder, HeaderIndex}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WebResult` [INFO] [stdout] --> src/protocol/http2/codec/framed_read.rs:11:35 [INFO] [stdout] | [INFO] [stdout] 11 | use webparse::{Binary, BinaryMut, WebResult, Buf}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ProtError` [INFO] [stdout] --> src/protocol/http2/codec/framed_read.rs:13:23 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::protocol::{ProtError, ProtResult}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::FramedWrite` [INFO] [stdout] --> src/protocol/http2/codec/framed_read.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use super::FramedWrite; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsyncReadExt`, `Interest`, and `Ready` [INFO] [stdout] --> src/protocol/http2/codec/mod.rs:8:48 [INFO] [stdout] | [INFO] [stdout] 8 | use std::task::{Context, Poll};use tokio::io::{Interest, Ready, AsyncReadExt}; [INFO] [stdout] | ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pin::Pin` [INFO] [stdout] --> src/protocol/http2/connection.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | pin::Pin, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures_util::future::poll_fn` [INFO] [stdout] --> src/protocol/http2/connection.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use futures_util::future::poll_fn; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Sender` and `net::TcpStream` [INFO] [stdout] --> src/protocol/http2/connection.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | net::TcpStream, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 11 | sync::mpsc::{Receiver, Sender, channel}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Frame` and `Settings` [INFO] [stdout] --> src/protocol/http2/connection.rs:14:26 [INFO] [stdout] | [INFO] [stdout] 14 | http::http2::frame::{Frame, Reason, Settings, StreamIdentifier}, [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Server` [INFO] [stdout] --> src/protocol/http2/connection.rs:20:37 [INFO] [stdout] | [INFO] [stdout] 20 | Builder, Initiator, RecvStream, Server, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FramedRead`, `FramedWrite`, `SendResponse`, and `send_response::SendControl` [INFO] [stdout] --> src/protocol/http2/connection.rs:24:20 [INFO] [stdout] | [INFO] [stdout] 24 | codec::{Codec, FramedRead, FramedWrite}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 25 | control::ControlConfig, [INFO] [stdout] 26 | send_response::SendControl, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | Control, SendResponse, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `io` [INFO] [stdout] --> src/protocol/http2/control.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | io, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `stream` [INFO] [stdout] --> src/protocol/http2/control.rs:11:27 [INFO] [stdout] | [INFO] [stdout] 11 | use futures_core::{ready, stream, Stream}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BinaryMut`, `Flag`, `Kind`, `Serialize`, and `request` [INFO] [stdout] --> src/protocol/http2/control.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | Serialize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 18 | http::{ [INFO] [stdout] 19 | http2::frame::{Flag, Frame, GoAway, Kind, Reason, Settings, StreamIdentifier}, [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] 20 | request, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 21 | }, [INFO] [stdout] 22 | Binary, BinaryMut, Request, Response, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures_core::Stream` [INFO] [stdout] --> src/protocol/http2/send_response.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use futures_core::Stream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rbtree::RBTree` [INFO] [stdout] --> src/protocol/http2/send_response.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use rbtree::RBTree; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> src/protocol/http2/send_response.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Receiver` and `channel` [INFO] [stdout] --> src/protocol/http2/send_response.rs:6:25 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio::sync::mpsc::{channel, Receiver, Sender}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Decoder`, `PriorityFrame`, `Priority`, and `Serialize` [INFO] [stdout] --> src/protocol/http2/send_response.rs:11:60 [INFO] [stdout] | [INFO] [stdout] 11 | Data, Flag, Frame, FrameHeader, Headers, Kind, Priority, PriorityFrame, [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | Decoder, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | }, [INFO] [stdout] 16 | Binary, Method, Response, Serialize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::SendStream` [INFO] [stdout] --> src/protocol/http2/send_response.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use crate::SendStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Buf` [INFO] [stdout] --> src/protocol/http2/builder.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use webparse::{Buf, http::http2::frame::Settings}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sync::Arc` [INFO] [stdout] --> src/protocol/http2/priority_queue.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{sync::Arc, task::{Context, Poll}, collections::HashMap}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Response` and `Serialize` [INFO] [stdout] --> src/protocol/http2/priority_queue.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | Binary, Serialize, Response, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BinaryMut` [INFO] [stdout] --> src/protocol/error.rs:3:62 [INFO] [stdout] | [INFO] [stdout] 3 | use webparse::{WebError, Binary, http::http2::frame::Reason, BinaryMut, Request}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `any::TypeId`, `ready`, and `time` [INFO] [stdout] --> src/protocol/recv_stream.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{io::Read, time, task::{Context, ready, Poll}, any::TypeId}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bytes::buf` [INFO] [stdout] --> src/protocol/recv_stream.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use bytes::buf; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `join` [INFO] [stdout] --> src/protocol/recv_stream.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | join, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/main.rs:135:19 [INFO] [stdout] | [INFO] [stdout] 135 | .map_err(|err| io::Error::new(io::ErrorKind::Other, ""))?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ProtError` [INFO] [stdout] --> src/protocol/recv_stream.rs:11:25 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::{ProtResult, ProtError}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BinaryMut` [INFO] [stdout] --> src/protocol/send_stream.rs:5:24 [INFO] [stdout] | [INFO] [stdout] 5 | use webparse::{Binary, BinaryMut, Serialize}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/main.rs:153:23 [INFO] [stdout] | [INFO] [stdout] 153 | .map_err(|err| io::Error::new(io::ErrorKind::Other, ""))?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:155:13 [INFO] [stdout] | [INFO] [stdout] 155 | let mut send = control.unwrap().send_response(res).await?; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `body` [INFO] [stdout] --> src/main.rs:188:17 [INFO] [stdout] | [INFO] [stdout] 188 | let body = req.body_mut(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_body` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/main.rs:211:19 [INFO] [stdout] | [INFO] [stdout] 211 | .map_err(|err| io::Error::new(io::ErrorKind::Other, ""))?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/protocol/server.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | let result = if let Some(h1) = &mut self.http1 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `recv` [INFO] [stdout] --> src/protocol/server.rs:43:21 [INFO] [stdout] | [INFO] [stdout] 43 | let recv = RecvStream::only(Binary::new()); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_recv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::SinkExt` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use futures::SinkExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/protocol/server.rs:45:21 [INFO] [stdout] | [INFO] [stdout] 45 | let mut res = res.into_type::(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/protocol/http1/io.rs:217:43 [INFO] [stdout] | [INFO] [stdout] 217 | pub async fn send_response(&mut self, mut res: Response) -> ProtResult<()> { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Xx` is never used [INFO] [stdout] --> src/main.rs:43:7 [INFO] [stdout] | [INFO] [stdout] 43 | trait Xx { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `operate1` is never used [INFO] [stdout] --> src/main.rs:180:10 [INFO] [stdout] | [INFO] [stdout] 180 | async fn operate1(mut req: Request) -> ProtResult>> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:158:17 [INFO] [stdout] | [INFO] [stdout] 158 | / sender [INFO] [stdout] 159 | | .send((false, Binary::from(format!("hello{} ", i).into_bytes()))) [INFO] [stdout] 160 | | .await; [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 158 | let _ = sender [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:163:13 [INFO] [stdout] | [INFO] [stdout] 163 | sender.send((true, Binary::from_static("world\r\n".as_bytes()))).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 163 | let _ = sender.send((true, Binary::from_static("world\r\n".as_bytes()))).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:170:13 [INFO] [stdout] | [INFO] [stdout] 170 | / sender [INFO] [stdout] 171 | | .send((false, Binary::from(format!("hello{} ", i).into_bytes()))) [INFO] [stdout] 172 | | .await; [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 170 | let _ = sender [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/protocol/http2/connection.rs:292:9 [INFO] [stdout] | [INFO] [stdout] 255 | / loop { [INFO] [stdout] 256 | | println!("sssssssssssssssssss +{:?}", self.inner.state); [INFO] [stdout] 257 | | match self.inner.state { [INFO] [stdout] 258 | | State::Open => { [INFO] [stdout] ... | [INFO] [stdout] 290 | | } [INFO] [stdout] 291 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 292 | println!("end!!!!!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Pointer` [INFO] [stdout] --> src/protocol/error.rs:1:26 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fmt::{Display, Pointer}, io}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio_stream::StreamExt` [INFO] [stdout] --> src/protocol/http2/control.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio_stream::StreamExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kind` [INFO] [stdout] --> src/protocol/http2/codec/framed_read.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | let kind = head.kind(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_kind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/protocol/http2/codec/framed_read.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | mut bytes: BytesMut, [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_frame_size` [INFO] [stdout] --> src/protocol/http2/codec/mod.rs:43:44 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn with_max_recv_frame_size(io: T, max_frame_size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_frame_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/protocol/http2/codec/mod.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | let mut inner = FramedRead::new(delimited); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cx` [INFO] [stdout] --> src/protocol/http2/connection.rs:84:35 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn pull_accept(&mut self, cx: &mut Context<'_>) -> Poll>> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/protocol/http2/control.rs:173:45 [INFO] [stdout] | [INFO] [stdout] 173 | Frame::WindowUpdate(v) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/protocol/http2/control.rs:176:38 [INFO] [stdout] | [INFO] [stdout] 176 | Frame::Reset(v) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frames` [INFO] [stdout] --> src/protocol/http2/control.rs:193:9 [INFO] [stdout] | [INFO] [stdout] 193 | frames: &Vec>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_frames` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_end_stream` [INFO] [stdout] --> src/protocol/http2/control.rs:230:13 [INFO] [stdout] | [INFO] [stdout] 230 | let is_end_stream = frame.is_end_stream(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_end_stream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/protocol/http2/inner_stream.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | let mut now_frames = self.take(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_data` [INFO] [stdout] --> src/protocol/http2/priority_queue.rs:75:21 [INFO] [stdout] | [INFO] [stdout] 75 | let is_data = first.0.frame.is_data(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/protocol/http2/priority_queue.rs:76:21 [INFO] [stdout] | [INFO] [stdout] 76 | let size = codec.send_frame(first.0.frame)?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cx` [INFO] [stdout] --> src/protocol/recv_stream.rs:183:9 [INFO] [stdout] | [INFO] [stdout] 183 | cx: &mut std::task::Context<'_>, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cx` [INFO] [stdout] --> src/protocol/send_stream.rs:56:50 [INFO] [stdout] | [INFO] [stdout] 56 | fn poll_next(self: std::pin::Pin<&mut Self>, cx: &mut std::task::Context<'_>) -> std::task::Poll> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/protocol/send_stream.rs:62:24 [INFO] [stdout] | [INFO] [stdout] 62 | fn read(&mut self, buf: &mut [u8]) -> std::io::Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buffer` [INFO] [stdout] --> src/protocol/send_stream.rs:68:82 [INFO] [stdout] | [INFO] [stdout] 68 | fn serialize(&mut self, buffer: &mut B) -> webparse::WebResult { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `builder` and `span` are never read [INFO] [stdout] --> src/protocol/http2/state/state_handshake.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct StateHandshake { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 13 | /// 默认参数 [INFO] [stdout] 14 | builder: Builder, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | span: tracing::Span, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Connection` is never constructed [INFO] [stdout] --> src/protocol/http2/codec/error.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum SendError { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] 9 | Connection(ProtError), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SendError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/protocol/http2/codec/error.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum UserError { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 16 | /// The stream ID is no longer accepting frames. [INFO] [stdout] 17 | InactiveStreamId, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | UnexpectedFrameType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | PayloadTooBig, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | Rejected, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | ReleaseCapacityTooBig, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | OverflowedStreamId, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | MalformedHeaders, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | MissingUriSchemeAndAuthority, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | PollResetAfterSendResponse, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | SendPingWhilePending, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | SendSettingsWhilePending, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | PeerDisabledServerPush, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UserError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `frame` and `buf` are never read [INFO] [stdout] --> src/protocol/http2/codec/framed_read.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 30 | struct Partial { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 31 | /// Empty frame [INFO] [stdout] 32 | frame: Continuable, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | buf: BinaryMut, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Partial` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Headers` and `PushPromise` are never constructed [INFO] [stdout] --> src/protocol/http2/codec/framed_read.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 39 | enum Continuable { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 40 | Headers(frame::Headers), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 41 | PushPromise(frame::PushPromise), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Continuable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/protocol/http2/inner_stream.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct InnerStream { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 17 | id: StreamIdentifier, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `window_size` is never read [INFO] [stdout] --> src/protocol/http2/flow_control.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct FlowControl { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 5 | window_size: i32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FlowControl` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/protocol/http2/control.rs:235:13 [INFO] [stdout] | [INFO] [stdout] 235 | self.recv_frames.get_mut(&stream_id).unwrap().push(frame); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 235 | let _ = self.recv_frames.get_mut(&stream_id).unwrap().push(frame); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 77 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.11s [INFO] running `Command { std: "docker" "inspect" "8531132168c30220b855df38ff55cb673aee7803698b061967b7858e14934de9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8531132168c30220b855df38ff55cb673aee7803698b061967b7858e14934de9", kill_on_drop: false }` [INFO] [stdout] 8531132168c30220b855df38ff55cb673aee7803698b061967b7858e14934de9