[INFO] cloning repository https://github.com/aplugeek/stopless
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aplugeek/stopless" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faplugeek%2Fstopless", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faplugeek%2Fstopless'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 39f36c7143ec18b8054ddced7bba50c2b0bde538
[INFO] checking aplugeek/stopless against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faplugeek%2Fstopless" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/aplugeek/stopless
[INFO] finished tweaking git repo https://github.com/aplugeek/stopless
[INFO] tweaked toml for git repo https://github.com/aplugeek/stopless written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/aplugeek/stopless on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/aplugeek/stopless 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded httparse v1.3.5
[INFO] [stderr]   Downloaded futures-io v0.3.13
[INFO] [stderr]   Downloaded futures-macro v0.3.13
[INFO] [stderr]   Downloaded futures-task v0.3.13
[INFO] [stderr]   Downloaded futures-sink v0.3.13
[INFO] [stderr]   Downloaded pin-project-internal v1.0.5
[INFO] [stderr]   Downloaded futures v0.3.13
[INFO] [stderr]   Downloaded futures-core v0.3.13
[INFO] [stderr]   Downloaded env_logger v0.8.3
[INFO] [stderr]   Downloaded futures-channel v0.3.13
[INFO] [stderr]   Downloaded pin-project v1.0.5
[INFO] [stderr]   Downloaded futures-executor v0.3.13
[INFO] [stderr]   Downloaded hyper v0.14.4
[INFO] [stderr]   Downloaded futures-util v0.3.13
[INFO] [stderr]   Downloaded mio v0.7.9
[INFO] [stderr]   Downloaded syn v1.0.63
[INFO] [stderr]   Downloaded tokio v1.3.0
[INFO] [stderr]   Downloaded libc v0.2.88
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d2a5b10a6787daf7ec9a575437ee614238c21157c22a2537a8140b0d3cd76c57
[INFO] running `Command { std: "docker" "start" "-a" "d2a5b10a6787daf7ec9a575437ee614238c21157c22a2537a8140b0d3cd76c57", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d2a5b10a6787daf7ec9a575437ee614238c21157c22a2537a8140b0d3cd76c57", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d2a5b10a6787daf7ec9a575437ee614238c21157c22a2537a8140b0d3cd76c57", kill_on_drop: false }`
[INFO] [stdout] d2a5b10a6787daf7ec9a575437ee614238c21157c22a2537a8140b0d3cd76c57
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5614e28978e05d447dec6de68a7172454983e60e720fc4c1ce98102640a7afe1
[INFO] running `Command { std: "docker" "start" "-a" "5614e28978e05d447dec6de68a7172454983e60e720fc4c1ce98102640a7afe1", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling libc v0.2.88
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.63
[INFO] [stderr]     Checking pin-project-lite v0.2.6
[INFO] [stderr]     Checking futures-core v0.3.13
[INFO] [stderr]     Checking futures-sink v0.3.13
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking futures-task v0.3.13
[INFO] [stderr]     Checking futures-io v0.3.13
[INFO] [stderr]     Checking lock_api v0.4.2
[INFO] [stderr]    Compiling tokio v1.3.0
[INFO] [stderr]     Checking regex-syntax v0.6.23
[INFO] [stderr]     Checking once_cell v1.7.2
[INFO] [stderr]    Compiling httparse v1.3.5
[INFO] [stderr]     Checking http v0.2.3
[INFO] [stderr]     Checking tracing-core v0.1.17
[INFO] [stderr]    Compiling async-trait v0.1.48
[INFO] [stderr]     Checking httpdate v0.3.2
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking futures-channel v0.3.13
[INFO] [stderr]     Checking tracing v0.1.25
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]     Checking regex v1.4.5
[INFO] [stderr]     Checking parking_lot_core v0.8.3
[INFO] [stderr]     Checking mio v0.7.9
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking signal-hook-registry v1.3.0
[INFO] [stderr]     Checking socket2 v0.3.19
[INFO] [stderr]     Checking nix v0.20.0
[INFO] [stderr]     Checking env_logger v0.8.3
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking parking_lot v0.11.1
[INFO] [stderr]     Checking http-body v0.4.0
[INFO] [stderr]    Compiling futures-macro v0.3.13
[INFO] [stderr]    Compiling tokio-macros v1.1.0
[INFO] [stderr]    Compiling pin-project-internal v1.0.5
[INFO] [stderr]     Checking futures-util v0.3.13
[INFO] [stderr]     Checking pin-project v1.0.5
[INFO] [stderr]     Checking futures-executor v0.3.13
[INFO] [stderr]     Checking futures v0.3.13
[INFO] [stderr]     Checking hyper v0.14.4
[INFO] [stderr]     Checking loci v0.1.0 (/opt/rustwide/workdir/loci)
[INFO] [stdout] warning: unused import: `dup_fd`
[INFO] [stdout]  --> loci/src/main.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::bootor::{dup_fd, Boot, Bootor, Context};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::io::Duplex`
[INFO] [stdout]  --> loci/src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::io::Duplex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arg`
[INFO] [stdout]  --> loci/src/main.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use clap::{App, Arg, ArgMatches};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::FutureExt`
[INFO] [stdout]  --> loci/src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::FutureExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RawFd`
[INFO] [stdout]  --> loci/src/main.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::os::unix::io::{AsRawFd, RawFd};
[INFO] [stdout]   |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::io::Duplex`
[INFO] [stdout]  --> loci/src/bootor.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::io::Duplex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]  --> loci/src/bootor.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::io::FromRawFd`
[INFO] [stdout]  --> loci/src/bootor.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::os::unix::io::FromRawFd;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsRawFd`
[INFO] [stdout]  --> loci/src/bootor.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::unix::io::{AsRawFd, RawFd};
[INFO] [stdout]   |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicBool`, `AtomicUsize`, and `Ordering`
[INFO] [stdout]  --> loci/src/bootor.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering};
[INFO] [stdout]   |                         ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> loci/src/bootor.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::DuplexStream`
[INFO] [stdout]   --> loci/src/bootor.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::io::DuplexStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TcpListener` and `TcpStream`
[INFO] [stdout]   --> loci/src/bootor.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stdout]    |                  ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel`
[INFO] [stdout]   --> loci/src/bootor.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::Duration`
[INFO] [stdout]   --> loci/src/bootor.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::task::Context`
[INFO] [stdout]  --> loci/src/io.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures::task::Context;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FutureExt` and `TryFutureExt`
[INFO] [stdout]  --> loci/src/io.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use futures::{FutureExt, TryFutureExt};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Future`, `Pin`, and `Poll`
[INFO] [stdout]  --> loci/src/io.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::macros::support::{Future, Pin, Poll};
[INFO] [stdout]   |                              ^^^^^^  ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpStream`
[INFO] [stdout]  --> loci/src/io.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::net::TcpStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dup_fd`
[INFO] [stdout]  --> loci/src/main.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::bootor::{dup_fd, Boot, Bootor, Context};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::io::Duplex`
[INFO] [stdout]  --> loci/src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::io::Duplex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arg`
[INFO] [stdout]  --> loci/src/main.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use clap::{App, Arg, ArgMatches};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::FutureExt`
[INFO] [stdout]  --> loci/src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::FutureExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RawFd`
[INFO] [stdout]  --> loci/src/main.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::os::unix::io::{AsRawFd, RawFd};
[INFO] [stdout]   |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::io::Duplex`
[INFO] [stdout]  --> loci/src/bootor.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::io::Duplex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]  --> loci/src/bootor.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::io::FromRawFd`
[INFO] [stdout]  --> loci/src/bootor.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::os::unix::io::FromRawFd;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsRawFd`
[INFO] [stdout]  --> loci/src/bootor.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::unix::io::{AsRawFd, RawFd};
[INFO] [stdout]   |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicBool`, `AtomicUsize`, and `Ordering`
[INFO] [stdout]  --> loci/src/bootor.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering};
[INFO] [stdout]   |                         ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> loci/src/bootor.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::DuplexStream`
[INFO] [stdout]   --> loci/src/bootor.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::io::DuplexStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TcpListener` and `TcpStream`
[INFO] [stdout]   --> loci/src/bootor.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stdout]    |                  ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel`
[INFO] [stdout]   --> loci/src/bootor.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::Duration`
[INFO] [stdout]   --> loci/src/bootor.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::task::Context`
[INFO] [stdout]  --> loci/src/io.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures::task::Context;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FutureExt` and `TryFutureExt`
[INFO] [stdout]  --> loci/src/io.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use futures::{FutureExt, TryFutureExt};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Future`, `Pin`, and `Poll`
[INFO] [stdout]  --> loci/src/io.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::macros::support::{Future, Pin, Poll};
[INFO] [stdout]   |                              ^^^^^^  ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpStream`
[INFO] [stdout]  --> loci/src/io.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::net::TcpStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> loci/src/main.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut listener = TcpListener::bind(ctx.bootor.addr.as_str()).await.unwrap();
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> loci/src/main.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let (tx, mut rx) = channel::<()>(1);
[INFO] [stdout]    |              ----^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Duplex` is never constructed
[INFO] [stdout]  --> loci/src/io.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Duplex<I, O>
[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 `new` and `start` are never used
[INFO] [stdout]   --> loci/src/io.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | / impl<I, O> Duplex<I, O>
[INFO] [stdout] 26 | | where
[INFO] [stdout] 27 | |     I: AsyncRead + AsyncWrite + Unpin,
[INFO] [stdout] 28 | |     O: AsyncRead + AsyncWrite + Unpin,
[INFO] [stdout]    | |______________________________________- associated items in this implementation
[INFO] [stdout] 29 |   {
[INFO] [stdout] 30 |       pub fn new(input: I, output: O) -> Self {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |       pub async fn start(&mut self) {
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> loci/src/bootor.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |             sender.send(()).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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |             let _ = sender.send(()).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> loci/src/bootor.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     nix::sys::select::select(None, Some(&mut fd_set), None, None, None);
[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] 93 |     let _ = nix::sys::select::select(None, Some(&mut fd_set), None, None, None);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` in tuple element 0 that must be used
[INFO] [stdout]   --> loci/src/io.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         join!(sink, stream);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` in tuple element 1 that must be used
[INFO] [stdout]   --> loci/src/io.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         join!(sink, stream);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> loci/src/main.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut listener = TcpListener::bind(ctx.bootor.addr.as_str()).await.unwrap();
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> loci/src/main.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let (tx, mut rx) = channel::<()>(1);
[INFO] [stdout]    |              ----^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Duplex` is never constructed
[INFO] [stdout]  --> loci/src/io.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Duplex<I, O>
[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 `new` and `start` are never used
[INFO] [stdout]   --> loci/src/io.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | / impl<I, O> Duplex<I, O>
[INFO] [stdout] 26 | | where
[INFO] [stdout] 27 | |     I: AsyncRead + AsyncWrite + Unpin,
[INFO] [stdout] 28 | |     O: AsyncRead + AsyncWrite + Unpin,
[INFO] [stdout]    | |______________________________________- associated items in this implementation
[INFO] [stdout] 29 |   {
[INFO] [stdout] 30 |       pub fn new(input: I, output: O) -> Self {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |       pub async fn start(&mut self) {
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> loci/src/bootor.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |             sender.send(()).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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |             let _ = sender.send(()).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> loci/src/bootor.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     nix::sys::select::select(None, Some(&mut fd_set), None, None, None);
[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] 93 |     let _ = nix::sys::select::select(None, Some(&mut fd_set), None, None, None);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` in tuple element 0 that must be used
[INFO] [stdout]   --> loci/src/io.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         join!(sink, stream);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` in tuple element 1 that must be used
[INFO] [stdout]   --> loci/src/io.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         join!(sink, stream);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking server v0.1.0 (/opt/rustwide/workdir/server)
[INFO] [stdout] warning: unused import: `select`
[INFO] [stdout]  --> server/src/main.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures::{join, select};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> server/src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpListener`
[INFO] [stdout]   --> server/src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::net::TcpListener;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::io::RawFd`
[INFO] [stdout]  --> server/src/timer.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::os::unix::io::RawFd;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AtomicUsize`
[INFO] [stdout]  --> server/src/timer.rs:2:36
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::atomic::{AtomicI64, AtomicUsize, Ordering};
[INFO] [stdout]   |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> server/src/timer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Instant` and `Sleep`
[INFO] [stdout]  --> server/src/timer.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::time::{sleep, Duration, Instant, Sleep};
[INFO] [stdout]   |                                    ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `select`
[INFO] [stdout]  --> server/src/main.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures::{join, select};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> server/src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpListener`
[INFO] [stdout]   --> server/src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::net::TcpListener;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::io::RawFd`
[INFO] [stdout]  --> server/src/timer.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::os::unix::io::RawFd;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AtomicUsize`
[INFO] [stdout]  --> server/src/timer.rs:2:36
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::atomic::{AtomicI64, AtomicUsize, Ordering};
[INFO] [stdout]   |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> server/src/timer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Instant` and `Sleep`
[INFO] [stdout]  --> server/src/timer.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::time::{sleep, Duration, Instant, Sleep};
[INFO] [stdout]   |                                    ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> server/src/main.rs:29:52
[INFO] [stdout]    |
[INFO] [stdout] 29 |             Ok::<_, hyper::Error>(service_fn(move |req: Request<Body>| async move {
[INFO] [stdout]    |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> server/src/main.rs:29:52
[INFO] [stdout]    |
[INFO] [stdout] 29 |             Ok::<_, hyper::Error>(service_fn(move |req: Request<Body>| async move {
[INFO] [stdout]    |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `idle` is never read
[INFO] [stdout]  --> server/src/timer.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ExitTimer {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] 8 |     pub idle: usize,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `idle` is never read
[INFO] [stdout]  --> server/src/timer.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ExitTimer {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] 8 |     pub idle: usize,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` in tuple element 1 that must be used
[INFO] [stdout]   --> server/src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     join!(timer, server);
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> server/src/timer.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 self.sender.send(()).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] 27 |                 let _ = self.sender.send(()).await;
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` in tuple element 1 that must be used
[INFO] [stdout]   --> server/src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     join!(timer, server);
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> server/src/timer.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 self.sender.send(()).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] 27 |                 let _ = self.sender.send(()).await;
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.72s
[INFO] running `Command { std: "docker" "inspect" "5614e28978e05d447dec6de68a7172454983e60e720fc4c1ce98102640a7afe1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5614e28978e05d447dec6de68a7172454983e60e720fc4c1ce98102640a7afe1", kill_on_drop: false }`
[INFO] [stdout] 5614e28978e05d447dec6de68a7172454983e60e720fc4c1ce98102640a7afe1
