[INFO] cloning repository https://github.com/lythesia/ruduo [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lythesia/ruduo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flythesia%2Fruduo", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flythesia%2Fruduo'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0f98105bf28c9cacc515ee0eb84c20205b585116 [INFO] testing lythesia/ruduo against 1.98.0-beta.8+cargoflags=--release for beta-release-1.99-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flythesia%2Fruduo" "/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/lythesia/ruduo [INFO] removed 0 missing examples [INFO] finished tweaking git repo https://github.com/lythesia/ruduo [INFO] tweaked toml for git repo https://github.com/lythesia/ruduo written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/lythesia/ruduo on toolchain 1.98.0-beta.8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/lythesia/ruduo 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.98.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating git repository `https://github.com/lythesia/async_logging` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ctrlc v3.2.1 [INFO] [stderr] Downloaded once_cell v1.9.0 [INFO] [stderr] Downloaded slab v0.4.5 [INFO] [stderr] Downloaded mio v0.8.0 [INFO] [stderr] Downloaded memoffset v0.6.5 [INFO] [stderr] Downloaded time v0.1.44 [INFO] [stderr] Downloaded wasi v0.10.0+wasi-snapshot-preview1 [INFO] [stderr] Downloaded cc v1.0.72 [INFO] [stderr] Downloaded nix v0.23.1 [INFO] [stderr] Downloaded libc v0.2.112 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 864c8ee34be7db86f53646115912545749360d46cdb1ee8e9b9650aeb8b8985b [INFO] running `Command { std: "docker" "start" "864c8ee34be7db86f53646115912545749360d46cdb1ee8e9b9650aeb8b8985b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "864c8ee34be7db86f53646115912545749360d46cdb1ee8e9b9650aeb8b8985b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "864c8ee34be7db86f53646115912545749360d46cdb1ee8e9b9650aeb8b8985b" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "864c8ee34be7db86f53646115912545749360d46cdb1ee8e9b9650aeb8b8985b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "864c8ee34be7db86f53646115912545749360d46cdb1ee8e9b9650aeb8b8985b" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling libc v0.2.112 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling crossbeam-utils v0.8.5 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling once_cell v1.9.0 [INFO] [stderr] Compiling slab v0.4.5 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling crossbeam-channel v0.5.1 [INFO] [stderr] Compiling time v0.1.44 [INFO] [stderr] Compiling mio v0.8.0 [INFO] [stderr] Compiling chrono v0.4.19 [INFO] [stderr] Compiling async_logging v0.1.0 (https://github.com/lythesia/async_logging?branch=master#51e89d74) [INFO] [stderr] Compiling ruduo v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `mio::Registry` [INFO] [stdout] --> src/channel.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use mio::Registry; [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: `timer::Timeout` [INFO] [stdout] --> src/tcp_connection.rs:5:93 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{channel::Channel, buffer::Buffer, event_loop::{Notifier, EventLoopCtrl}, error, timer::Timeout}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/connector.rs:5:178 [INFO] [stdout] | [INFO] [stdout] 5 | ...hreadPool, tcp_server::{Dispatcher, TcpServerConfig, Shared}, debug}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctrl` [INFO] [stdout] --> src/channel.rs:7:31 [INFO] [stdout] | [INFO] [stdout] 7 | fn handle_read(&mut self, ctrl: &mut EventLoopCtrl) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_ctrl` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctrl` [INFO] [stdout] --> src/channel.rs:8:32 [INFO] [stdout] | [INFO] [stdout] 8 | fn handle_write(&mut self, ctrl: &mut EventLoopCtrl) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_ctrl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/channel.rs:10:32 [INFO] [stdout] | [INFO] [stdout] 10 | fn handle_error(&mut self, err: &std::io::Error) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timeout` [INFO] [stdout] --> src/service.rs:54:34 [INFO] [stdout] | [INFO] [stdout] 54 | fn handle_timeout(&mut self, timeout: Self::Timeout, repeat: bool, event_loop: &mut EventLoop) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `repeat` [INFO] [stdout] --> src/service.rs:54:58 [INFO] [stdout] | [INFO] [stdout] 54 | fn handle_timeout(&mut self, timeout: Self::Timeout, repeat: bool, event_loop: &mut EventLoop) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_repeat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event_loop` [INFO] [stdout] --> src/service.rs:54:72 [INFO] [stdout] | [INFO] [stdout] 54 | fn handle_timeout(&mut self, timeout: Self::Timeout, repeat: bool, event_loop: &mut EventLoop) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mark` [INFO] [stdout] --> src/service.rs:57:35 [INFO] [stdout] | [INFO] [stdout] 57 | fn refresh_timeout(&mut self, mark: Self::Timeout, timeout: crate::timer::Timeout) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mark` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timeout` [INFO] [stdout] --> src/service.rs:57:56 [INFO] [stdout] | [INFO] [stdout] 57 | fn refresh_timeout(&mut self, mark: Self::Timeout, timeout: crate::timer::Timeout) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `registry` [INFO] [stdout] --> src/connector.rs:54:39 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn connect(&self, addr: &str, registry: &Registry, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_reading` is never used [INFO] [stdout] --> src/tcp_connection.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) trait BufState { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] 8 | fn is_reading(&self) -> bool; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `kind` and `desc` are never read [INFO] [stdout] --> src/timer.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 207 | pub struct TimerError { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 208 | kind: TimerErrorKind, [INFO] [stdout] | ^^^^ [INFO] [stdout] 209 | desc: &'static str, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TimerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/event_loop.rs:91:17 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn ctrl(&mut self) -> EventLoopCtrl { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 91 | pub fn ctrl(&mut self) -> EventLoopCtrl<'_, H::Timeout> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stdout] --> src/logger.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 12 | let mut_ptr = const_ptr as *mut T; [INFO] [stdout] | ------------------- casting happened here [INFO] [stdout] 13 | &mut *mut_ptr [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: `#[warn(invalid_reference_casting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `release` profile [optimized] target(s) in 5.82s [INFO] running `Command { std: "docker" "inspect" "864c8ee34be7db86f53646115912545749360d46cdb1ee8e9b9650aeb8b8985b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "864c8ee34be7db86f53646115912545749360d46cdb1ee8e9b9650aeb8b8985b" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stdout] warning: unused import: `mio::Registry` [INFO] [stdout] --> src/channel.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use mio::Registry; [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: `timer::Timeout` [INFO] [stdout] --> src/tcp_connection.rs:5:93 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{channel::Channel, buffer::Buffer, event_loop::{Notifier, EventLoopCtrl}, error, timer::Timeout}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/connector.rs:5:178 [INFO] [stdout] | [INFO] [stdout] 5 | ...hreadPool, tcp_server::{Dispatcher, TcpServerConfig, Shared}, debug}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctrl` [INFO] [stdout] --> src/channel.rs:7:31 [INFO] [stdout] | [INFO] [stdout] 7 | fn handle_read(&mut self, ctrl: &mut EventLoopCtrl) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_ctrl` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctrl` [INFO] [stdout] --> src/channel.rs:8:32 [INFO] [stdout] | [INFO] [stdout] 8 | fn handle_write(&mut self, ctrl: &mut EventLoopCtrl) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_ctrl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/channel.rs:10:32 [INFO] [stdout] | [INFO] [stdout] 10 | fn handle_error(&mut self, err: &std::io::Error) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timeout` [INFO] [stdout] --> src/service.rs:54:34 [INFO] [stdout] | [INFO] [stdout] 54 | fn handle_timeout(&mut self, timeout: Self::Timeout, repeat: bool, event_loop: &mut EventLoop) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `repeat` [INFO] [stdout] --> src/service.rs:54:58 [INFO] [stdout] | [INFO] [stdout] 54 | fn handle_timeout(&mut self, timeout: Self::Timeout, repeat: bool, event_loop: &mut EventLoop) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_repeat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event_loop` [INFO] [stdout] --> src/service.rs:54:72 [INFO] [stdout] | [INFO] [stdout] 54 | fn handle_timeout(&mut self, timeout: Self::Timeout, repeat: bool, event_loop: &mut EventLoop) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mark` [INFO] [stdout] --> src/service.rs:57:35 [INFO] [stdout] | [INFO] [stdout] 57 | fn refresh_timeout(&mut self, mark: Self::Timeout, timeout: crate::timer::Timeout) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mark` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timeout` [INFO] [stdout] --> src/service.rs:57:56 [INFO] [stdout] | [INFO] [stdout] 57 | fn refresh_timeout(&mut self, mark: Self::Timeout, timeout: crate::timer::Timeout) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `registry` [INFO] [stdout] --> src/connector.rs:54:39 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn connect(&self, addr: &str, registry: &Registry, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_reading` is never used [INFO] [stdout] --> src/tcp_connection.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) trait BufState { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] 8 | fn is_reading(&self) -> bool; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `kind` and `desc` are never read [INFO] [stdout] --> src/timer.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 207 | pub struct TimerError { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 208 | kind: TimerErrorKind, [INFO] [stdout] | ^^^^ [INFO] [stdout] 209 | desc: &'static str, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TimerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/event_loop.rs:91:17 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn ctrl(&mut self) -> EventLoopCtrl { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 91 | pub fn ctrl(&mut self) -> EventLoopCtrl<'_, H::Timeout> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stdout] --> src/logger.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 12 | let mut_ptr = const_ptr as *mut T; [INFO] [stdout] | ------------------- casting happened here [INFO] [stdout] 13 | &mut *mut_ptr [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: `#[warn(invalid_reference_casting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling nix v0.23.1 [INFO] [stderr] Compiling ctrlc v3.2.1 [INFO] [stderr] Compiling ruduo v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Registry` [INFO] [stdout] --> examples/chat.rs:4:44 [INFO] [stdout] | [INFO] [stdout] 4 | use mio::{Token, net::TcpStream, Interest, Registry}; [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 imports: `Arc`, `Weak`, `io::Write`, and `net::Shutdown` [INFO] [stdout] --> examples/tunnel.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{sync::{Arc, Weak}, io::Write, net::Shutdown}; [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 imports: `Interest`, `Registry`, `Token`, and `net::TcpStream` [INFO] [stdout] --> examples/tunnel.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | use mio::{Token, net::TcpStream, Interest, Registry}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EventLoop`, `Notifier`, `TcpConnMessage`, `TcpConnection`, `buffer::Buffer`, `connector::ConnectorService`, `debug`, `error`, `service::Service`, and `tcp_server::TcpServer` [INFO] [stdout] --> examples/tunnel.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | ...::{TcpConnection, TcpConnMessage}, event_loop::{Notifier, EventLoop}, connector::ConnectorService, buffer::Buffer, error, service::Service, tcp_server::TcpServer, debug, l... [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `keeper` is never read [INFO] [stdout] --> examples/chat.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 16 | struct ChatServer { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | keeper: Notifier<()>, [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 import: `mio::Registry` [INFO] [stdout] --> src/channel.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use mio::Registry; [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: `timer::Timeout` [INFO] [stdout] --> src/tcp_connection.rs:5:93 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{channel::Channel, buffer::Buffer, event_loop::{Notifier, EventLoopCtrl}, error, timer::Timeout}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/connector.rs:5:178 [INFO] [stdout] | [INFO] [stdout] 5 | ...hreadPool, tcp_server::{Dispatcher, TcpServerConfig, Shared}, debug}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctrl` [INFO] [stdout] --> src/channel.rs:7:31 [INFO] [stdout] | [INFO] [stdout] 7 | fn handle_read(&mut self, ctrl: &mut EventLoopCtrl) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_ctrl` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctrl` [INFO] [stdout] --> src/channel.rs:8:32 [INFO] [stdout] | [INFO] [stdout] 8 | fn handle_write(&mut self, ctrl: &mut EventLoopCtrl) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_ctrl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/channel.rs:10:32 [INFO] [stdout] | [INFO] [stdout] 10 | fn handle_error(&mut self, err: &std::io::Error) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mark` [INFO] [stdout] --> src/event_loop.rs:270:39 [INFO] [stdout] | [INFO] [stdout] 270 | fn refresh_timeout(&mut self, mark: Self::Timeout, timeout: Timeout) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mark` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timeout` [INFO] [stdout] --> src/event_loop.rs:270:60 [INFO] [stdout] | [INFO] [stdout] 270 | fn refresh_timeout(&mut self, mark: Self::Timeout, timeout: Timeout) {} [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timeout` [INFO] [stdout] --> src/service.rs:54:34 [INFO] [stdout] | [INFO] [stdout] 54 | fn handle_timeout(&mut self, timeout: Self::Timeout, repeat: bool, event_loop: &mut EventLoop) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `repeat` [INFO] [stdout] --> src/service.rs:54:58 [INFO] [stdout] | [INFO] [stdout] 54 | fn handle_timeout(&mut self, timeout: Self::Timeout, repeat: bool, event_loop: &mut EventLoop) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_repeat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event_loop` [INFO] [stdout] --> src/service.rs:54:72 [INFO] [stdout] | [INFO] [stdout] 54 | fn handle_timeout(&mut self, timeout: Self::Timeout, repeat: bool, event_loop: &mut EventLoop) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mark` [INFO] [stdout] --> src/service.rs:57:35 [INFO] [stdout] | [INFO] [stdout] 57 | fn refresh_timeout(&mut self, mark: Self::Timeout, timeout: crate::timer::Timeout) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mark` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timeout` [INFO] [stdout] --> src/service.rs:57:56 [INFO] [stdout] | [INFO] [stdout] 57 | fn refresh_timeout(&mut self, mark: Self::Timeout, timeout: crate::timer::Timeout) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `registry` [INFO] [stdout] --> src/connector.rs:54:39 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn connect(&self, addr: &str, registry: &Registry, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_reading` is never used [INFO] [stdout] --> src/tcp_connection.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) trait BufState { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] 8 | fn is_reading(&self) -> bool; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `kind` and `desc` are never read [INFO] [stdout] --> src/timer.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 207 | pub struct TimerError { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 208 | kind: TimerErrorKind, [INFO] [stdout] | ^^^^ [INFO] [stdout] 209 | desc: &'static str, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TimerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/event_loop.rs:91:17 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn ctrl(&mut self) -> EventLoopCtrl { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 91 | pub fn ctrl(&mut self) -> EventLoopCtrl<'_, H::Timeout> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stdout] --> src/logger.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 12 | let mut_ptr = const_ptr as *mut T; [INFO] [stdout] | ------------------- casting happened here [INFO] [stdout] 13 | &mut *mut_ptr [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: `#[warn(invalid_reference_casting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `release` profile [optimized] target(s) in 11.49s [INFO] running `Command { std: "docker" "inspect" "864c8ee34be7db86f53646115912545749360d46cdb1ee8e9b9650aeb8b8985b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "864c8ee34be7db86f53646115912545749360d46cdb1ee8e9b9650aeb8b8985b" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `mio::Registry` [INFO] [stderr] --> src/channel.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use mio::Registry; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `timer::Timeout` [INFO] [stderr] --> src/tcp_connection.rs:5:93 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::{channel::Channel, buffer::Buffer, event_loop::{Notifier, EventLoopCtrl}, error, timer::Timeout}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `debug` [INFO] [stderr] --> src/connector.rs:5:178 [INFO] [stderr] | [INFO] [stderr] 5 | ...hreadPool, tcp_server::{Dispatcher, TcpServerConfig, Shared}, debug}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctrl` [INFO] [stderr] --> src/channel.rs:7:31 [INFO] [stderr] | [INFO] [stderr] 7 | fn handle_read(&mut self, ctrl: &mut EventLoopCtrl) {} [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_ctrl` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctrl` [INFO] [stderr] --> src/channel.rs:8:32 [INFO] [stderr] | [INFO] [stderr] 8 | fn handle_write(&mut self, ctrl: &mut EventLoopCtrl) {} [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_ctrl` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/channel.rs:10:32 [INFO] [stderr] | [INFO] [stderr] 10 | fn handle_error(&mut self, err: &std::io::Error) {} [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `timeout` [INFO] [stderr] --> src/service.rs:54:34 [INFO] [stderr] | [INFO] [stderr] 54 | fn handle_timeout(&mut self, timeout: Self::Timeout, repeat: bool, event_loop: &mut EventLoop) { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `repeat` [INFO] [stderr] --> src/service.rs:54:58 [INFO] [stderr] | [INFO] [stderr] 54 | fn handle_timeout(&mut self, timeout: Self::Timeout, repeat: bool, event_loop: &mut EventLoop) { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_repeat` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `event_loop` [INFO] [stderr] --> src/service.rs:54:72 [INFO] [stderr] | [INFO] [stderr] 54 | fn handle_timeout(&mut self, timeout: Self::Timeout, repeat: bool, event_loop: &mut EventLoop) { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_loop` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mark` [INFO] [stderr] --> src/service.rs:57:35 [INFO] [stderr] | [INFO] [stderr] 57 | fn refresh_timeout(&mut self, mark: Self::Timeout, timeout: crate::timer::Timeout) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mark` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `timeout` [INFO] [stderr] --> src/service.rs:57:56 [INFO] [stderr] | [INFO] [stderr] 57 | fn refresh_timeout(&mut self, mark: Self::Timeout, timeout: crate::timer::Timeout) { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `registry` [INFO] [stderr] --> src/connector.rs:54:39 [INFO] [stderr] | [INFO] [stderr] 54 | pub fn connect(&self, addr: &str, registry: &Registry, [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registry` [INFO] [stderr] [INFO] [stderr] warning: method `is_reading` is never used [INFO] [stderr] --> src/tcp_connection.rs:8:8 [INFO] [stderr] | [INFO] [stderr] 7 | pub(crate) trait BufState { [INFO] [stderr] | -------- method in this trait [INFO] [stderr] 8 | fn is_reading(&self) -> bool; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `kind` and `desc` are never read [INFO] [stderr] --> src/timer.rs:208:5 [INFO] [stderr] | [INFO] [stderr] 207 | pub struct TimerError { [INFO] [stderr] | ---------- fields in this struct [INFO] [stderr] 208 | kind: TimerErrorKind, [INFO] [stderr] | ^^^^ [INFO] [stderr] 209 | desc: &'static str, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `TimerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/event_loop.rs:91:17 [INFO] [stderr] | [INFO] [stderr] 91 | pub fn ctrl(&mut self) -> EventLoopCtrl { [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 91 | pub fn ctrl(&mut self) -> EventLoopCtrl<'_, H::Timeout> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stderr] --> src/logger.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 12 | let mut_ptr = const_ptr as *mut T; [INFO] [stderr] | ------------------- casting happened here [INFO] [stderr] 13 | &mut *mut_ptr [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, visit [INFO] [stderr] = note: `#[warn(invalid_reference_casting)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mark` [INFO] [stderr] --> src/event_loop.rs:270:39 [INFO] [stderr] | [INFO] [stderr] 270 | fn refresh_timeout(&mut self, mark: Self::Timeout, timeout: Timeout) {} [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mark` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `timeout` [INFO] [stderr] --> src/event_loop.rs:270:60 [INFO] [stderr] | [INFO] [stderr] 270 | fn refresh_timeout(&mut self, mark: Self::Timeout, timeout: Timeout) {} [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout` [INFO] [stderr] [INFO] [stderr] warning: `ruduo` (lib) generated 16 warnings (run `cargo fix --lib -p ruduo` to apply 13 suggestions) [INFO] [stderr] warning: `ruduo` (lib test) generated 18 warnings (16 duplicates) (run `cargo fix --lib -p ruduo --tests` to apply 2 suggestions) [INFO] [stderr] warning: unused imports: `Arc`, `Weak`, `io::Write`, and `net::Shutdown` [INFO] [stderr] --> examples/tunnel.rs:1:18 [INFO] [stderr] | [INFO] [stderr] 1 | use std::{sync::{Arc, Weak}, io::Write, net::Shutdown}; [INFO] [stderr] | ^^^ ^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Interest`, `Registry`, `Token`, and `net::TcpStream` [INFO] [stderr] --> examples/tunnel.rs:4:11 [INFO] [stderr] | [INFO] [stderr] 4 | use mio::{Token, net::TcpStream, Interest, Registry}; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `EventLoop`, `Notifier`, `TcpConnMessage`, `TcpConnection`, `buffer::Buffer`, `connector::ConnectorService`, `debug`, `error`, `service::Service`, and `tcp_server::TcpServer` [INFO] [stderr] --> examples/tunnel.rs:5:30 [INFO] [stderr] | [INFO] [stderr] 5 | ...::{TcpConnection, TcpConnMessage}, event_loop::{Notifier, EventLoop}, connector::ConnectorService, buffer::Buffer, error, service::Service, tcp_server::TcpServer, debug, l... [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Registry` [INFO] [stderr] --> examples/chat.rs:4:44 [INFO] [stderr] | [INFO] [stderr] 4 | use mio::{Token, net::TcpStream, Interest, Registry}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `keeper` is never read [INFO] [stderr] --> examples/chat.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 16 | struct ChatServer { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 19 | keeper: Notifier<()>, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `ruduo` (example "tunnel") generated 3 warnings (run `cargo fix --example "tunnel" -p ruduo` to apply 3 suggestions) [INFO] [stderr] warning: `ruduo` (example "chat") generated 2 warnings (run `cargo fix --example "chat" -p ruduo` to apply 1 suggestion) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.07s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/ruduo-3cc2a941fd342e21) [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test buffer::tests::test_buffer_append_retrieve ... ok [INFO] [stdout] test buffer::tests::test_buffer_read_write_int ... ok [INFO] [stdout] test buffer::tests::test_buffer_grow ... ok [INFO] [stdout] test timer::test::test_clearing_timeout_between_triggers ... ok [INFO] [stdout] test timer::test::test_multiple_timeouts_same_tick ... ok [INFO] [stdout] test timer::test::test_timeout_hash_collision ... ok [INFO] [stdout] test timer::test::test_timeout_next_tick ... ok [INFO] [stdout] test logger::tests::test_wrap_logger ... ok [INFO] [stdout] test timer::test::test_catching_up ... FAILED [INFO] [stdout] test timer::test::test_clearing_timeout ... FAILED [INFO] [stdout] test buffer::tests::test_buffer_prepend ... ok [INFO] [stdout] test event_loop::tests::test_wake_and_stop ... ok [INFO] [stdout] test event_loop::tests::test_wake ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- timer::test::test_catching_up stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'timer::test::test_catching_up' (679) panicked at src/logger.rs:7:18: [INFO] [stdout] LOGGER not initialized [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x6446b824e871 - <::print::DisplayBacktrace as core[832e9a552fc17241]::fmt::Display>::fmt [INFO] [stdout] 1: 0x6446b8262a1a - core[832e9a552fc17241]::fmt::write [INFO] [stdout] 2: 0x6446b8252e4c - as std[97b98282bc616a66]::io::Write>::write_fmt [INFO] [stdout] 3: 0x6446b822c816 - std[97b98282bc616a66]::panicking::default_hook::{closure#0} [INFO] [stdout] 4: 0x6446b8246629 - std[97b98282bc616a66]::panicking::default_hook [INFO] [stdout] 5: 0x6446b81d82b0 - test[39766f3d73431624]::test_main_inner::::{closure#0} [INFO] [stdout] 6: 0x6446b82467e2 - std[97b98282bc616a66]::panicking::panic_with_hook [INFO] [stdout] 7: 0x6446b822c8c2 - std[97b98282bc616a66]::panicking::panic_handler::{closure#0} [INFO] [stdout] 8: 0x6446b82241e9 - std[97b98282bc616a66]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] 9: 0x6446b822d4bd - __rustc[e3d8617bb01b7f69]::rust_begin_unwind [INFO] [stdout] 10: 0x6446b826314c - core[832e9a552fc17241]::panicking::panic_fmt [INFO] [stdout] 11: 0x6446b8262ea4 - core[832e9a552fc17241]::option::expect_failed [INFO] [stdout] 12: 0x6446b81bc843 - >::tick_to [INFO] [stdout] 13: 0x6446b81c5bf0 - ruduo[5d3b5c37a70b2beb]::timer::test::test_catching_up [INFO] [stdout] 14: 0x6446b81ca799 - >::call_once [INFO] [stdout] 15: 0x6446b81cb5eb - test[39766f3d73431624]::__rust_begin_short_backtrace::, fn() -> core[832e9a552fc17241]::result::Result<(), alloc[3ecab9f82c41dc7d]::string::String>> [INFO] [stdout] 16: 0x6446b81d8c35 - test[39766f3d73431624]::run_test::{closure#0} [INFO] [stdout] 17: 0x6446b81d36e4 - std[97b98282bc616a66]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] 18: 0x6446b81dbd82 - ::{closure#1} as core[832e9a552fc17241]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] 19: 0x6446b824e0cf - ::new::thread_start [INFO] [stdout] 20: 0x7d2ff7f7707a - [INFO] [stdout] 21: 0x7d2ff800a534 - clone [INFO] [stdout] 22: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- timer::test::test_clearing_timeout stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'timer::test::test_clearing_timeout' (681) panicked at src/logger.rs:7:18: [INFO] [stdout] LOGGER not initialized [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x6446b824e871 - <::print::DisplayBacktrace as core[832e9a552fc17241]::fmt::Display>::fmt [INFO] [stdout] 1: 0x6446b8262a1a - core[832e9a552fc17241]::fmt::write [INFO] [stdout] 2: 0x6446b8252e4c - as std[97b98282bc616a66]::io::Write>::write_fmt [INFO] [stdout] 3: 0x6446b822c816 - std[97b98282bc616a66]::panicking::default_hook::{closure#0} [INFO] [stdout] 4: 0x6446b8246629 - std[97b98282bc616a66]::panicking::default_hook [INFO] [stdout] 5: 0x6446b81d82b0 - test[39766f3d73431624]::test_main_inner::::{closure#0} [INFO] [stdout] 6: 0x6446b82467e2 - std[97b98282bc616a66]::panicking::panic_with_hook [INFO] [stdout] 7: 0x6446b822c8c2 - std[97b98282bc616a66]::panicking::panic_handler::{closure#0} [INFO] [stdout] 8: 0x6446b82241e9 - std[97b98282bc616a66]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] 9: 0x6446b822d4bd - __rustc[e3d8617bb01b7f69]::rust_begin_unwind [INFO] [stdout] 10: 0x6446b826314c - core[832e9a552fc17241]::panicking::panic_fmt [INFO] [stdout] 11: 0x6446b8262ea4 - core[832e9a552fc17241]::option::expect_failed [INFO] [stdout] 12: 0x6446b81bc843 - >::tick_to [INFO] [stdout] 13: 0x6446b81c6089 - ruduo[5d3b5c37a70b2beb]::timer::test::test_clearing_timeout [INFO] [stdout] 14: 0x6446b81ca7b9 - >::call_once [INFO] [stdout] 15: 0x6446b81cb5eb - test[39766f3d73431624]::__rust_begin_short_backtrace::, fn() -> core[832e9a552fc17241]::result::Result<(), alloc[3ecab9f82c41dc7d]::string::String>> [INFO] [stdout] 16: 0x6446b81d8c35 - test[39766f3d73431624]::run_test::{closure#0} [INFO] [stdout] 17: 0x6446b81d36e4 - std[97b98282bc616a66]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] 18: 0x6446b81dbd82 - ::{closure#1} as core[832e9a552fc17241]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] 19: 0x6446b824e0cf - ::new::thread_start [INFO] [stdout] 20: 0x7d2ff7f7707a - [INFO] [stdout] 21: 0x7d2ff800a534 - clone [INFO] [stdout] 22: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] timer::test::test_catching_up [INFO] [stdout] timer::test::test_clearing_timeout [INFO] [stdout] [INFO] [stdout] test result: FAILED. 11 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 12.01s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] running `Command { std: "docker" "inspect" "864c8ee34be7db86f53646115912545749360d46cdb1ee8e9b9650aeb8b8985b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "864c8ee34be7db86f53646115912545749360d46cdb1ee8e9b9650aeb8b8985b", kill_on_drop: false }` [INFO] [stdout] 864c8ee34be7db86f53646115912545749360d46cdb1ee8e9b9650aeb8b8985b