[INFO] fetching crate asyncnsq 0.1.0... [INFO] testing asyncnsq-0.1.0 against master#5d5ff84130da0d74c6ece368dbe821d8f83fa526 for pr-79296 [INFO] extracting crate asyncnsq 0.1.0 into /workspace/builds/worker-12/source [INFO] validating manifest of crates.io crate asyncnsq 0.1.0 on toolchain 5d5ff84130da0d74c6ece368dbe821d8f83fa526 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+5d5ff84130da0d74c6ece368dbe821d8f83fa526" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking crates.io crate asyncnsq 0.1.0 [INFO] finished tweaking crates.io crate asyncnsq 0.1.0 [INFO] tweaked toml for crates.io crate asyncnsq 0.1.0 written to /workspace/builds/worker-12/source/Cargo.toml [INFO] crate crates.io crate asyncnsq 0.1.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+5d5ff84130da0d74c6ece368dbe821d8f83fa526" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: file found to be present in multiple build targets: /workspace/builds/worker-12/source/tests/integrations_test.rs [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "rustops/crates-build-env@sha256:6eabd152ff4036248d66efda456a36cb33d24b7291b33f25f75140726c88da35" "/opt/rustwide/cargo-home/bin/cargo" "+5d5ff84130da0d74c6ece368dbe821d8f83fa526" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8c5832f409bf5e250a00a483d469cc4e566bdf0b7b03fe35cc8f2fe21d6d4f71 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "8c5832f409bf5e250a00a483d469cc4e566bdf0b7b03fe35cc8f2fe21d6d4f71", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8c5832f409bf5e250a00a483d469cc4e566bdf0b7b03fe35cc8f2fe21d6d4f71", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8c5832f409bf5e250a00a483d469cc4e566bdf0b7b03fe35cc8f2fe21d6d4f71", kill_on_drop: false }` [INFO] [stdout] 8c5832f409bf5e250a00a483d469cc4e566bdf0b7b03fe35cc8f2fe21d6d4f71 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:6eabd152ff4036248d66efda456a36cb33d24b7291b33f25f75140726c88da35" "/opt/rustwide/cargo-home/bin/cargo" "+5d5ff84130da0d74c6ece368dbe821d8f83fa526" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6c41cb7e48b5e94ff66328f1b39cc7cfae396cfa864e1fbd307806634b5f2c5a [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "6c41cb7e48b5e94ff66328f1b39cc7cfae396cfa864e1fbd307806634b5f2c5a", kill_on_drop: false }` [INFO] [stderr] warning: file found to be present in multiple build targets: /opt/rustwide/workdir/tests/integrations_test.rs [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.65 [INFO] [stderr] Compiling cfg-if v0.1.9 [INFO] [stderr] Compiling cc v1.0.48 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling proc-macro2 v1.0.6 [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Compiling syn v1.0.8 [INFO] [stderr] Compiling slab v0.4.2 [INFO] [stderr] Compiling futures-core-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling futures-sink-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Compiling futures-io-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling futures v0.1.29 [INFO] [stderr] Compiling serde v1.0.103 [INFO] [stderr] Compiling scopeguard v1.0.0 [INFO] [stderr] Compiling matches v0.1.8 [INFO] [stderr] Compiling smallvec v1.0.0 [INFO] [stderr] Compiling ryu v1.0.2 [INFO] [stderr] Compiling curl v0.4.25 [INFO] [stderr] Compiling openssl-probe v0.1.2 [INFO] [stderr] Compiling percent-encoding v2.1.0 [INFO] [stderr] Compiling isahc v0.7.6 [INFO] [stderr] Compiling dtoa v0.4.4 [INFO] [stderr] Compiling mime v0.3.14 [INFO] [stderr] Compiling once_cell v1.2.0 [INFO] [stderr] Compiling futures-core v0.3.1 [INFO] [stderr] Compiling pin-project-lite v0.1.1 [INFO] [stderr] Compiling futures-timer v2.0.2 [INFO] [stderr] Compiling futures-io v0.3.1 [INFO] [stderr] Compiling crossbeam-utils v0.7.0 [INFO] [stderr] Compiling crossbeam-epoch v0.8.0 [INFO] [stderr] Compiling crossbeam-utils v0.6.6 [INFO] [stderr] Compiling lock_api v0.3.2 [INFO] [stderr] Compiling unicode-bidi v0.3.4 [INFO] [stderr] Compiling futures-channel-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling unicode-normalization v0.1.11 [INFO] [stderr] Compiling smallvec v0.6.13 [INFO] [stderr] Compiling mime_guess v2.0.1 [INFO] [stderr] Compiling crossbeam-channel v0.3.9 [INFO] [stderr] Compiling async-task v1.0.0 [INFO] [stderr] Compiling sluice v0.4.2 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling kv-log-macro v1.0.4 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling num_cpus v1.11.1 [INFO] [stderr] Compiling socket2 v0.3.11 [INFO] [stderr] Compiling net2 v0.2.33 [INFO] [stderr] Compiling idna v0.2.0 [INFO] [stderr] Compiling bytes v0.4.12 [INFO] [stderr] Compiling crossbeam-channel v0.4.0 [INFO] [stderr] Compiling memoffset v0.5.3 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Compiling libnghttp2-sys v0.1.2 [INFO] [stderr] Compiling openssl-sys v0.9.53 [INFO] [stderr] Compiling libz-sys v1.0.25 [INFO] [stderr] Compiling curl-sys v0.4.24 [INFO] [stderr] Compiling mio v0.6.20 [INFO] [stderr] Compiling tokio-io v0.1.12 [INFO] [stderr] Compiling http v0.1.21 [INFO] [stderr] Compiling url v2.1.0 [INFO] [stderr] Compiling crossbeam-deque v0.7.2 [INFO] [stderr] Compiling futures-util-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling mio-uds v0.6.7 [INFO] [stderr] Compiling futures-executor-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling broadcaster v0.2.6 [INFO] [stderr] Compiling futures-preview v0.3.0-alpha.19 [INFO] [stderr] Compiling serde_derive v1.0.103 [INFO] [stderr] Compiling async-attributes v1.1.1 [INFO] [stderr] Compiling async-trait v0.1.21 [INFO] [stderr] Compiling async-std v1.4.0 [INFO] [stderr] Compiling serde_json v1.0.42 [INFO] [stderr] Compiling serde_urlencoded v0.6.1 [INFO] [stderr] Compiling toml v0.5.5 [INFO] [stderr] Compiling surf v1.0.3 [INFO] [stderr] Compiling asyncnsq v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `async_std::future` [INFO] [stdout] --> src/lib.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | use async_std::future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IdentifyConfig` [INFO] [stdout] --> src/reader.rs:1:28 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::data::{Address, IdentifyConfig, Msg}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `async_std::future` [INFO] [stdout] --> src/reader.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use async_std::future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BytesMut` [INFO] [stdout] --> src/reader.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | use bytes::{BufMut, BytesMut}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize` [INFO] [stdout] --> src/reader.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> src/reader.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `async_std::future` [INFO] [stdout] --> src/writer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use async_std::future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Mutex`, `Receiver`, `Sender`, `channel` [INFO] [stdout] --> src/writer.rs:5:23 [INFO] [stdout] | [INFO] [stdout] 5 | use async_std::sync::{channel, Arc, Mutex, Receiver, Sender}; [INFO] [stdout] | ^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BytesMut` [INFO] [stdout] --> src/writer.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | use bytes::{BufMut, BytesMut}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Deserialize` [INFO] [stdout] --> src/writer.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `MsgHandler` cannot be made into an object [INFO] [stdout] --> src/lib.rs:193:14 [INFO] [stdout] | [INFO] [stdout] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(where_clauses_object_safety)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:193:14 [INFO] [stdout] | [INFO] [stdout] 192 | pub trait MsgHandler { [INFO] [stdout] | ---------- this trait cannot be made into an object... [INFO] [stdout] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stdout] | ^^^^^^^ ...because method `handler` references the `Self` type in its `where` clause [INFO] [stdout] = help: consider moving `handler` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/lib.rs:305:5 [INFO] [stdout] | [INFO] [stdout] 288 | / loop { [INFO] [stdout] 289 | | reader.sub(nsq_topic.as_str(), nsq_channel.as_str()).await?; [INFO] [stdout] 290 | | 'a: loop { [INFO] [stdout] 291 | | dbg!("msg_receiver"); [INFO] [stdout] ... | [INFO] [stdout] 303 | | reader.reconnect().await?; [INFO] [stdout] 304 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 305 | Ok(reader) [INFO] [stdout] | ^^^^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/reader.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 132 | / loop { [INFO] [stdout] 133 | | if let Some(mut raw_data) = raw_receiver.recv().await { [INFO] [stdout] 134 | | all_data.append(&mut raw_data); [INFO] [stdout] 135 | | } [INFO] [stdout] ... | [INFO] [stdout] 194 | | } [INFO] [stdout] 195 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 196 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/reader.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 101 | / loop { [INFO] [stdout] 102 | | let mut tmpbuf = vec![0u8; 1024]; [INFO] [stdout] 103 | | dbg!("wait for read"); [INFO] [stdout] 104 | | let n = reader.read(&mut tmpbuf).await?; [INFO] [stdout] ... | [INFO] [stdout] 118 | | } [INFO] [stdout] 119 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 120 | dbg!("read_data finish"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/writer.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 95 | / loop { [INFO] [stdout] 96 | | let mut tmpbuf = vec![0u8; 1024]; [INFO] [stdout] 97 | | dbg!("wait for read"); [INFO] [stdout] 98 | | let n = reader.read(&mut tmpbuf).await?; [INFO] [stdout] ... | [INFO] [stdout] 106 | | } [INFO] [stdout] 107 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 108 | dbg!("read_data finish"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m_interval` [INFO] [stdout] --> src/lib.rs:230:22 [INFO] [stdout] | [INFO] [stdout] 230 | Some(m_interval) => { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_m_interval` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tmp` [INFO] [stdout] --> src/reader.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | let tmp = writer.write_all(" V2".as_bytes()).await?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tmp` [INFO] [stdout] --> src/writer.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | let tmp = writer.write_all(" V2".as_bytes()).await?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:231:21 [INFO] [stdout] | [INFO] [stdout] 231 | self.nsqlookup(handler.clone()).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Vec::::split_off` that must be used [INFO] [stdout] --> src/reader.rs:107:17 [INFO] [stdout] | [INFO] [stdout] 107 | tmpbuf.split_off(n); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: use `.truncate()` if you don't need the other half [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Vec::::split_off` that must be used [INFO] [stdout] --> src/writer.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | tmpbuf.split_off(n); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: use `.truncate()` if you don't need the other half [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `MsgHandler` cannot be made into an object [INFO] [stdout] --> /opt/rustwide/workdir/src/lib.rs:193:14 [INFO] [stdout] | [INFO] [stdout] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(where_clauses_object_safety)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> /opt/rustwide/workdir/src/lib.rs:193:14 [INFO] [stdout] | [INFO] [stdout] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stdout] | ^^^^^^^ the trait cannot be made into an object because method `handler` references the `Self` type in its `where` clause [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/integrations_test.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let mut reader = subscribe( [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> tests/integrations_test.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 88 | / loop { [INFO] [stdout] 89 | | let tt = TestMsg { [INFO] [stdout] 90 | | name: "ss".to_string(), [INFO] [stdout] 91 | | }; [INFO] [stdout] ... | [INFO] [stdout] 107 | | task::sleep(Duration::from_secs(1)).await; [INFO] [stdout] 108 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 109 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> tests/integrations_test.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | if let Ok(res) = msg.req(1000).await { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reader` [INFO] [stdout] --> tests/integrations_test.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let mut reader = subscribe( [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_reader` [INFO] [stdout] --> tests/integrations_test.rs:44:10 [INFO] [stdout] | [INFO] [stdout] 44 | async fn test_reader() -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_writer` [INFO] [stdout] --> tests/integrations_test.rs:79:10 [INFO] [stdout] | [INFO] [stdout] 79 | async fn test_writer() -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> tests/integrations_test.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | dbg!(res); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 06s [INFO] running `Command { std: "docker" "inspect" "6c41cb7e48b5e94ff66328f1b39cc7cfae396cfa864e1fbd307806634b5f2c5a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6c41cb7e48b5e94ff66328f1b39cc7cfae396cfa864e1fbd307806634b5f2c5a", kill_on_drop: false }` [INFO] [stdout] 6c41cb7e48b5e94ff66328f1b39cc7cfae396cfa864e1fbd307806634b5f2c5a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:6eabd152ff4036248d66efda456a36cb33d24b7291b33f25f75140726c88da35" "/opt/rustwide/cargo-home/bin/cargo" "+5d5ff84130da0d74c6ece368dbe821d8f83fa526" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fbc27a20c91e455a5bf1a90ac0d06245ba2706c263092386b4fcebf0787fe220 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "fbc27a20c91e455a5bf1a90ac0d06245ba2706c263092386b4fcebf0787fe220", kill_on_drop: false }` [INFO] [stderr] warning: file found to be present in multiple build targets: /opt/rustwide/workdir/tests/integrations_test.rs [INFO] [stdout] warning: unused import: `async_std::future` [INFO] [stdout] --> src/lib.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | use async_std::future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IdentifyConfig` [INFO] [stdout] --> src/reader.rs:1:28 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::data::{Address, IdentifyConfig, Msg}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `async_std::future` [INFO] [stdout] --> src/reader.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use async_std::future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BytesMut` [INFO] [stdout] --> src/reader.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | use bytes::{BufMut, BytesMut}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize` [INFO] [stdout] --> src/reader.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> src/reader.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `async_std::future` [INFO] [stdout] --> src/writer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use async_std::future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Mutex`, `Receiver`, `Sender`, `channel` [INFO] [stdout] --> src/writer.rs:5:23 [INFO] [stdout] | [INFO] [stdout] 5 | use async_std::sync::{channel, Arc, Mutex, Receiver, Sender}; [INFO] [stdout] | ^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BytesMut` [INFO] [stdout] --> src/writer.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | use bytes::{BufMut, BytesMut}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Deserialize` [INFO] [stdout] --> src/writer.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `MsgHandler` cannot be made into an object [INFO] [stdout] --> src/lib.rs:193:14 [INFO] [stdout] | [INFO] [stdout] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(where_clauses_object_safety)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:193:14 [INFO] [stdout] | [INFO] [stdout] 192 | pub trait MsgHandler { [INFO] [stdout] | ---------- this trait cannot be made into an object... [INFO] [stdout] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stdout] | ^^^^^^^ ...because method `handler` references the `Self` type in its `where` clause [INFO] [stdout] = help: consider moving `handler` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/lib.rs:305:5 [INFO] [stdout] | [INFO] [stdout] 288 | / loop { [INFO] [stdout] 289 | | reader.sub(nsq_topic.as_str(), nsq_channel.as_str()).await?; [INFO] [stdout] 290 | | 'a: loop { [INFO] [stdout] 291 | | dbg!("msg_receiver"); [INFO] [stdout] ... | [INFO] [stdout] 303 | | reader.reconnect().await?; [INFO] [stdout] 304 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 305 | Ok(reader) [INFO] [stdout] | ^^^^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/reader.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 132 | / loop { [INFO] [stdout] 133 | | if let Some(mut raw_data) = raw_receiver.recv().await { [INFO] [stdout] 134 | | all_data.append(&mut raw_data); [INFO] [stdout] 135 | | } [INFO] [stdout] ... | [INFO] [stdout] 194 | | } [INFO] [stdout] 195 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 196 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/reader.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 101 | / loop { [INFO] [stdout] 102 | | let mut tmpbuf = vec![0u8; 1024]; [INFO] [stdout] 103 | | dbg!("wait for read"); [INFO] [stdout] 104 | | let n = reader.read(&mut tmpbuf).await?; [INFO] [stdout] ... | [INFO] [stdout] 118 | | } [INFO] [stdout] 119 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 120 | dbg!("read_data finish"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/writer.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 95 | / loop { [INFO] [stdout] 96 | | let mut tmpbuf = vec![0u8; 1024]; [INFO] [stdout] 97 | | dbg!("wait for read"); [INFO] [stdout] 98 | | let n = reader.read(&mut tmpbuf).await?; [INFO] [stdout] ... | [INFO] [stdout] 106 | | } [INFO] [stdout] 107 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 108 | dbg!("read_data finish"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m_interval` [INFO] [stdout] --> src/lib.rs:230:22 [INFO] [stdout] | [INFO] [stdout] 230 | Some(m_interval) => { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_m_interval` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tmp` [INFO] [stdout] --> src/reader.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | let tmp = writer.write_all(" V2".as_bytes()).await?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tmp` [INFO] [stdout] --> src/writer.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | let tmp = writer.write_all(" V2".as_bytes()).await?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:231:21 [INFO] [stdout] | [INFO] [stdout] 231 | self.nsqlookup(handler.clone()).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Vec::::split_off` that must be used [INFO] [stdout] --> src/reader.rs:107:17 [INFO] [stdout] | [INFO] [stdout] 107 | tmpbuf.split_off(n); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: use `.truncate()` if you don't need the other half [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Vec::::split_off` that must be used [INFO] [stdout] --> src/writer.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | tmpbuf.split_off(n); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: use `.truncate()` if you don't need the other half [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `MsgHandler` cannot be made into an object [INFO] [stdout] --> /opt/rustwide/workdir/src/lib.rs:193:14 [INFO] [stdout] | [INFO] [stdout] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(where_clauses_object_safety)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> /opt/rustwide/workdir/src/lib.rs:193:14 [INFO] [stdout] | [INFO] [stdout] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stdout] | ^^^^^^^ the trait cannot be made into an object because method `handler` references the `Self` type in its `where` clause [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/integrations_test.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let mut reader = subscribe( [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> tests/integrations_test.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 88 | / loop { [INFO] [stdout] 89 | | let tt = TestMsg { [INFO] [stdout] 90 | | name: "ss".to_string(), [INFO] [stdout] 91 | | }; [INFO] [stdout] ... | [INFO] [stdout] 107 | | task::sleep(Duration::from_secs(1)).await; [INFO] [stdout] 108 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 109 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> tests/integrations_test.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | if let Ok(res) = msg.req(1000).await { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reader` [INFO] [stdout] --> tests/integrations_test.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let mut reader = subscribe( [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_reader` [INFO] [stdout] --> tests/integrations_test.rs:44:10 [INFO] [stdout] | [INFO] [stdout] 44 | async fn test_reader() -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_writer` [INFO] [stdout] --> tests/integrations_test.rs:79:10 [INFO] [stdout] | [INFO] [stdout] 79 | async fn test_writer() -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> tests/integrations_test.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | dbg!(res); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling asyncnsq v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: the trait `MsgHandler` cannot be made into an object [INFO] [stdout] --> /opt/rustwide/workdir/src/lib.rs:193:14 [INFO] [stdout] | [INFO] [stdout] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(where_clauses_object_safety)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> /opt/rustwide/workdir/src/lib.rs:193:14 [INFO] [stdout] | [INFO] [stdout] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stdout] | ^^^^^^^ the trait cannot be made into an object because method `handler` references the `Self` type in its `where` clause [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/integrations_test.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let mut reader = subscribe( [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `MsgHandler` cannot be made into an object [INFO] [stdout] --> /opt/rustwide/workdir/src/lib.rs:193:14 [INFO] [stdout] | [INFO] [stdout] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(where_clauses_object_safety)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> /opt/rustwide/workdir/src/lib.rs:193:14 [INFO] [stdout] | [INFO] [stdout] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stdout] | ^^^^^^^ the trait cannot be made into an object because method `handler` references the `Self` type in its `where` clause [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/integrations_test.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let mut reader = subscribe( [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> tests/integrations_test.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 88 | / loop { [INFO] [stdout] 89 | | let tt = TestMsg { [INFO] [stdout] 90 | | name: "ss".to_string(), [INFO] [stdout] 91 | | }; [INFO] [stdout] ... | [INFO] [stdout] 107 | | task::sleep(Duration::from_secs(1)).await; [INFO] [stdout] 108 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 109 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> tests/integrations_test.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 88 | / loop { [INFO] [stdout] 89 | | let tt = TestMsg { [INFO] [stdout] 90 | | name: "ss".to_string(), [INFO] [stdout] 91 | | }; [INFO] [stdout] ... | [INFO] [stdout] 107 | | task::sleep(Duration::from_secs(1)).await; [INFO] [stdout] 108 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 109 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> tests/integrations_test.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | if let Ok(res) = msg.req(1000).await { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> tests/integrations_test.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | if let Ok(res) = msg.req(1000).await { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reader` [INFO] [stdout] --> tests/integrations_test.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let mut reader = subscribe( [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reader` [INFO] [stdout] --> tests/integrations_test.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let mut reader = subscribe( [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_reader` [INFO] [stdout] --> tests/integrations_test.rs:44:10 [INFO] [stdout] | [INFO] [stdout] 44 | async fn test_reader() -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_writer` [INFO] [stdout] --> tests/integrations_test.rs:79:10 [INFO] [stdout] | [INFO] [stdout] 79 | async fn test_writer() -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> tests/integrations_test.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | dbg!(res); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_reader` [INFO] [stdout] --> tests/integrations_test.rs:44:10 [INFO] [stdout] | [INFO] [stdout] 44 | async fn test_reader() -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_writer` [INFO] [stdout] --> tests/integrations_test.rs:79:10 [INFO] [stdout] | [INFO] [stdout] 79 | async fn test_writer() -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> tests/integrations_test.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | dbg!(res); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `async_std::future` [INFO] [stdout] --> src/lib.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | use async_std::future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IdentifyConfig` [INFO] [stdout] --> src/reader.rs:1:28 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::data::{Address, IdentifyConfig, Msg}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `async_std::future` [INFO] [stdout] --> src/reader.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use async_std::future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BytesMut` [INFO] [stdout] --> src/reader.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | use bytes::{BufMut, BytesMut}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize` [INFO] [stdout] --> src/reader.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> src/reader.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `async_std::future` [INFO] [stdout] --> src/writer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use async_std::future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Mutex`, `Receiver`, `Sender`, `channel` [INFO] [stdout] --> src/writer.rs:5:23 [INFO] [stdout] | [INFO] [stdout] 5 | use async_std::sync::{channel, Arc, Mutex, Receiver, Sender}; [INFO] [stdout] | ^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BytesMut` [INFO] [stdout] --> src/writer.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | use bytes::{BufMut, BytesMut}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Deserialize` [INFO] [stdout] --> src/writer.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `MsgHandler` cannot be made into an object [INFO] [stdout] --> src/lib.rs:193:14 [INFO] [stdout] | [INFO] [stdout] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(where_clauses_object_safety)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:193:14 [INFO] [stdout] | [INFO] [stdout] 192 | pub trait MsgHandler { [INFO] [stdout] | ---------- this trait cannot be made into an object... [INFO] [stdout] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stdout] | ^^^^^^^ ...because method `handler` references the `Self` type in its `where` clause [INFO] [stdout] = help: consider moving `handler` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/lib.rs:305:5 [INFO] [stdout] | [INFO] [stdout] 288 | / loop { [INFO] [stdout] 289 | | reader.sub(nsq_topic.as_str(), nsq_channel.as_str()).await?; [INFO] [stdout] 290 | | 'a: loop { [INFO] [stdout] 291 | | dbg!("msg_receiver"); [INFO] [stdout] ... | [INFO] [stdout] 303 | | reader.reconnect().await?; [INFO] [stdout] 304 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 305 | Ok(reader) [INFO] [stdout] | ^^^^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/reader.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 132 | / loop { [INFO] [stdout] 133 | | if let Some(mut raw_data) = raw_receiver.recv().await { [INFO] [stdout] 134 | | all_data.append(&mut raw_data); [INFO] [stdout] 135 | | } [INFO] [stdout] ... | [INFO] [stdout] 194 | | } [INFO] [stdout] 195 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 196 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/reader.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 101 | / loop { [INFO] [stdout] 102 | | let mut tmpbuf = vec![0u8; 1024]; [INFO] [stdout] 103 | | dbg!("wait for read"); [INFO] [stdout] 104 | | let n = reader.read(&mut tmpbuf).await?; [INFO] [stdout] ... | [INFO] [stdout] 118 | | } [INFO] [stdout] 119 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 120 | dbg!("read_data finish"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/writer.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 95 | / loop { [INFO] [stdout] 96 | | let mut tmpbuf = vec![0u8; 1024]; [INFO] [stdout] 97 | | dbg!("wait for read"); [INFO] [stdout] 98 | | let n = reader.read(&mut tmpbuf).await?; [INFO] [stdout] ... | [INFO] [stdout] 106 | | } [INFO] [stdout] 107 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 108 | dbg!("read_data finish"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m_interval` [INFO] [stdout] --> src/lib.rs:230:22 [INFO] [stdout] | [INFO] [stdout] 230 | Some(m_interval) => { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_m_interval` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tmp` [INFO] [stdout] --> src/reader.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | let tmp = writer.write_all(" V2".as_bytes()).await?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tmp` [INFO] [stdout] --> src/writer.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | let tmp = writer.write_all(" V2".as_bytes()).await?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:231:21 [INFO] [stdout] | [INFO] [stdout] 231 | self.nsqlookup(handler.clone()).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Vec::::split_off` that must be used [INFO] [stdout] --> src/reader.rs:107:17 [INFO] [stdout] | [INFO] [stdout] 107 | tmpbuf.split_off(n); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: use `.truncate()` if you don't need the other half [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Vec::::split_off` that must be used [INFO] [stdout] --> src/writer.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | tmpbuf.split_off(n); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: use `.truncate()` if you don't need the other half [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 4.86s [INFO] running `Command { std: "docker" "inspect" "fbc27a20c91e455a5bf1a90ac0d06245ba2706c263092386b4fcebf0787fe220", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fbc27a20c91e455a5bf1a90ac0d06245ba2706c263092386b4fcebf0787fe220", kill_on_drop: false }` [INFO] [stdout] fbc27a20c91e455a5bf1a90ac0d06245ba2706c263092386b4fcebf0787fe220 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:6eabd152ff4036248d66efda456a36cb33d24b7291b33f25f75140726c88da35" "/opt/rustwide/cargo-home/bin/cargo" "+5d5ff84130da0d74c6ece368dbe821d8f83fa526" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 94be21289e40ee80d881548cf1dedecf71ecf2d9e7459ae896991650a85f554f [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "94be21289e40ee80d881548cf1dedecf71ecf2d9e7459ae896991650a85f554f", kill_on_drop: false }` [INFO] [stderr] warning: file found to be present in multiple build targets: /opt/rustwide/workdir/tests/integrations_test.rs [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: unused import: `async_std::future` [INFO] [stderr] --> src/lib.rs:170:5 [INFO] [stderr] | [INFO] [stderr] 170 | use async_std::future; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `IdentifyConfig` [INFO] [stderr] --> src/reader.rs:1:28 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::data::{Address, IdentifyConfig, Msg}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `async_std::future` [INFO] [stderr] --> src/reader.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use async_std::future; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BytesMut` [INFO] [stderr] --> src/reader.rs:10:21 [INFO] [stderr] | [INFO] [stderr] 10 | use bytes::{BufMut, BytesMut}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Deserialize`, `Serialize` [INFO] [stderr] --> src/reader.rs:11:13 [INFO] [stderr] | [INFO] [stderr] 11 | use serde::{Deserialize, Serialize}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::json` [INFO] [stderr] --> src/reader.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use serde_json::json; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `async_std::future` [INFO] [stderr] --> src/writer.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use async_std::future; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Mutex`, `Receiver`, `Sender`, `channel` [INFO] [stderr] --> src/writer.rs:5:23 [INFO] [stderr] | [INFO] [stderr] 5 | use async_std::sync::{channel, Arc, Mutex, Receiver, Sender}; [INFO] [stderr] | ^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BytesMut` [INFO] [stderr] --> src/writer.rs:10:21 [INFO] [stderr] | [INFO] [stderr] 10 | use bytes::{BufMut, BytesMut}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Deserialize` [INFO] [stderr] --> src/writer.rs:11:13 [INFO] [stderr] | [INFO] [stderr] 11 | use serde::{Deserialize, Serialize}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the trait `MsgHandler` cannot be made into an object [INFO] [stderr] --> src/lib.rs:193:14 [INFO] [stderr] | [INFO] [stderr] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(where_clauses_object_safety)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:193:14 [INFO] [stderr] | [INFO] [stderr] 192 | pub trait MsgHandler { [INFO] [stderr] | ---------- this trait cannot be made into an object... [INFO] [stderr] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stderr] | ^^^^^^^ ...because method `handler` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `handler` to another trait [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/lib.rs:305:5 [INFO] [stderr] | [INFO] [stderr] 288 | / loop { [INFO] [stderr] 289 | | reader.sub(nsq_topic.as_str(), nsq_channel.as_str()).await?; [INFO] [stderr] 290 | | 'a: loop { [INFO] [stderr] 291 | | dbg!("msg_receiver"); [INFO] [stderr] ... | [INFO] [stderr] 303 | | reader.reconnect().await?; [INFO] [stderr] 304 | | } [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] 305 | Ok(reader) [INFO] [stderr] | ^^^^^^^^^^ unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/reader.rs:196:9 [INFO] [stderr] | [INFO] [stderr] 132 | / loop { [INFO] [stderr] 133 | | if let Some(mut raw_data) = raw_receiver.recv().await { [INFO] [stderr] 134 | | all_data.append(&mut raw_data); [INFO] [stderr] 135 | | } [INFO] [stderr] ... | [INFO] [stderr] 194 | | } [INFO] [stderr] 195 | | } [INFO] [stderr] | |_________- any code following this expression is unreachable [INFO] [stderr] 196 | Ok(()) [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/reader.rs:120:9 [INFO] [stderr] | [INFO] [stderr] 101 | / loop { [INFO] [stderr] 102 | | let mut tmpbuf = vec![0u8; 1024]; [INFO] [stderr] 103 | | dbg!("wait for read"); [INFO] [stderr] 104 | | let n = reader.read(&mut tmpbuf).await?; [INFO] [stderr] ... | [INFO] [stderr] 118 | | } [INFO] [stderr] 119 | | } [INFO] [stderr] | |_________- any code following this expression is unreachable [INFO] [stderr] 120 | dbg!("read_data finish"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/writer.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 95 | / loop { [INFO] [stderr] 96 | | let mut tmpbuf = vec![0u8; 1024]; [INFO] [stderr] 97 | | dbg!("wait for read"); [INFO] [stderr] 98 | | let n = reader.read(&mut tmpbuf).await?; [INFO] [stderr] ... | [INFO] [stderr] 106 | | } [INFO] [stderr] 107 | | } [INFO] [stderr] | |_________- any code following this expression is unreachable [INFO] [stderr] 108 | dbg!("read_data finish"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused variable: `m_interval` [INFO] [stderr] --> src/lib.rs:230:22 [INFO] [stderr] | [INFO] [stderr] 230 | Some(m_interval) => { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_m_interval` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/reader.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | let tmp = writer.write_all(" V2".as_bytes()).await?; [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/writer.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | let tmp = writer.write_all(" V2".as_bytes()).await?; [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:231:21 [INFO] [stderr] | [INFO] [stderr] 231 | self.nsqlookup(handler.clone()).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused return value of `Vec::::split_off` that must be used [INFO] [stderr] --> src/reader.rs:107:17 [INFO] [stderr] | [INFO] [stderr] 107 | tmpbuf.split_off(n); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: use `.truncate()` if you don't need the other half [INFO] [stderr] [INFO] [stderr] warning: unused return value of `Vec::::split_off` that must be used [INFO] [stderr] --> src/writer.rs:101:17 [INFO] [stderr] | [INFO] [stderr] 101 | tmpbuf.split_off(n); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: use `.truncate()` if you don't need the other half [INFO] [stderr] [INFO] [stderr] warning: 21 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused import: `async_std::future` [INFO] [stderr] --> src/lib.rs:170:5 [INFO] [stderr] | [INFO] [stderr] 170 | use async_std::future; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `IdentifyConfig` [INFO] [stderr] --> src/reader.rs:1:28 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::data::{Address, IdentifyConfig, Msg}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `async_std::future` [INFO] [stderr] --> src/reader.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use async_std::future; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BytesMut` [INFO] [stderr] --> src/reader.rs:10:21 [INFO] [stderr] | [INFO] [stderr] 10 | use bytes::{BufMut, BytesMut}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Deserialize`, `Serialize` [INFO] [stderr] --> src/reader.rs:11:13 [INFO] [stderr] | [INFO] [stderr] 11 | use serde::{Deserialize, Serialize}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::json` [INFO] [stderr] --> src/reader.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use serde_json::json; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `async_std::future` [INFO] [stderr] --> src/writer.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use async_std::future; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Mutex`, `Receiver`, `Sender`, `channel` [INFO] [stderr] --> src/writer.rs:5:23 [INFO] [stderr] | [INFO] [stderr] 5 | use async_std::sync::{channel, Arc, Mutex, Receiver, Sender}; [INFO] [stderr] | ^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BytesMut` [INFO] [stderr] --> src/writer.rs:10:21 [INFO] [stderr] | [INFO] [stderr] 10 | use bytes::{BufMut, BytesMut}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Deserialize` [INFO] [stderr] --> src/writer.rs:11:13 [INFO] [stderr] | [INFO] [stderr] 11 | use serde::{Deserialize, Serialize}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the trait `MsgHandler` cannot be made into an object [INFO] [stderr] --> src/lib.rs:193:14 [INFO] [stderr] | [INFO] [stderr] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(where_clauses_object_safety)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:193:14 [INFO] [stderr] | [INFO] [stderr] 192 | pub trait MsgHandler { [INFO] [stderr] | ---------- this trait cannot be made into an object... [INFO] [stderr] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stderr] | ^^^^^^^ ...because method `handler` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `handler` to another trait [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/lib.rs:305:5 [INFO] [stderr] | [INFO] [stderr] 288 | / loop { [INFO] [stderr] 289 | | reader.sub(nsq_topic.as_str(), nsq_channel.as_str()).await?; [INFO] [stderr] 290 | | 'a: loop { [INFO] [stderr] 291 | | dbg!("msg_receiver"); [INFO] [stderr] ... | [INFO] [stderr] 303 | | reader.reconnect().await?; [INFO] [stderr] 304 | | } [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] 305 | Ok(reader) [INFO] [stderr] | ^^^^^^^^^^ unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/reader.rs:196:9 [INFO] [stderr] | [INFO] [stderr] 132 | / loop { [INFO] [stderr] 133 | | if let Some(mut raw_data) = raw_receiver.recv().await { [INFO] [stderr] 134 | | all_data.append(&mut raw_data); [INFO] [stderr] 135 | | } [INFO] [stderr] ... | [INFO] [stderr] 194 | | } [INFO] [stderr] 195 | | } [INFO] [stderr] | |_________- any code following this expression is unreachable [INFO] [stderr] 196 | Ok(()) [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/reader.rs:120:9 [INFO] [stderr] | [INFO] [stderr] 101 | / loop { [INFO] [stderr] 102 | | let mut tmpbuf = vec![0u8; 1024]; [INFO] [stderr] 103 | | dbg!("wait for read"); [INFO] [stderr] 104 | | let n = reader.read(&mut tmpbuf).await?; [INFO] [stderr] ... | [INFO] [stderr] 118 | | } [INFO] [stderr] 119 | | } [INFO] [stderr] | |_________- any code following this expression is unreachable [INFO] [stderr] 120 | dbg!("read_data finish"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/writer.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 95 | / loop { [INFO] [stderr] 96 | | let mut tmpbuf = vec![0u8; 1024]; [INFO] [stderr] 97 | | dbg!("wait for read"); [INFO] [stderr] 98 | | let n = reader.read(&mut tmpbuf).await?; [INFO] [stderr] ... | [INFO] [stderr] 106 | | } [INFO] [stderr] 107 | | } [INFO] [stderr] | |_________- any code following this expression is unreachable [INFO] [stderr] 108 | dbg!("read_data finish"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused variable: `m_interval` [INFO] [stderr] --> src/lib.rs:230:22 [INFO] [stderr] | [INFO] [stderr] 230 | Some(m_interval) => { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_m_interval` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/reader.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | let tmp = writer.write_all(" V2".as_bytes()).await?; [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/writer.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | let tmp = writer.write_all(" V2".as_bytes()).await?; [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:231:21 [INFO] [stderr] | [INFO] [stderr] 231 | self.nsqlookup(handler.clone()).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused return value of `Vec::::split_off` that must be used [INFO] [stderr] --> src/reader.rs:107:17 [INFO] [stderr] | [INFO] [stderr] 107 | tmpbuf.split_off(n); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: use `.truncate()` if you don't need the other half [INFO] [stderr] [INFO] [stderr] warning: unused return value of `Vec::::split_off` that must be used [INFO] [stderr] --> src/writer.rs:101:17 [INFO] [stderr] | [INFO] [stderr] 101 | tmpbuf.split_off(n); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: use `.truncate()` if you don't need the other half [INFO] [stderr] [INFO] [stderr] warning: 21 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: the trait `MsgHandler` cannot be made into an object [INFO] [stderr] --> /opt/rustwide/workdir/src/lib.rs:193:14 [INFO] [stderr] | [INFO] [stderr] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(where_clauses_object_safety)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> /opt/rustwide/workdir/src/lib.rs:193:14 [INFO] [stderr] | [INFO] [stderr] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stderr] | ^^^^^^^ the trait cannot be made into an object because method `handler` references the `Self` type in its `where` clause [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/integrations_test.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | let mut reader = subscribe( [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> tests/integrations_test.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 88 | / loop { [INFO] [stderr] 89 | | let tt = TestMsg { [INFO] [stderr] 90 | | name: "ss".to_string(), [INFO] [stderr] 91 | | }; [INFO] [stderr] ... | [INFO] [stderr] 107 | | task::sleep(Duration::from_secs(1)).await; [INFO] [stderr] 108 | | } [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] 109 | Ok(()) [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `res` [INFO] [stderr] --> tests/integrations_test.rs:37:15 [INFO] [stderr] | [INFO] [stderr] 37 | if let Ok(res) = msg.req(1000).await { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `reader` [INFO] [stderr] --> tests/integrations_test.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | let mut reader = subscribe( [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_reader` [INFO] [stderr] --> tests/integrations_test.rs:44:10 [INFO] [stderr] | [INFO] [stderr] 44 | async fn test_reader() -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_writer` [INFO] [stderr] --> tests/integrations_test.rs:79:10 [INFO] [stderr] | [INFO] [stderr] 79 | async fn test_writer() -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> tests/integrations_test.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | dbg!(res); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: 8 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: the trait `MsgHandler` cannot be made into an object [INFO] [stderr] --> /opt/rustwide/workdir/src/lib.rs:193:14 [INFO] [stderr] | [INFO] [stderr] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(where_clauses_object_safety)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> /opt/rustwide/workdir/src/lib.rs:193:14 [INFO] [stderr] | [INFO] [stderr] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stderr] | ^^^^^^^ the trait cannot be made into an object because method `handler` references the `Self` type in its `where` clause [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/integrations_test.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | let mut reader = subscribe( [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> tests/integrations_test.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 88 | / loop { [INFO] [stderr] 89 | | let tt = TestMsg { [INFO] [stderr] 90 | | name: "ss".to_string(), [INFO] [stderr] 91 | | }; [INFO] [stderr] ... | [INFO] [stderr] 107 | | task::sleep(Duration::from_secs(1)).await; [INFO] [stderr] 108 | | } [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] 109 | Ok(()) [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `res` [INFO] [stderr] --> tests/integrations_test.rs:37:15 [INFO] [stderr] | [INFO] [stderr] 37 | if let Ok(res) = msg.req(1000).await { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `reader` [INFO] [stderr] --> tests/integrations_test.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | let mut reader = subscribe( [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_reader` [INFO] [stderr] --> tests/integrations_test.rs:44:10 [INFO] [stderr] | [INFO] [stderr] 44 | async fn test_reader() -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_writer` [INFO] [stderr] --> tests/integrations_test.rs:79:10 [INFO] [stderr] | [INFO] [stderr] 79 | async fn test_writer() -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> tests/integrations_test.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | dbg!(res); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: 8 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: the trait `MsgHandler` cannot be made into an object [INFO] [stderr] --> /opt/rustwide/workdir/src/lib.rs:193:14 [INFO] [stderr] | [INFO] [stderr] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(where_clauses_object_safety)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> /opt/rustwide/workdir/src/lib.rs:193:14 [INFO] [stderr] | [INFO] [stderr] 193 | async fn handler(&self, msg: Msg) -> Option { [INFO] [stderr] | ^^^^^^^ the trait cannot be made into an object because method `handler` references the `Self` type in its `where` clause [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/integrations_test.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | let mut reader = subscribe( [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> tests/integrations_test.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 88 | / loop { [INFO] [stderr] 89 | | let tt = TestMsg { [INFO] [stderr] 90 | | name: "ss".to_string(), [INFO] [stderr] 91 | | }; [INFO] [stderr] ... | [INFO] [stderr] 107 | | task::sleep(Duration::from_secs(1)).await; [INFO] [stderr] 108 | | } [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] 109 | Ok(()) [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `res` [INFO] [stderr] --> tests/integrations_test.rs:37:15 [INFO] [stderr] | [INFO] [stderr] 37 | if let Ok(res) = msg.req(1000).await { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `reader` [INFO] [stderr] --> tests/integrations_test.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | let mut reader = subscribe( [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_reader` [INFO] [stderr] --> tests/integrations_test.rs:44:10 [INFO] [stderr] | [INFO] [stderr] 44 | async fn test_reader() -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_writer` [INFO] [stderr] --> tests/integrations_test.rs:79:10 [INFO] [stderr] | [INFO] [stderr] 79 | async fn test_writer() -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> tests/integrations_test.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | dbg!(res); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: 8 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.81s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/asyncnsq-ed84e6b6e4f6cadc [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 [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/integrations_test-bc8b16cb0dc628d6 [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 [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/integrations_test-10f4cbcae504fa12 [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stderr] Running /opt/rustwide/target/debug/deps/publish_test-ebbc2ddcbf24f709 [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test test_publish ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- test_publish stdout ---- [INFO] [stdout] [tests/publish_test.rs:11] "test_publish" = "test_publish" [INFO] [stdout] Error: Custom { kind: Other, error: VerboseError { source: Os { code: 101, kind: Other, message: "Network is unreachable" }, message: "could not connect to 10.64.146.231:4150" } } [INFO] [stdout] thread 'test_publish' panicked at 'assertion failed: `(left == right)` [INFO] [stdout] left: `1`, [INFO] [stdout] right: `0`: the test returned a termination value with a non-zero status code (1) which indicates a failure', /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/test/src/lib.rs:192:5 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x55fb73253ee0 - std::backtrace_rs::backtrace::libunwind::trace::h95fc93571932622e [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5 [INFO] [stdout] 1: 0x55fb73253ee0 - std::backtrace_rs::backtrace::trace_unsynchronized::h4d0b90afc33151fd [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x55fb73253ee0 - std::sys_common::backtrace::_print_fmt::h93d302d001a3bf01 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x55fb73253ee0 - ::fmt::h7881e3a580134f9a [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x55fb7327874c - core::fmt::write::h1857a60b204f1b6a [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/core/src/fmt/mod.rs:1078:17 [INFO] [stdout] 5: 0x55fb7324cec2 - std::io::Write::write_fmt::hd17811b9a5dec54b [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/io/mod.rs:1519:15 [INFO] [stdout] 6: 0x55fb73256765 - std::sys_common::backtrace::_print::h3e3f9fed81bc11e9 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x55fb73256765 - std::sys_common::backtrace::print::hd22ac23fed5071c8 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x55fb73256765 - std::panicking::default_hook::{{closure}}::h1647bdcf68060e17 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/panicking.rs:208:50 [INFO] [stdout] 9: 0x55fb732562f2 - std::panicking::default_hook::hb08853b392b9404b [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/panicking.rs:222:9 [INFO] [stdout] 10: 0x55fb73256f01 - std::panicking::rust_panic_with_hook::h3624ee29da369ede [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/panicking.rs:591:17 [INFO] [stdout] 11: 0x55fb73256a47 - std::panicking::begin_panic_handler::{{closure}}::hefcfcedcde6bb6d9 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/panicking.rs:497:13 [INFO] [stdout] 12: 0x55fb7325439c - std::sys_common::backtrace::__rust_end_short_backtrace::heb130cec93caa706 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/sys_common/backtrace.rs:141:18 [INFO] [stdout] 13: 0x55fb732569a9 - rust_begin_unwind [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/panicking.rs:493:5 [INFO] [stdout] 14: 0x55fb7325695b - std::panicking::begin_panic_fmt::h37a25c59c4d54517 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/panicking.rs:435:5 [INFO] [stdout] 15: 0x55fb73137187 - test::assert_test_result::h1d9766248d0d0926 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/test/src/lib.rs:192:5 [INFO] [stdout] 16: 0x55fb73139873 - publish_test::test_publish::{{closure}}::hbf8e6fd2bf4504e1 [INFO] [stdout] at /opt/rustwide/workdir/tests/publish_test.rs:8:1 [INFO] [stdout] 17: 0x55fb73140eae - core::ops::function::FnOnce::call_once::h1ccdaa2b8e372a51 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 18: 0x55fb7316edb3 - core::ops::function::FnOnce::call_once::h72b3efc134abec04 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 19: 0x55fb7316edb3 - test::__rust_begin_short_backtrace::hf76173a3f44f554b [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/test/src/lib.rs:516:5 [INFO] [stdout] 20: 0x55fb7316d4a8 - as core::ops::function::FnOnce>::call_once::h49f5b686efed1e06 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/alloc/src/boxed.rs:1318:9 [INFO] [stdout] 21: 0x55fb7316d4a8 - as core::ops::function::FnOnce<()>>::call_once::h4879f836ca9aaead [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/panic.rs:322:9 [INFO] [stdout] 22: 0x55fb7316d4a8 - std::panicking::try::do_call::h9655796ce3021b6c [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/panicking.rs:379:40 [INFO] [stdout] 23: 0x55fb7316d4a8 - std::panicking::try::h346508ed448399f4 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/panicking.rs:343:19 [INFO] [stdout] 24: 0x55fb7316d4a8 - std::panic::catch_unwind::h00e84f4e9c3caaa0 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/panic.rs:396:14 [INFO] [stdout] 25: 0x55fb7316d4a8 - test::run_test_in_process::hc80321f825c30106 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/test/src/lib.rs:538:18 [INFO] [stdout] 26: 0x55fb7316d4a8 - test::run_test::run_test_inner::{{closure}}::h89c217441620999f [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/test/src/lib.rs:449:39 [INFO] [stdout] 27: 0x55fb73147a96 - std::sys_common::backtrace::__rust_begin_short_backtrace::h3852ec0877008db6 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/sys_common/backtrace.rs:125:18 [INFO] [stdout] 28: 0x55fb7314c25d - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h7c7dfff4b938ae67 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/thread/mod.rs:474:17 [INFO] [stdout] 29: 0x55fb7314c25d - as core::ops::function::FnOnce<()>>::call_once::h8db0dd15c072a403 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/panic.rs:322:9 [INFO] [stdout] 30: 0x55fb7314c25d - std::panicking::try::do_call::haad8639857ae1187 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/panicking.rs:379:40 [INFO] [stdout] 31: 0x55fb7314c25d - std::panicking::try::h61de115e9dce60f6 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/panicking.rs:343:19 [INFO] [stdout] 32: 0x55fb7314c25d - std::panic::catch_unwind::h50601fd82666a838 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/panic.rs:396:14 [INFO] [stdout] 33: 0x55fb7314c25d - std::thread::Builder::spawn_unchecked::{{closure}}::hac267391ef9d21bd [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/thread/mod.rs:473:30 [INFO] [stdout] 34: 0x55fb7314c25d - core::ops::function::FnOnce::call_once{{vtable.shim}}::heb15d2d9c42706b7 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 35: 0x55fb7325d0ea - as core::ops::function::FnOnce>::call_once::h5446ed3fdb82006e [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/alloc/src/boxed.rs:1318:9 [INFO] [stdout] 36: 0x55fb7325d0ea - as core::ops::function::FnOnce>::call_once::h62a21a889329a3f2 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/alloc/src/boxed.rs:1318:9 [INFO] [stdout] 37: 0x55fb7325d0ea - std::sys::unix::thread::Thread::new::thread_start::h62402416daf174b6 [INFO] [stdout] at /rustc/5d5ff84130da0d74c6ece368dbe821d8f83fa526/library/std/src/sys/unix/thread.rs:71:17 [INFO] [stdout] 38: 0x7f34be005609 - start_thread [INFO] [stdout] 39: 0x7f34bddd5293 - clone [INFO] [stdout] 40: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] test_publish [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass '--test publish_test' [INFO] running `Command { std: "docker" "inspect" "94be21289e40ee80d881548cf1dedecf71ecf2d9e7459ae896991650a85f554f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "94be21289e40ee80d881548cf1dedecf71ecf2d9e7459ae896991650a85f554f", kill_on_drop: false }` [INFO] [stdout] 94be21289e40ee80d881548cf1dedecf71ecf2d9e7459ae896991650a85f554f