[INFO] cloning repository https://github.com/povilasb/http-proxy
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/povilasb/http-proxy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpovilasb%2Fhttp-proxy", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpovilasb%2Fhttp-proxy'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 200b2f07fb0ae0742f07c5b68c2b8d6905ef7ba2
[INFO] checking povilasb/http-proxy against master#818811b3cd1e0ff0d8ef20d5a4cf0b7c079929bc for pr-156114-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpovilasb%2Fhttp-proxy" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/povilasb/http-proxy
[INFO] finished tweaking git repo https://github.com/povilasb/http-proxy
[INFO] tweaked toml for git repo https://github.com/povilasb/http-proxy written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/povilasb/http-proxy on toolchain 818811b3cd1e0ff0d8ef20d5a4cf0b7c079929bc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+818811b3cd1e0ff0d8ef20d5a4cf0b7c079929bc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/povilasb/http-proxy 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" "+818811b3cd1e0ff0d8ef20d5a4cf0b7c079929bc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unwrap v1.2.1
[INFO] [stderr]   Downloaded simple_logger v1.6.0
[INFO] [stderr]   Downloaded cfg-if v0.1.10
[INFO] [stderr]   Downloaded log v0.4.8
[INFO] [stderr]   Downloaded fnv v1.0.6
[INFO] [stderr]   Downloaded unicode-xid v0.2.0
[INFO] [stderr]   Downloaded hermit-abi v0.1.6
[INFO] [stderr]   Downloaded autocfg v0.1.7
[INFO] [stderr]   Downloaded pin-utils v0.1.0-alpha.4
[INFO] [stderr]   Downloaded futures-core v0.3.4
[INFO] [stderr]   Downloaded err-derive v0.2.4
[INFO] [stderr]   Downloaded num_cpus v1.11.1
[INFO] [stderr]   Downloaded proc-macro-nested v0.1.4
[INFO] [stderr]   Downloaded proc-macro-hack v0.5.15
[INFO] [stderr]   Downloaded mio-uds v0.6.7
[INFO] [stderr]   Downloaded futures-task v0.3.4
[INFO] [stderr]   Downloaded futures-sink v0.3.4
[INFO] [stderr]   Downloaded slab v0.4.2
[INFO] [stderr]   Downloaded rustversion v1.0.2
[INFO] [stderr]   Downloaded version_check v0.9.1
[INFO] [stderr]   Downloaded scopeguard v1.0.0
[INFO] [stderr]   Downloaded memoffset v0.5.3
[INFO] [stderr]   Downloaded broadcaster v1.0.0
[INFO] [stderr]   Downloaded quote v1.0.2
[INFO] [stderr]   Downloaded futures-io v0.3.4
[INFO] [stderr]   Downloaded futures-channel v0.3.4
[INFO] [stderr]   Downloaded futures-timer v2.0.2
[INFO] [stderr]   Downloaded smallvec v1.4.0
[INFO] [stderr]   Downloaded colored v1.9.3
[INFO] [stderr]   Downloaded ws2_32-sys v0.2.1
[INFO] [stderr]   Downloaded itoa v0.4.4
[INFO] [stderr]   Downloaded futures-macro v0.3.4
[INFO] [stderr]   Downloaded proc-macro-error-attr v1.0.2
[INFO] [stderr]   Downloaded iovec v0.1.4
[INFO] [stderr]   Downloaded async-attributes v1.1.1
[INFO] [stderr]   Downloaded redox_syscall v0.1.56
[INFO] [stderr]   Downloaded autocfg v1.0.0
[INFO] [stderr]   Downloaded proc-macro-error v1.0.2
[INFO] [stderr]   Downloaded pin-project-lite v0.1.4
[INFO] [stderr]   Downloaded net2 v0.2.33
[INFO] [stderr]   Downloaded crossbeam-deque v0.7.2
[INFO] [stderr]   Downloaded time v0.1.42
[INFO] [stderr]   Downloaded num-integer v0.1.42
[INFO] [stderr]   Downloaded memchr v2.3.3
[INFO] [stderr]   Downloaded proc-macro2 v1.0.7
[INFO] [stderr]   Downloaded futures-executor v0.3.4
[INFO] [stderr]   Downloaded synstructure v0.12.3
[INFO] [stderr]   Downloaded syn-mid v0.5.0
[INFO] [stderr]   Downloaded once_cell v1.2.0
[INFO] [stderr]   Downloaded lock_api v0.3.4
[INFO] [stderr]   Downloaded async-task v1.3.1
[INFO] [stderr]   Downloaded num-traits v0.2.11
[INFO] [stderr]   Downloaded httparse v1.3.4
[INFO] [stderr]   Downloaded kv-log-macro v1.0.4
[INFO] [stderr]   Downloaded crossbeam-utils v0.7.0
[INFO] [stderr]   Downloaded crossbeam-epoch v0.8.0
[INFO] [stderr]   Downloaded parking_lot_core v0.7.2
[INFO] [stderr]   Downloaded futures v0.3.4
[INFO] [stderr]   Downloaded bytes v0.5.4
[INFO] [stderr]   Downloaded miow v0.2.1
[INFO] [stderr]   Downloaded parking_lot v0.10.2
[INFO] [stderr]   Downloaded crossbeam-channel v0.4.0
[INFO] [stderr]   Downloaded http v0.2.0
[INFO] [stderr]   Downloaded chrono v0.4.11
[INFO] [stderr]   Downloaded mio v0.6.21
[INFO] [stderr]   Downloaded futures-util v0.3.4
[INFO] [stderr]   Downloaded syn v1.0.13
[INFO] [stderr]   Downloaded async-std v1.5.0
[INFO] [stderr]   Downloaded libc v0.2.66
[INFO] [stderr]   Downloaded winapi v0.3.8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+818811b3cd1e0ff0d8ef20d5a4cf0b7c079929bc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 725f9ed49d1adfdb21dcea3c3e91d9663f3a9245415241967b13f390088aceab
[INFO] running `Command { std: "docker" "start" "-a" "725f9ed49d1adfdb21dcea3c3e91d9663f3a9245415241967b13f390088aceab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "725f9ed49d1adfdb21dcea3c3e91d9663f3a9245415241967b13f390088aceab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "725f9ed49d1adfdb21dcea3c3e91d9663f3a9245415241967b13f390088aceab", kill_on_drop: false }`
[INFO] [stdout] 725f9ed49d1adfdb21dcea3c3e91d9663f3a9245415241967b13f390088aceab
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+818811b3cd1e0ff0d8ef20d5a4cf0b7c079929bc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 791a67db0169fa3356a7149eb1983906524ac6f4a022bf22a597eaf48992ae75
[INFO] running `Command { std: "docker" "start" "-a" "791a67db0169fa3356a7149eb1983906524ac6f4a022bf22a597eaf48992ae75", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.7
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.13
[INFO] [stderr]    Compiling libc v0.2.66
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]    Compiling proc-macro-nested v0.1.4
[INFO] [stderr]    Compiling version_check v0.9.1
[INFO] [stderr]    Compiling crossbeam-utils v0.7.0
[INFO] [stderr]     Checking futures-sink v0.3.4
[INFO] [stderr]     Checking scopeguard v1.0.0
[INFO] [stderr]     Checking futures-core v0.3.4
[INFO] [stderr]    Compiling proc-macro-hack v0.5.15
[INFO] [stderr]     Checking futures-channel v0.3.4
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]     Checking pin-utils v0.1.0-alpha.4
[INFO] [stderr]     Checking futures-task v0.3.4
[INFO] [stderr]    Compiling memoffset v0.5.3
[INFO] [stderr]     Checking futures-io v0.3.4
[INFO] [stderr]    Compiling rustversion v1.0.2
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.2
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.0
[INFO] [stderr]     Checking smallvec v1.4.0
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling proc-macro-error v1.0.2
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]     Checking parking_lot_core v0.7.2
[INFO] [stderr]     Checking mio v0.6.21
[INFO] [stderr]     Checking time v0.1.42
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling httparse v1.3.4
[INFO] [stderr]     Checking parking_lot v0.10.2
[INFO] [stderr]     Checking colored v1.9.3
[INFO] [stderr]     Checking crossbeam-channel v0.4.0
[INFO] [stderr]     Checking kv-log-macro v1.0.4
[INFO] [stderr]     Checking async-task v1.3.1
[INFO] [stderr]     Checking num_cpus v1.11.1
[INFO] [stderr]     Checking futures-timer v2.0.2
[INFO] [stderr]     Checking fnv v1.0.6
[INFO] [stderr]     Checking crossbeam-deque v0.7.2
[INFO] [stderr]     Checking pin-project-lite v0.1.4
[INFO] [stderr]     Checking bytes v0.5.4
[INFO] [stderr]     Checking chrono v0.4.11
[INFO] [stderr]     Checking once_cell v1.2.0
[INFO] [stderr]     Checking itoa v0.4.4
[INFO] [stderr]     Checking unwrap v1.2.1
[INFO] [stderr]     Checking mio-uds v0.6.7
[INFO] [stderr]     Checking http v0.2.0
[INFO] [stderr]     Checking simple_logger v1.6.0
[INFO] [stderr]    Compiling syn-mid v0.5.0
[INFO] [stderr]    Compiling synstructure v0.12.3
[INFO] [stderr]    Compiling futures-macro v0.3.4
[INFO] [stderr]    Compiling async-attributes v1.1.1
[INFO] [stderr]    Compiling err-derive v0.2.4
[INFO] [stderr]     Checking futures-util v0.3.4
[INFO] [stderr]     Checking broadcaster v1.0.0
[INFO] [stderr]     Checking futures-executor v0.3.4
[INFO] [stderr]     Checking futures v0.3.4
[INFO] [stderr]     Checking async-std v1.5.0
[INFO] [stderr]     Checking http-proxy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: type `io::Error` is more private than the item `handle_connection`
[INFO] [stdout]    --> src/io.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub async fn handle_connection(mut client_conn: TcpStream) -> Result<(), Error> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `handle_connection` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `io::Error` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/io.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | enum Error {
[INFO] [stdout]     | ^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Session` is never used
[INFO] [stdout]   --> src/proxy.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Session {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `waiting_request` and `on_data` are never used
[INFO] [stdout]   --> src/proxy.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Session {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 24 |     pub fn waiting_request() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn on_data(self, data: &[u8]) -> Session {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Failed` is never constructed
[INFO] [stdout]   --> src/proxy.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct Failed;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WaitingRequest` is never constructed
[INFO] [stdout]   --> src/proxy.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct WaitingRequest;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `on_data` is never used
[INFO] [stdout]   --> src/proxy.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl WaitingRequest {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] 45 |     pub fn on_data(self, data: &[u8]) -> Session {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OnConnectRequest` is never constructed
[INFO] [stdout]   --> src/proxy.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct OnConnectRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `on_connected` is never used
[INFO] [stdout]   --> src/proxy.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl OnConnectRequest {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] 76 |     pub fn on_connected(self, conn: TcpStream) -> ConnectTunnel {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConnectTunnel` is never constructed
[INFO] [stdout]   --> src/proxy.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct ConnectTunnel {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/io.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Debug, Error)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Error` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_std_error_Error_FOR_Error`
[INFO] [stdout] 21 | enum Error {
[INFO] [stdout]    |      ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Error` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/io.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Debug, Error)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_core_fmt_Display_FOR_Error`
[INFO] [stdout] 21 | enum Error {
[INFO] [stdout]    |      ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Error` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/io.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Debug, Error)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `From` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_core_convert_From_io_Error_FOR_Error`
[INFO] [stdout] 21 | enum Error {
[INFO] [stdout]    |      ----- `Error` is not local
[INFO] [stdout] 22 |     #[error(display = "I/O error")]
[INFO] [stdout] 23 |     Io(#[source] io::Error),
[INFO] [stdout]    |                  --------- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Error` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `io::Error` is more private than the item `handle_connection`
[INFO] [stdout]    --> src/io.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub async fn handle_connection(mut client_conn: TcpStream) -> Result<(), Error> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `handle_connection` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `io::Error` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/io.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | enum Error {
[INFO] [stdout]     | ^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Session` is never used
[INFO] [stdout]   --> src/proxy.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Session {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `waiting_request` and `on_data` are never used
[INFO] [stdout]   --> src/proxy.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Session {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 24 |     pub fn waiting_request() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn on_data(self, data: &[u8]) -> Session {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Failed` is never constructed
[INFO] [stdout]   --> src/proxy.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct Failed;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WaitingRequest` is never constructed
[INFO] [stdout]   --> src/proxy.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct WaitingRequest;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `on_data` is never used
[INFO] [stdout]   --> src/proxy.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl WaitingRequest {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] 45 |     pub fn on_data(self, data: &[u8]) -> Session {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OnConnectRequest` is never constructed
[INFO] [stdout]   --> src/proxy.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct OnConnectRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `on_connected` is never used
[INFO] [stdout]   --> src/proxy.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl OnConnectRequest {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] 76 |     pub fn on_connected(self, conn: TcpStream) -> ConnectTunnel {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConnectTunnel` is never constructed
[INFO] [stdout]   --> src/proxy.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct ConnectTunnel {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/io.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Debug, Error)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Error` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_std_error_Error_FOR_Error`
[INFO] [stdout] 21 | enum Error {
[INFO] [stdout]    |      ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Error` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/io.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Debug, Error)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_core_fmt_Display_FOR_Error`
[INFO] [stdout] 21 | enum Error {
[INFO] [stdout]    |      ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Error` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/io.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Debug, Error)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `From` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_core_convert_From_io_Error_FOR_Error`
[INFO] [stdout] 21 | enum Error {
[INFO] [stdout]    |      ----- `Error` is not local
[INFO] [stdout] 22 |     #[error(display = "I/O error")]
[INFO] [stdout] 23 |     Io(#[source] io::Error),
[INFO] [stdout]    |                  --------- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Error` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Error` may come from an old version of the `err_derive` crate, try updating your dependency with `cargo update -p err_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 26.81s
[INFO] running `Command { std: "docker" "inspect" "791a67db0169fa3356a7149eb1983906524ac6f4a022bf22a597eaf48992ae75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "791a67db0169fa3356a7149eb1983906524ac6f4a022bf22a597eaf48992ae75", kill_on_drop: false }`
[INFO] [stdout] 791a67db0169fa3356a7149eb1983906524ac6f4a022bf22a597eaf48992ae75
