[INFO] cloning repository https://github.com/jelipo/io
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jelipo/io" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjelipo%2Fio", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjelipo%2Fio'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ae5bba464c791687c259ee49bb7b9fc638b8a5bd
[INFO] testing jelipo/io against 1.95.0 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjelipo%2Fio" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jelipo/io
[INFO] finished tweaking git repo https://github.com/jelipo/io
[INFO] tweaked toml for git repo https://github.com/jelipo/io written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jelipo/io on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jelipo/io 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bitflags v2.5.0
[INFO] [stderr]   Downloaded anyhow v1.0.83
[INFO] [stderr]   Downloaded io-uring v0.6.4
[INFO] [stderr]   Downloaded nix v0.28.0
[INFO] [stderr]   Downloaded libc v0.2.154
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4f57fa461813234c2be4491775019c2a8ba1293553c38596e477d0bee2ccc1a6
[INFO] running `Command { std: "docker" "start" "-a" "4f57fa461813234c2be4491775019c2a8ba1293553c38596e477d0bee2ccc1a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4f57fa461813234c2be4491775019c2a8ba1293553c38596e477d0bee2ccc1a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4f57fa461813234c2be4491775019c2a8ba1293553c38596e477d0bee2ccc1a6", kill_on_drop: false }`
[INFO] [stdout] 4f57fa461813234c2be4491775019c2a8ba1293553c38596e477d0bee2ccc1a6
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 480d725fbdd5dace4b339be6e65d852f38897d5ba0a8c9282ff4f907dbbfb9da
[INFO] running `Command { std: "docker" "start" "-a" "480d725fbdd5dace4b339be6e65d852f38897d5ba0a8c9282ff4f907dbbfb9da", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.154
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]    Compiling io-uring v0.6.4
[INFO] [stderr]    Compiling anyhow v1.0.83
[INFO] [stderr]    Compiling bitflags v2.5.0
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling nix v0.28.0
[INFO] [stderr]    Compiling io v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::aio::my_aio`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::aio::my_aio;
[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::epoll::my_epoll`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::epoll::my_epoll;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]   --> src/aio.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 |     while (aior.as_mut().error() == Err(Errno::EINPROGRESS)) {
[INFO] [stdout]    |           ^                                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 24 -     while (aior.as_mut().error() == Err(Errno::EINPROGRESS)) {
[INFO] [stdout] 24 +     while aior.as_mut().error() == Err(Errno::EINPROGRESS)  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/io_uring.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error` and `anyhow`
[INFO] [stdout]  --> src/io_uring.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use anyhow::{anyhow, Error, Result};
[INFO] [stdout]   |              ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/epoll.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | /     loop {
[INFO] [stdout] 29 | |
[INFO] [stdout] 30 | |         // 这里的sleep，假装自己去处理别的数据了，不阻塞等着网络
[INFO] [stdout] 31 | |         sleep(Duration::from_secs(1));
[INFO] [stdout] ...  |
[INFO] [stdout] 58 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 59 |
[INFO] [stdout] 60 |       Ok(())
[INFO] [stdout]    |       ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/poll.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let (mut stream, _) = listener.accept()?;
[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]   --> src/epoll.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let (mut stream, _) = listener.accept()?;
[INFO] [stdout]    |          ----^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/epoll.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut event = EpollEvent::new(EpollFlags::EPOLLIN, fd.as_raw_fd() as u64);
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/io_uring.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let (mut stream, _) = listener.accept()?;
[INFO] [stdout]    |          ----^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]   --> src/io_uring.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 let stream = unsafe { TcpStream::from_raw_fd(fd) };
[INFO] [stdout]    |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `my_poll` is never used
[INFO] [stdout]   --> src/poll.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn my_poll(addr: &str) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `my_aio` is never used
[INFO] [stdout]   --> src/aio.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn my_aio() -> Result<()> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `my_epoll` is never used
[INFO] [stdout]  --> src/epoll.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn my_epoll(addr: &str) -> Result<()> {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.60s
[INFO] running `Command { std: "docker" "inspect" "480d725fbdd5dace4b339be6e65d852f38897d5ba0a8c9282ff4f907dbbfb9da", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "480d725fbdd5dace4b339be6e65d852f38897d5ba0a8c9282ff4f907dbbfb9da", kill_on_drop: false }`
[INFO] [stdout] 480d725fbdd5dace4b339be6e65d852f38897d5ba0a8c9282ff4f907dbbfb9da
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e0ded8348ddcf9635b3111b3e4136c2f7be24ed388113344e4e9e1018dfd6c1a
[INFO] running `Command { std: "docker" "start" "-a" "e0ded8348ddcf9635b3111b3e4136c2f7be24ed388113344e4e9e1018dfd6c1a", kill_on_drop: false }`
[INFO] [stderr]    Compiling io v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::aio::my_aio`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::aio::my_aio;
[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::epoll::my_epoll`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::epoll::my_epoll;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]   --> src/aio.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 |     while (aior.as_mut().error() == Err(Errno::EINPROGRESS)) {
[INFO] [stdout]    |           ^                                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 24 -     while (aior.as_mut().error() == Err(Errno::EINPROGRESS)) {
[INFO] [stdout] 24 +     while aior.as_mut().error() == Err(Errno::EINPROGRESS)  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/io_uring.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error` and `anyhow`
[INFO] [stdout]  --> src/io_uring.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use anyhow::{anyhow, Error, Result};
[INFO] [stdout]   |              ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/epoll.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | /     loop {
[INFO] [stdout] 29 | |
[INFO] [stdout] 30 | |         // 这里的sleep，假装自己去处理别的数据了，不阻塞等着网络
[INFO] [stdout] 31 | |         sleep(Duration::from_secs(1));
[INFO] [stdout] ...  |
[INFO] [stdout] 58 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 59 |
[INFO] [stdout] 60 |       Ok(())
[INFO] [stdout]    |       ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/poll.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let (mut stream, _) = listener.accept()?;
[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]   --> src/epoll.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let (mut stream, _) = listener.accept()?;
[INFO] [stdout]    |          ----^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/epoll.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut event = EpollEvent::new(EpollFlags::EPOLLIN, fd.as_raw_fd() as u64);
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/io_uring.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let (mut stream, _) = listener.accept()?;
[INFO] [stdout]    |          ----^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]   --> src/io_uring.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 let stream = unsafe { TcpStream::from_raw_fd(fd) };
[INFO] [stdout]    |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `my_poll` is never used
[INFO] [stdout]   --> src/poll.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn my_poll(addr: &str) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `my_aio` is never used
[INFO] [stdout]   --> src/aio.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn my_aio() -> Result<()> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `my_epoll` is never used
[INFO] [stdout]  --> src/epoll.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn my_epoll(addr: &str) -> Result<()> {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.43s
[INFO] running `Command { std: "docker" "inspect" "e0ded8348ddcf9635b3111b3e4136c2f7be24ed388113344e4e9e1018dfd6c1a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e0ded8348ddcf9635b3111b3e4136c2f7be24ed388113344e4e9e1018dfd6c1a", kill_on_drop: false }`
[INFO] [stdout] e0ded8348ddcf9635b3111b3e4136c2f7be24ed388113344e4e9e1018dfd6c1a
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ac8b82ef02829843adb566b80a845147a1c7317200647fd6885a6812a605e7ab
[INFO] running `Command { std: "docker" "start" "-a" "ac8b82ef02829843adb566b80a845147a1c7317200647fd6885a6812a605e7ab", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `crate::aio::my_aio`
[INFO] [stderr]  --> src/main.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::aio::my_aio;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::epoll::my_epoll`
[INFO] [stderr]  --> src/main.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::epoll::my_epoll;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `while` condition
[INFO] [stderr]   --> src/aio.rs:24:11
[INFO] [stderr]    |
[INFO] [stderr] 24 |     while (aior.as_mut().error() == Err(Errno::EINPROGRESS)) {
[INFO] [stderr]    |           ^                                                ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 24 -     while (aior.as_mut().error() == Err(Errno::EINPROGRESS)) {
[INFO] [stderr] 24 +     while aior.as_mut().error() == Err(Errno::EINPROGRESS)  {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Read`
[INFO] [stderr]  --> src/io_uring.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::io::Read;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Error` and `anyhow`
[INFO] [stderr]  --> src/io_uring.rs:7:14
[INFO] [stderr]   |
[INFO] [stderr] 7 | use anyhow::{anyhow, Error, Result};
[INFO] [stderr]   |              ^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]   --> src/epoll.rs:60:5
[INFO] [stderr]    |
[INFO] [stderr] 28 | /     loop {
[INFO] [stderr] 29 | |
[INFO] [stderr] 30 | |         // 这里的sleep，假装自己去处理别的数据了，不阻塞等着网络
[INFO] [stderr] 31 | |         sleep(Duration::from_secs(1));
[INFO] [stderr] ...  |
[INFO] [stderr] 58 | |     }
[INFO] [stderr]    | |_____- any code following this expression is unreachable
[INFO] [stderr] 59 |
[INFO] [stderr] 60 |       Ok(())
[INFO] [stderr]    |       ^^^^^^ unreachable expression
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/poll.rs:12:10
[INFO] [stderr]    |
[INFO] [stderr] 12 |     let (mut stream, _) = listener.accept()?;
[INFO] [stderr]    |          ----^^^^^^
[INFO] [stderr]    |          |
[INFO] [stderr]    |          help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/epoll.rs:12:10
[INFO] [stderr]    |
[INFO] [stderr] 12 |     let (mut stream, _) = listener.accept()?;
[INFO] [stderr]    |          ----^^^^^^
[INFO] [stderr]    |          |
[INFO] [stderr]    |          help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/epoll.rs:20:9
[INFO] [stderr]    |
[INFO] [stderr] 20 |     let mut event = EpollEvent::new(EpollFlags::EPOLLIN, fd.as_raw_fd() as u64);
[INFO] [stderr]    |         ----^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/io_uring.rs:12:10
[INFO] [stderr]    |
[INFO] [stderr] 12 |     let (mut stream, _) = listener.accept()?;
[INFO] [stderr]    |          ----^^^^^^
[INFO] [stderr]    |          |
[INFO] [stderr]    |          help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stream`
[INFO] [stderr]   --> src/io_uring.rs:61:21
[INFO] [stderr]    |
[INFO] [stderr] 61 |                 let stream = unsafe { TcpStream::from_raw_fd(fd) };
[INFO] [stderr]    |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `my_poll` is never used
[INFO] [stderr]   --> src/poll.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub fn my_poll(addr: &str) -> Result<()> {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `my_aio` is never used
[INFO] [stderr]   --> src/aio.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub fn my_aio() -> Result<()> {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `my_epoll` is never used
[INFO] [stderr]  --> src/epoll.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub fn my_epoll(addr: &str) -> Result<()> {
[INFO] [stderr]   |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `io` (bin "io" test) generated 14 warnings (run `cargo fix --bin "io" -p io --tests` to apply 10 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/io-a1a1b919c4cdc22f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ac8b82ef02829843adb566b80a845147a1c7317200647fd6885a6812a605e7ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ac8b82ef02829843adb566b80a845147a1c7317200647fd6885a6812a605e7ab", kill_on_drop: false }`
[INFO] [stdout] ac8b82ef02829843adb566b80a845147a1c7317200647fd6885a6812a605e7ab
