[INFO] fetching crate knetrs 0.1.1... [INFO] linting knetrs-0.1.1 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate knetrs 0.1.1 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate knetrs 0.1.1 [INFO] finished tweaking crates.io crate knetrs 0.1.1 [INFO] tweaked toml for crates.io crate knetrs 0.1.1 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate knetrs 0.1.1 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 17 packages to latest compatible versions [INFO] [stderr] Adding heapless v0.7.17 (available: v0.9.2) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ffi-opaque v2.0.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 03ea36eab17059f89495646aec09ff91ab7340457897e1861d0fdc85cfb4e460 [INFO] running `Command { std: "docker" "start" "-a" "03ea36eab17059f89495646aec09ff91ab7340457897e1861d0fdc85cfb4e460", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "03ea36eab17059f89495646aec09ff91ab7340457897e1861d0fdc85cfb4e460", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "03ea36eab17059f89495646aec09ff91ab7340457897e1861d0fdc85cfb4e460", kill_on_drop: false }` [INFO] [stdout] 03ea36eab17059f89495646aec09ff91ab7340457897e1861d0fdc85cfb4e460 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6780c1c1d9e806d2d2aa1a9e6764800a2be1144170501cdd19d9dc7e2ca6aeab [INFO] running `Command { std: "docker" "start" "-a" "6780c1c1d9e806d2d2aa1a9e6764800a2be1144170501cdd19d9dc7e2ca6aeab", kill_on_drop: false }` [INFO] [stderr] Checking ffi-opaque v2.0.1 [INFO] [stderr] Compiling heapless v0.7.17 [INFO] [stderr] Compiling knetrs v0.1.1 (/opt/rustwide/workdir) [INFO] [stderr] warning: knetrs@0.1.1: In file included from knet/ringbuffer.h:28, [INFO] [stderr] warning: knetrs@0.1.1: from knet/ringbuffer.c:26: [INFO] [stderr] warning: knetrs@0.1.1: knet/ringbuffer.c: In function 'ringbuffer_copy_random': [INFO] [stderr] warning: knetrs@0.1.1: knet/ringbuffer.c:210:16: warning: comparison of unsigned expression in '>= 0' is always true [-Wtype-limits] [INFO] [stderr] warning: knetrs@0.1.1: 210 | verify(pos >= 0); [INFO] [stderr] warning: knetrs@0.1.1: | ^~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:318:15: note: in definition of macro 'verify' [INFO] [stderr] warning: knetrs@0.1.1: 318 | if (!(expr)) { \ [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~ [INFO] [stderr] warning: knetrs@0.1.1: In file included from knet/misc.h:29, [INFO] [stderr] warning: knetrs@0.1.1: from knet/misc.c:36: [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:179:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 179 | extern atomic_counter_t atomic_counter_inc(atomic_counter_t* counter); [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:186:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 186 | extern atomic_counter_t atomic_counter_dec(atomic_counter_t* counter); [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:195:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 195 | extern atomic_counter_t atomic_counter_cas(atomic_counter_t* counter, [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:204:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 204 | extern atomic_counter_t atomic_counter_set(atomic_counter_t* counter, [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/misc.c: In function 'socket_check_send_ready': [INFO] [stderr] warning: knetrs@0.1.1: knet/misc.c:416:38: warning: unused parameter 'socket_fd' [-Wunused-parameter] [INFO] [stderr] warning: knetrs@0.1.1: 416 | int socket_check_send_ready(socket_t socket_fd) { [INFO] [stderr] warning: knetrs@0.1.1: knet/misc.c: At top level: [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/misc.c:683:1: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 683 | atomic_counter_t atomic_counter_inc(atomic_counter_t* counter) { [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/misc.c:691:1: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 691 | atomic_counter_t atomic_counter_dec(atomic_counter_t* counter) { [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/misc.c:699:1: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 699 | atomic_counter_t atomic_counter_cas(atomic_counter_t* counter, [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/misc.c:708:1: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 708 | atomic_counter_t atomic_counter_set(atomic_counter_t* counter, [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/misc.c: In function 'thread_runner_exit': [INFO] [stderr] warning: knetrs@0.1.1: knet/misc.c:1099:43: warning: unused parameter 'runner' [-Wunused-parameter] [INFO] [stderr] warning: knetrs@0.1.1: 1099 | void thread_runner_exit(kthread_runner_t* runner) { [INFO] [stderr] warning: knetrs@0.1.1: | ~~~~~~~~~~~~~~~~~~^~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: In file included from knet/list.h:28, [INFO] [stderr] warning: knetrs@0.1.1: from knet/list.c:26: [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:179:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 179 | extern atomic_counter_t atomic_counter_inc(atomic_counter_t* counter); [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:186:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 186 | extern atomic_counter_t atomic_counter_dec(atomic_counter_t* counter); [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:195:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 195 | extern atomic_counter_t atomic_counter_cas(atomic_counter_t* counter, [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:204:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 204 | extern atomic_counter_t atomic_counter_set(atomic_counter_t* counter, [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: In file included from knet/channel.h:28, [INFO] [stderr] warning: knetrs@0.1.1: from knet/channel.c:25: [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:179:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 179 | extern atomic_counter_t atomic_counter_inc(atomic_counter_t* counter); [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:186:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 186 | extern atomic_counter_t atomic_counter_dec(atomic_counter_t* counter); [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:195:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 195 | extern atomic_counter_t atomic_counter_cas(atomic_counter_t* counter, [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:204:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 204 | extern atomic_counter_t atomic_counter_set(atomic_counter_t* counter, [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: In file included from knet/misc.h:29, [INFO] [stderr] warning: knetrs@0.1.1: from knet/logger.c:27: [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:179:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 179 | extern atomic_counter_t atomic_counter_inc(atomic_counter_t* counter); [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:186:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 186 | extern atomic_counter_t atomic_counter_dec(atomic_counter_t* counter); [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:195:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 195 | extern atomic_counter_t atomic_counter_cas(atomic_counter_t* counter, [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:204:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 204 | extern atomic_counter_t atomic_counter_set(atomic_counter_t* counter, [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/logger.c: In function 'logger_write': [INFO] [stderr] warning: knetrs@0.1.1: knet/logger.c:131:23: warning: comparison of integer expressions of different signedness: 'knet_logger_level_e' {aka 'enum _logger_level_e'} and 'int' [-Wsign-compare] [INFO] [stderr] warning: knetrs@0.1.1: 131 | if (logger->level > level) { [INFO] [stderr] warning: knetrs@0.1.1: | ^ [INFO] [stderr] warning: knetrs@0.1.1: In file included from knet/channel_ref.h:28, [INFO] [stderr] warning: knetrs@0.1.1: from knet/channel_ref.c:25: [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:179:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 179 | extern atomic_counter_t atomic_counter_inc(atomic_counter_t* counter); [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:186:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 186 | extern atomic_counter_t atomic_counter_dec(atomic_counter_t* counter); [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:195:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 195 | extern atomic_counter_t atomic_counter_cas(atomic_counter_t* counter, [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:204:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 204 | extern atomic_counter_t atomic_counter_set(atomic_counter_t* counter, [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: In file included from knet/timer.h:28, [INFO] [stderr] warning: knetrs@0.1.1: from knet/timer.c:25: [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:179:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 179 | extern atomic_counter_t atomic_counter_inc(atomic_counter_t* counter); [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:186:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 186 | extern atomic_counter_t atomic_counter_dec(atomic_counter_t* counter); [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:195:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 195 | extern atomic_counter_t atomic_counter_cas(atomic_counter_t* counter, [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:204:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 204 | extern atomic_counter_t atomic_counter_set(atomic_counter_t* counter, [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: In file included from knet/stream.h:28, [INFO] [stderr] warning: knetrs@0.1.1: from knet/stream.c:25: [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:179:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 179 | extern atomic_counter_t atomic_counter_inc(atomic_counter_t* counter); [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:186:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 186 | extern atomic_counter_t atomic_counter_dec(atomic_counter_t* counter); [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:195:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 195 | extern atomic_counter_t atomic_counter_cas(atomic_counter_t* counter, [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:204:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 204 | extern atomic_counter_t atomic_counter_set(atomic_counter_t* counter, [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/rb_tree.c:52:1: warning: missing initializer for field 'cb' of 'krbnode_t' {aka 'struct _rb_node_t'} [-Wmissing-field-initializers] [INFO] [stderr] warning: knetrs@0.1.1: 52 | static krbnode_t nil_node = { 0, 0, 0, 0, 0, rb_color_black }; [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/rb_tree.c:40:31: note: 'cb' declared here [INFO] [stderr] warning: knetrs@0.1.1: | ^~ [INFO] [stderr] warning: knetrs@0.1.1: In file included from knet/loop_balancer.h:28, [INFO] [stderr] warning: knetrs@0.1.1: from knet/loop_balancer.c:25: [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:179:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 179 | extern atomic_counter_t atomic_counter_inc(atomic_counter_t* counter); [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:186:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 186 | extern atomic_counter_t atomic_counter_dec(atomic_counter_t* counter); [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:195:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 195 | extern atomic_counter_t atomic_counter_cas(atomic_counter_t* counter, [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:204:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 204 | extern atomic_counter_t atomic_counter_set(atomic_counter_t* counter, [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: In file included from knet/loop_impl.c:32: [INFO] [stderr] warning: knetrs@0.1.1: knet/loop_epoll.c: In function 'knet_impl_add_channel_ref': [INFO] [stderr] warning: knetrs@0.1.1: knet/loop_epoll.c:157:40: warning: unused parameter 'loop' [-Wunused-parameter] [INFO] [stderr] warning: knetrs@0.1.1: 157 | int knet_impl_add_channel_ref(kloop_t* loop, kchannel_ref_t* channel_ref) { [INFO] [stderr] warning: knetrs@0.1.1: | ~~~~~~~~~^~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/loop_epoll.c:157:62: warning: unused parameter 'channel_ref' [-Wunused-parameter] [INFO] [stderr] warning: knetrs@0.1.1: 157 | int knet_impl_add_channel_ref(kloop_t* loop, kchannel_ref_t* channel_ref) { [INFO] [stderr] warning: knetrs@0.1.1: | ~~~~~~~~~~~~~~~~^~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/loop_epoll.c: In function 'knet_impl_remove_channel_ref': [INFO] [stderr] warning: knetrs@0.1.1: knet/loop_epoll.c:161:43: warning: unused parameter 'loop' [-Wunused-parameter] [INFO] [stderr] warning: knetrs@0.1.1: 161 | int knet_impl_remove_channel_ref(kloop_t* loop, kchannel_ref_t* channel_ref) { [INFO] [stderr] warning: knetrs@0.1.1: | ~~~~~~~~~^~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/loop_epoll.c: In function 'knet_impl_channel_accept': [INFO] [stderr] warning: knetrs@0.1.1: knet/loop_epoll.c:167:51: warning: unused parameter 'channel_ref' [-Wunused-parameter] [INFO] [stderr] warning: knetrs@0.1.1: 167 | socket_t knet_impl_channel_accept(kchannel_ref_t* channel_ref) { [INFO] [stderr] warning: knetrs@0.1.1: | ~~~~~~~~~~~~~~~~^~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: In file included from knet/loop.c:25: [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:179:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 179 | extern atomic_counter_t atomic_counter_inc(atomic_counter_t* counter); [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:186:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 186 | extern atomic_counter_t atomic_counter_dec(atomic_counter_t* counter); [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:195:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 195 | extern atomic_counter_t atomic_counter_cas(atomic_counter_t* counter, [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/config.h:96:30: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] [INFO] [stderr] warning: knetrs@0.1.1: 96 | #define atomic_counter_t volatile int [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~ [INFO] [stderr] warning: knetrs@0.1.1: knet/thread_api.h:204:8: note: in expansion of macro 'atomic_counter_t' [INFO] [stderr] warning: knetrs@0.1.1: 204 | extern atomic_counter_t atomic_counter_set(atomic_counter_t* counter, [INFO] [stderr] warning: knetrs@0.1.1: | ^~~~~~~~~~~~~~~~ [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:815:17 [INFO] [stdout] | [INFO] [stdout] 815 | port: port, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `port` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:840:56 [INFO] [stdout] | [INFO] [stdout] 840 | NetEvent::EventCloseReq(NetEventCloseReq { chan_id: chan_id }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `chan_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:844:51 [INFO] [stdout] | [INFO] [stdout] 844 | fn _default_on_accept_cb(_self: &KnetNetwork, _1: &str, _2: i32, _3: bool) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] = note: `#[warn(clippy::just_underscores_and_digits)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:844:61 [INFO] [stdout] | [INFO] [stdout] 844 | fn _default_on_accept_cb(_self: &KnetNetwork, _1: &str, _2: i32, _3: bool) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:844:70 [INFO] [stdout] | [INFO] [stdout] 844 | fn _default_on_accept_cb(_self: &KnetNetwork, _1: &str, _2: i32, _3: bool) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:845:52 [INFO] [stdout] | [INFO] [stdout] 845 | fn _default_on_connect_cb(_self: &KnetNetwork, _0: u64, _1: &str, _2: i32, _3: bool) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:845:61 [INFO] [stdout] | [INFO] [stdout] 845 | fn _default_on_connect_cb(_self: &KnetNetwork, _0: u64, _1: &str, _2: i32, _3: bool) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:845:71 [INFO] [stdout] | [INFO] [stdout] 845 | fn _default_on_connect_cb(_self: &KnetNetwork, _0: u64, _1: &str, _2: i32, _3: bool) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:845:80 [INFO] [stdout] | [INFO] [stdout] 845 | fn _default_on_connect_cb(_self: &KnetNetwork, _0: u64, _1: &str, _2: i32, _3: bool) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:846:49 [INFO] [stdout] | [INFO] [stdout] 846 | fn _default_on_read_cb(_self: &KnetNetwork, _1: u64, _2: &Vec) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:846:58 [INFO] [stdout] | [INFO] [stdout] 846 | fn _default_on_read_cb(_self: &KnetNetwork, _1: u64, _2: &Vec) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:847:50 [INFO] [stdout] | [INFO] [stdout] 847 | fn _default_on_close_cb(_self: &KnetNetwork, _1: u64) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:848:51 [INFO] [stdout] | [INFO] [stdout] 848 | fn _default_on_client_cb(_self: &KnetNetwork, _1: u64) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | return self.close_flag; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 127 - return self.close_flag; [INFO] [stdout] 127 + self.close_flag [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | return knet_channel_ref_get_uuid(self.channel_ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 140 - return knet_channel_ref_get_uuid(self.channel_ptr); [INFO] [stdout] 140 + knet_channel_ref_get_uuid(self.channel_ptr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:153:17 [INFO] [stdout] | [INFO] [stdout] 153 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 153 - return 0; [INFO] [stdout] 153 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:155:17 [INFO] [stdout] | [INFO] [stdout] 155 | return knet_stream_available(stream); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 155 - return knet_stream_available(stream); [INFO] [stdout] 155 + knet_stream_available(stream) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:173:17 [INFO] [stdout] | [INFO] [stdout] 173 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 173 - return 0; [INFO] [stdout] 173 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:180:21 [INFO] [stdout] | [INFO] [stdout] 180 | return size; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 180 - return size; [INFO] [stdout] 180 + size [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:182:21 [INFO] [stdout] | [INFO] [stdout] 182 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 182 - return 0; [INFO] [stdout] 182 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:196:17 [INFO] [stdout] | [INFO] [stdout] 196 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 196 - return 0; [INFO] [stdout] 196 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:203:21 [INFO] [stdout] | [INFO] [stdout] 203 | return size; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 203 - return size; [INFO] [stdout] 203 + size [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:205:21 [INFO] [stdout] | [INFO] [stdout] 205 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 205 - return 0; [INFO] [stdout] 205 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:220:17 [INFO] [stdout] | [INFO] [stdout] 220 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 220 - return 0; [INFO] [stdout] 220 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:212:46 [INFO] [stdout] | [INFO] [stdout] 212 | pub fn write(self: &mut Channel, buffer: &Vec) -> i32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 212 - pub fn write(self: &mut Channel, buffer: &Vec) -> i32 { [INFO] [stdout] 212 + pub fn write(self: &mut Channel, buffer: &[u8]) -> i32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:815:17 [INFO] [stdout] | [INFO] [stdout] 815 | port: port, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `port` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:840:56 [INFO] [stdout] | [INFO] [stdout] 840 | NetEvent::EventCloseReq(NetEventCloseReq { chan_id: chan_id }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `chan_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:844:51 [INFO] [stdout] | [INFO] [stdout] 844 | fn _default_on_accept_cb(_self: &KnetNetwork, _1: &str, _2: i32, _3: bool) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] = note: `#[warn(clippy::just_underscores_and_digits)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:844:61 [INFO] [stdout] | [INFO] [stdout] 844 | fn _default_on_accept_cb(_self: &KnetNetwork, _1: &str, _2: i32, _3: bool) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:844:70 [INFO] [stdout] | [INFO] [stdout] 844 | fn _default_on_accept_cb(_self: &KnetNetwork, _1: &str, _2: i32, _3: bool) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:845:52 [INFO] [stdout] | [INFO] [stdout] 845 | fn _default_on_connect_cb(_self: &KnetNetwork, _0: u64, _1: &str, _2: i32, _3: bool) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:845:61 [INFO] [stdout] | [INFO] [stdout] 845 | fn _default_on_connect_cb(_self: &KnetNetwork, _0: u64, _1: &str, _2: i32, _3: bool) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:845:71 [INFO] [stdout] | [INFO] [stdout] 845 | fn _default_on_connect_cb(_self: &KnetNetwork, _0: u64, _1: &str, _2: i32, _3: bool) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:845:80 [INFO] [stdout] | [INFO] [stdout] 845 | fn _default_on_connect_cb(_self: &KnetNetwork, _0: u64, _1: &str, _2: i32, _3: bool) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:846:49 [INFO] [stdout] | [INFO] [stdout] 846 | fn _default_on_read_cb(_self: &KnetNetwork, _1: u64, _2: &Vec) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:846:58 [INFO] [stdout] | [INFO] [stdout] 846 | fn _default_on_read_cb(_self: &KnetNetwork, _1: u64, _2: &Vec) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:847:50 [INFO] [stdout] | [INFO] [stdout] 847 | fn _default_on_close_cb(_self: &KnetNetwork, _1: u64) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:848:51 [INFO] [stdout] | [INFO] [stdout] 848 | fn _default_on_client_cb(_self: &KnetNetwork, _1: u64) {} [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | return ("", 0); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 233 - return ("", 0); [INFO] [stdout] 233 + ("", 0) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:247:13 [INFO] [stdout] | [INFO] [stdout] 247 | return ("", 0); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 247 - return ("", 0); [INFO] [stdout] 247 + ("", 0) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:376:53 [INFO] [stdout] | [INFO] [stdout] 376 | channel_mut.as_ref().borrow_mut().write(&data); [INFO] [stdout] | ^^^^^ help: change this to: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:421:35 [INFO] [stdout] | [INFO] [stdout] 421 | let mut _cb = (*channel_sptr.clone().as_ref().borrow_mut()).cb.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `channel_sptr.clone().as_ref().borrow_mut()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:423:25 [INFO] [stdout] | [INFO] [stdout] 423 | &mut *channel_sptr.clone().as_ref().borrow_mut(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut channel_sptr.clone().as_ref().borrow_mut()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:439:35 [INFO] [stdout] | [INFO] [stdout] 439 | let mut _cb = (*channel_sptr.clone().as_ref().borrow_mut()).cb.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `channel_sptr.clone().as_ref().borrow_mut()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:441:25 [INFO] [stdout] | [INFO] [stdout] 441 | &mut *channel_sptr.clone().as_ref().borrow_mut(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut channel_sptr.clone().as_ref().borrow_mut()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:499:35 [INFO] [stdout] | [INFO] [stdout] 499 | let mut _cb = (*channel_sptr.clone().as_ref().borrow_mut()).cb.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `channel_sptr.clone().as_ref().borrow_mut()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:501:25 [INFO] [stdout] | [INFO] [stdout] 501 | &mut *channel_sptr.clone().as_ref().borrow_mut(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut channel_sptr.clone().as_ref().borrow_mut()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: all variants have the same prefix: `Event` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:680:1 [INFO] [stdout] | [INFO] [stdout] 680 | / enum NetEvent { [INFO] [stdout] 681 | | EventListenReq(NetEventListenReq), [INFO] [stdout] 682 | | EventListenAck(NetEventListenAck), [INFO] [stdout] 683 | | EventConnectReq(NetEventConnectReq), [INFO] [stdout] ... | [INFO] [stdout] 689 | | EventDataNtf(NetEventDataNtf), [INFO] [stdout] 690 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:698:19 [INFO] [stdout] | [INFO] [stdout] 698 | on_accept_cb: Rc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:699:20 [INFO] [stdout] | [INFO] [stdout] 699 | on_connect_cb: Rc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:700:17 [INFO] [stdout] | [INFO] [stdout] 700 | on_read_cb: Rc)>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:701:18 [INFO] [stdout] | [INFO] [stdout] 701 | on_close_cb: Rc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:702:19 [INFO] [stdout] | [INFO] [stdout] 702 | on_client_cb: Rc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:715:9 [INFO] [stdout] | [INFO] [stdout] 715 | / Arc::new(Mutex::new(KnetNetwork { [INFO] [stdout] 716 | | running: sync::Arc::new(AtomicBool::new(false)), [INFO] [stdout] 717 | | net_to_worker_queue: Arc::new(Mutex::new(Queue::new())), [INFO] [stdout] 718 | | worker_to_net_queue: Arc::new(Mutex::new(Queue::new())), [INFO] [stdout] ... | [INFO] [stdout] 724 | | on_client_cb: Rc::new(RefCell::new(KnetNetwork::_default_on_client_cb)), [INFO] [stdout] 725 | | })) [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>` is not `Send` and `Sync` as `Mutex` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `Mutex` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:826:57 [INFO] [stdout] | [INFO] [stdout] 826 | pub fn send(self: &KnetNetwork, chan_id: u64, data: &Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 826 - pub fn send(self: &KnetNetwork, chan_id: u64, data: &Vec) { [INFO] [stdout] 826 + pub fn send(self: &KnetNetwork, chan_id: u64, data: &[u8]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1066:59 [INFO] [stdout] | [INFO] [stdout] 1066 | (*self.on_accept_cb).borrow_mut()(&self, &ack.ip, ack.port, ack.success); [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1070:29 [INFO] [stdout] | [INFO] [stdout] 1070 | ... &self, [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1078:58 [INFO] [stdout] | [INFO] [stdout] 1078 | (*self.on_close_cb).borrow_mut()(&self, ntf.chan_id); [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1081:59 [INFO] [stdout] | [INFO] [stdout] 1081 | (*self.on_client_cb).borrow_mut()(&self, ntf.chan_id); [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1084:57 [INFO] [stdout] | [INFO] [stdout] 1084 | (*self.on_read_cb).borrow_mut()(&self, ntf.chan_id, &ntf.data); [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1143:17 [INFO] [stdout] | [INFO] [stdout] 1143 | assert!(!ret.is_none(), "loop is null"); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `ret.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1149:17 [INFO] [stdout] | [INFO] [stdout] 1149 | assert!(!ret.is_none(), "loop is null"); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `ret.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1156:17 [INFO] [stdout] | [INFO] [stdout] 1156 | assert!(!ret.is_none(), "loop is null"); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `ret.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1164:24 [INFO] [stdout] | [INFO] [stdout] 1164 | Some(_) => assert!(true), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] = note: `#[warn(clippy::assertions_on_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1165:21 [INFO] [stdout] | [INFO] [stdout] 1165 | None => assert!(false), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1172:17 [INFO] [stdout] | [INFO] [stdout] 1172 | assert!(!ret.is_none(), "loop is null"); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `ret.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1181:24 [INFO] [stdout] | [INFO] [stdout] 1181 | Some(_) => assert!(true), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1182:21 [INFO] [stdout] | [INFO] [stdout] 1182 | None => assert!(false), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1191:24 [INFO] [stdout] | [INFO] [stdout] 1191 | Some(_) => assert!(true), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1192:21 [INFO] [stdout] | [INFO] [stdout] 1192 | None => assert!(false), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1200:17 [INFO] [stdout] | [INFO] [stdout] 1200 | assert!(!ret.is_none(), "loop is null"); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `ret.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1209:24 [INFO] [stdout] | [INFO] [stdout] 1209 | Some(_) => assert!(true), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1210:21 [INFO] [stdout] | [INFO] [stdout] 1210 | None => assert!(false), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1218:17 [INFO] [stdout] | [INFO] [stdout] 1218 | assert!(!ret.is_none(), "loop is null"); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `ret.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1227:24 [INFO] [stdout] | [INFO] [stdout] 1227 | Some(_) => assert!(true), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1228:21 [INFO] [stdout] | [INFO] [stdout] 1228 | None => assert!(false), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1237:24 [INFO] [stdout] | [INFO] [stdout] 1237 | Some(_) => assert!(true), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1238:21 [INFO] [stdout] | [INFO] [stdout] 1238 | None => assert!(false), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1247:17 [INFO] [stdout] | [INFO] [stdout] 1247 | assert!(!ret.is_none(), "loop is null"); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `ret.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1256:24 [INFO] [stdout] | [INFO] [stdout] 1256 | Some(_) => assert!(true), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1257:21 [INFO] [stdout] | [INFO] [stdout] 1257 | None => assert!(false), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1266:24 [INFO] [stdout] | [INFO] [stdout] 1266 | Some(_) => assert!(true), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1267:21 [INFO] [stdout] | [INFO] [stdout] 1267 | None => assert!(false), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1286:17 [INFO] [stdout] | [INFO] [stdout] 1286 | assert!(!ret.is_none(), "loop is null"); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `ret.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1297:24 [INFO] [stdout] | [INFO] [stdout] 1297 | Some(_) => assert!(true), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1298:21 [INFO] [stdout] | [INFO] [stdout] 1298 | None => assert!(false), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1309:24 [INFO] [stdout] | [INFO] [stdout] 1309 | Some(_) => assert!(true), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1310:21 [INFO] [stdout] | [INFO] [stdout] 1310 | None => assert!(false), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1325:17 [INFO] [stdout] | [INFO] [stdout] 1325 | assert!(!ret.is_none(), "loop is null"); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `ret.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1336:24 [INFO] [stdout] | [INFO] [stdout] 1336 | Some(_) => assert!(true), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1337:21 [INFO] [stdout] | [INFO] [stdout] 1337 | None => assert!(false), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1348:24 [INFO] [stdout] | [INFO] [stdout] 1348 | Some(_) => assert!(true), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1349:21 [INFO] [stdout] | [INFO] [stdout] 1349 | None => assert!(false), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1366:17 [INFO] [stdout] | [INFO] [stdout] 1366 | assert!(!ret.is_none(), "loop is null"); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `ret.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1383:21 [INFO] [stdout] | [INFO] [stdout] 1383 | / let mut vec: Vec = Vec::new(); [INFO] [stdout] 1384 | | vec.push(1); [INFO] [stdout] 1385 | | vec.push(2); [INFO] [stdout] 1386 | | vec.push(3); [INFO] [stdout] | |________________________________^ help: consider using the `vec![]` macro: `let vec: Vec = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1396:24 [INFO] [stdout] | [INFO] [stdout] 1396 | Some(_) => assert!(true), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1397:21 [INFO] [stdout] | [INFO] [stdout] 1397 | None => assert!(false), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1410:24 [INFO] [stdout] | [INFO] [stdout] 1410 | Some(_) => assert!(true), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1411:21 [INFO] [stdout] | [INFO] [stdout] 1411 | None => assert!(false), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1423:17 [INFO] [stdout] | [INFO] [stdout] 1423 | assert!(!ret.is_none(), "loop is null"); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `ret.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be replaced by its body itself [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1429:72 [INFO] [stdout] | [INFO] [stdout] 1429 | move |_chan: &mut knet::Channel, _e: knet::ChannelCbEvent| match _e { [INFO] [stdout] | ________________________________________________________________________^ [INFO] [stdout] 1430 | | _ => assert!(_e == knet::ChannelCbEvent::ChannelCbEventAcceptFailed), [INFO] [stdout] 1431 | | }, [INFO] [stdout] | |_____________^ help: consider using the match body instead: `assert!(_e == knet::ChannelCbEvent::ChannelCbEventAcceptFailed)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] = note: `#[warn(clippy::match_single_binding)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1434:24 [INFO] [stdout] | [INFO] [stdout] 1434 | Some(_) => assert!(false), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1435:21 [INFO] [stdout] | [INFO] [stdout] 1435 | None => assert!(true), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1508:17 [INFO] [stdout] | [INFO] [stdout] 1508 | / let mut vec: Vec = Vec::new(); [INFO] [stdout] 1509 | | vec.push(1); [INFO] [stdout] 1510 | | vec.push(2); [INFO] [stdout] 1511 | | vec.push(3); [INFO] [stdout] | |____________________________^ help: consider using the `vec![]` macro: `let vec: Vec = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1555:17 [INFO] [stdout] | [INFO] [stdout] 1555 | / let mut vec: Vec = Vec::new(); [INFO] [stdout] 1556 | | vec.push(1); [INFO] [stdout] 1557 | | vec.push(2); [INFO] [stdout] 1558 | | vec.push(3); [INFO] [stdout] | |____________________________^ help: consider using the `vec![]` macro: `let vec: Vec = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | return self.close_flag; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 127 - return self.close_flag; [INFO] [stdout] 127 + self.close_flag [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | return knet_channel_ref_get_uuid(self.channel_ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 140 - return knet_channel_ref_get_uuid(self.channel_ptr); [INFO] [stdout] 140 + knet_channel_ref_get_uuid(self.channel_ptr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:153:17 [INFO] [stdout] | [INFO] [stdout] 153 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 153 - return 0; [INFO] [stdout] 153 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:155:17 [INFO] [stdout] | [INFO] [stdout] 155 | return knet_stream_available(stream); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 155 - return knet_stream_available(stream); [INFO] [stdout] 155 + knet_stream_available(stream) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:173:17 [INFO] [stdout] | [INFO] [stdout] 173 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 173 - return 0; [INFO] [stdout] 173 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:180:21 [INFO] [stdout] | [INFO] [stdout] 180 | return size; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 180 - return size; [INFO] [stdout] 180 + size [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:182:21 [INFO] [stdout] | [INFO] [stdout] 182 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 182 - return 0; [INFO] [stdout] 182 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:196:17 [INFO] [stdout] | [INFO] [stdout] 196 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 196 - return 0; [INFO] [stdout] 196 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:203:21 [INFO] [stdout] | [INFO] [stdout] 203 | return size; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 203 - return size; [INFO] [stdout] 203 + size [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:205:21 [INFO] [stdout] | [INFO] [stdout] 205 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 205 - return 0; [INFO] [stdout] 205 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:220:17 [INFO] [stdout] | [INFO] [stdout] 220 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 220 - return 0; [INFO] [stdout] 220 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:212:46 [INFO] [stdout] | [INFO] [stdout] 212 | pub fn write(self: &mut Channel, buffer: &Vec) -> i32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 212 - pub fn write(self: &mut Channel, buffer: &Vec) -> i32 { [INFO] [stdout] 212 + pub fn write(self: &mut Channel, buffer: &[u8]) -> i32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | return ("", 0); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 233 - return ("", 0); [INFO] [stdout] 233 + ("", 0) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:247:13 [INFO] [stdout] | [INFO] [stdout] 247 | return ("", 0); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 247 - return ("", 0); [INFO] [stdout] 247 + ("", 0) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:376:53 [INFO] [stdout] | [INFO] [stdout] 376 | channel_mut.as_ref().borrow_mut().write(&data); [INFO] [stdout] | ^^^^^ help: change this to: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:421:35 [INFO] [stdout] | [INFO] [stdout] 421 | let mut _cb = (*channel_sptr.clone().as_ref().borrow_mut()).cb.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `channel_sptr.clone().as_ref().borrow_mut()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:423:25 [INFO] [stdout] | [INFO] [stdout] 423 | &mut *channel_sptr.clone().as_ref().borrow_mut(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut channel_sptr.clone().as_ref().borrow_mut()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:439:35 [INFO] [stdout] | [INFO] [stdout] 439 | let mut _cb = (*channel_sptr.clone().as_ref().borrow_mut()).cb.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `channel_sptr.clone().as_ref().borrow_mut()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:441:25 [INFO] [stdout] | [INFO] [stdout] 441 | &mut *channel_sptr.clone().as_ref().borrow_mut(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut channel_sptr.clone().as_ref().borrow_mut()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:499:35 [INFO] [stdout] | [INFO] [stdout] 499 | let mut _cb = (*channel_sptr.clone().as_ref().borrow_mut()).cb.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `channel_sptr.clone().as_ref().borrow_mut()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:501:25 [INFO] [stdout] | [INFO] [stdout] 501 | &mut *channel_sptr.clone().as_ref().borrow_mut(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut channel_sptr.clone().as_ref().borrow_mut()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: all variants have the same prefix: `Event` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:680:1 [INFO] [stdout] | [INFO] [stdout] 680 | / enum NetEvent { [INFO] [stdout] 681 | | EventListenReq(NetEventListenReq), [INFO] [stdout] 682 | | EventListenAck(NetEventListenAck), [INFO] [stdout] 683 | | EventConnectReq(NetEventConnectReq), [INFO] [stdout] ... | [INFO] [stdout] 689 | | EventDataNtf(NetEventDataNtf), [INFO] [stdout] 690 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:698:19 [INFO] [stdout] | [INFO] [stdout] 698 | on_accept_cb: Rc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:699:20 [INFO] [stdout] | [INFO] [stdout] 699 | on_connect_cb: Rc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:700:17 [INFO] [stdout] | [INFO] [stdout] 700 | on_read_cb: Rc)>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:701:18 [INFO] [stdout] | [INFO] [stdout] 701 | on_close_cb: Rc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:702:19 [INFO] [stdout] | [INFO] [stdout] 702 | on_client_cb: Rc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:715:9 [INFO] [stdout] | [INFO] [stdout] 715 | / Arc::new(Mutex::new(KnetNetwork { [INFO] [stdout] 716 | | running: sync::Arc::new(AtomicBool::new(false)), [INFO] [stdout] 717 | | net_to_worker_queue: Arc::new(Mutex::new(Queue::new())), [INFO] [stdout] 718 | | worker_to_net_queue: Arc::new(Mutex::new(Queue::new())), [INFO] [stdout] ... | [INFO] [stdout] 724 | | on_client_cb: Rc::new(RefCell::new(KnetNetwork::_default_on_client_cb)), [INFO] [stdout] 725 | | })) [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>` is not `Send` and `Sync` as `Mutex` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `Mutex` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:826:57 [INFO] [stdout] | [INFO] [stdout] 826 | pub fn send(self: &KnetNetwork, chan_id: u64, data: &Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 826 - pub fn send(self: &KnetNetwork, chan_id: u64, data: &Vec) { [INFO] [stdout] 826 + pub fn send(self: &KnetNetwork, chan_id: u64, data: &[u8]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1066:59 [INFO] [stdout] | [INFO] [stdout] 1066 | (*self.on_accept_cb).borrow_mut()(&self, &ack.ip, ack.port, ack.success); [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1070:29 [INFO] [stdout] | [INFO] [stdout] 1070 | ... &self, [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1078:58 [INFO] [stdout] | [INFO] [stdout] 1078 | (*self.on_close_cb).borrow_mut()(&self, ntf.chan_id); [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1081:59 [INFO] [stdout] | [INFO] [stdout] 1081 | (*self.on_client_cb).borrow_mut()(&self, ntf.chan_id); [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> rust/knet-rust-wrapper/src/knet.rs:1084:57 [INFO] [stdout] | [INFO] [stdout] 1084 | (*self.on_read_cb).borrow_mut()(&self, ntf.chan_id, &ntf.data); [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.58s [INFO] running `Command { std: "docker" "inspect" "6780c1c1d9e806d2d2aa1a9e6764800a2be1144170501cdd19d9dc7e2ca6aeab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6780c1c1d9e806d2d2aa1a9e6764800a2be1144170501cdd19d9dc7e2ca6aeab", kill_on_drop: false }` [INFO] [stdout] 6780c1c1d9e806d2d2aa1a9e6764800a2be1144170501cdd19d9dc7e2ca6aeab