[INFO] cloning repository https://github.com/AsyncSan/opensftp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AsyncSan/opensftp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAsyncSan%2Fopensftp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAsyncSan%2Fopensftp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 722c99ccaa5561acbc7fc34eeb2d782d0e543b38
[INFO] checking AsyncSan/opensftp against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6 for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAsyncSan%2Fopensftp" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/AsyncSan/opensftp
[INFO] finished tweaking git repo https://github.com/AsyncSan/opensftp
[INFO] tweaked toml for git repo https://github.com/AsyncSan/opensftp written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AsyncSan/opensftp on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/AsyncSan/opensftp already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 3935caa3fa08a52ac3c6a2c94c4d49359205d923308e6fafe57c7689f4ae6731
[INFO] running `Command { std: "docker" "start" "3935caa3fa08a52ac3c6a2c94c4d49359205d923308e6fafe57c7689f4ae6731", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3935caa3fa08a52ac3c6a2c94c4d49359205d923308e6fafe57c7689f4ae6731", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3935caa3fa08a52ac3c6a2c94c4d49359205d923308e6fafe57c7689f4ae6731" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3935caa3fa08a52ac3c6a2c94c4d49359205d923308e6fafe57c7689f4ae6731", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3935caa3fa08a52ac3c6a2c94c4d49359205d923308e6fafe57c7689f4ae6731" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking pin-project-lite v0.2.17
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]     Checking const-oid v0.9.6
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking libloading v0.8.9
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling zerocopy v0.8.47
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking futures-core v0.3.32
[INFO] [stderr]    Compiling wayland-sys v0.31.10
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking dlib v0.5.3
[INFO] [stderr]     Checking parking v2.2.1
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling cc v1.2.58
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling winnow v1.0.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]     Checking base64ct v1.8.3
[INFO] [stderr]    Compiling toml_datetime v1.1.0+spec-1.1.0
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]     Checking scoped-tls v1.0.1
[INFO] [stderr]     Checking block-padding v0.3.3
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling wayland-client v0.31.13
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]    Compiling quick-xml v0.39.2
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling wayland-backend v0.3.14
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking futures-sink v0.3.32
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]    Compiling toml_parser v1.1.0+spec-1.1.0
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]    Compiling async-io v2.6.0
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]     Checking async-task v4.7.1
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]    Compiling wayland-scanner v0.31.9
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]    Compiling toml_edit v0.25.8+spec-1.1.0
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]     Checking endi v1.1.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking piper v0.2.5
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking futures-task v0.3.32
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]     Checking async-lock v3.4.2
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling zvariant_utils v2.1.0
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]     Checking siphasher v1.0.2
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking async-executor v1.14.0
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking ordered-stream v0.2.0
[INFO] [stderr]    Compiling slotmap v1.1.1
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]     Checking async-fs v2.2.0
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]    Compiling zerocopy-derive v0.8.47
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling zvariant_derive v4.2.0
[INFO] [stderr]     Checking cbc v0.1.2
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking salsa20 v0.10.2
[INFO] [stderr]     Checking wayland-protocols v0.32.11
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]     Checking roxmltree v0.20.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking tinyvec v1.11.0
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]     Checking scrypt v0.11.0
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]     Checking fontconfig-parser v0.5.8
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking dlv-list v0.3.0
[INFO] [stderr]     Checking enumflags2 v0.7.12
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking zvariant v4.2.0
[INFO] [stderr]     Checking ttf-parser v0.21.1
[INFO] [stderr]     Checking float-cmp v0.9.0
[INFO] [stderr]     Checking strict-num v0.1.1
[INFO] [stderr]     Checking ordered-multimap v0.4.3
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]     Checking pkcs5 v0.7.1
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking font-types v0.7.3
[INFO] [stderr]    Compiling zbus_macros v4.4.0
[INFO] [stderr]     Checking dirs-sys v0.3.7
[INFO] [stderr]     Checking xdg-home v1.3.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking zbus_names v3.0.0
[INFO] [stderr]     Checking arrayref v0.3.9
[INFO] [stderr]     Checking unicode-script v0.5.8
[INFO] [stderr]     Checking litemap v0.8.1
[INFO] [stderr]    Compiling by_address v1.2.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling dark-light v1.1.1
[INFO] [stderr]     Checking unicode-properties v0.1.4
[INFO] [stderr]     Checking unicode-bidi-mirroring v0.2.0
[INFO] [stderr]     Checking unicode-ccc v0.2.0
[INFO] [stderr]     Checking writeable v0.6.2
[INFO] [stderr]    Compiling palette v0.7.6
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking rustybuzz v0.14.1
[INFO] [stderr]    Compiling palette_derive v0.7.6
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking dirs v4.0.0
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking read-fonts v0.22.7
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking rust-ini v0.18.0
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking zbus v4.4.0
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]     Checking const-oid v0.10.2
[INFO] [stderr]     Checking as-raw-xcb-connection v1.0.1
[INFO] [stderr]     Checking unicode-bidi v0.3.18
[INFO] [stderr]     Checking detect-desktop-environment v0.2.0
[INFO] [stderr]     Checking fast-srgb8 v1.0.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking rustc-hash v2.1.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking dconf_rs v0.3.0
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking xcursor v0.3.10
[INFO] [stderr]     Checking cursor-icon v1.2.0
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]     Checking zeno v0.2.3
[INFO] [stderr]     Checking ttf-parser v0.20.0
[INFO] [stderr]     Checking xkeysym v0.2.1
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]     Checking yazi v0.1.6
[INFO] [stderr]     Checking web-time v1.1.0
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]    Compiling ash v0.37.3+1.3.251
[INFO] [stderr]     Checking glam v0.25.0
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]    Compiling zvariant_utils v3.3.0
[INFO] [stderr]     Checking fontdb v0.16.2
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking wayland-cursor v0.31.13
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.11
[INFO] [stderr]    Compiling wgpu-hal v0.19.5
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.1.2
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]     Checking hybrid-array v0.4.8
[INFO] [stderr]     Checking libloading v0.7.4
[INFO] [stderr]    Compiling drm-sys v0.8.1
[INFO] [stderr]     Checking sys-locale v0.3.2
[INFO] [stderr]     Checking self_cell v1.2.2
[INFO] [stderr]     Checking unicode-xid v0.2.6
[INFO] [stderr]     Checking hexf-parse v0.2.1
[INFO] [stderr]     Checking unicode-linebreak v0.1.5
[INFO] [stderr]     Checking skrifa v0.22.3
[INFO] [stderr]     Checking unicode-ident v1.0.24
[INFO] [stderr]     Checking base16ct v0.2.0
[INFO] [stderr]     Checking unicode-segmentation v1.13.2
[INFO] [stderr]     Checking rangemap v1.7.1
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking naga v0.19.2
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]     Checking gpu-descriptor v0.2.4
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking iced_core v0.13.2
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]    Compiling zvariant_derive v5.10.0
[INFO] [stderr]    Compiling wgpu-core v0.19.4
[INFO] [stderr]     Checking kurbo v0.11.3
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking wgpu-types v0.19.2
[INFO] [stderr]     Checking iced_futures v0.13.2
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]     Checking swash v0.1.19
[INFO] [stderr]    Compiling drm-fourcc v2.2.0
[INFO] [stderr]     Checking glow v0.13.1
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]     Checking profiling v1.0.17
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]     Checking svgtypes v0.15.3
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking crypto-common v0.2.1
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]     Checking block-buffer v0.12.0
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking fontdb v0.18.0
[INFO] [stderr]    Compiling wgpu v0.19.4
[INFO] [stderr]     Checking calloop v0.14.4
[INFO] [stderr]     Checking pem-rfc7468 v1.0.0
[INFO] [stderr]     Checking euclid v0.22.14
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]    Compiling tiny-xlib v0.2.4
[INFO] [stderr]     Checking simplecss v0.2.2
[INFO] [stderr]     Checking svg_fmt v0.4.5
[INFO] [stderr]    Compiling smithay-client-toolkit v0.20.0
[INFO] [stderr]     Checking weezl v0.1.12
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking unicode-vo v0.1.0
[INFO] [stderr]     Checking xmlwriter v0.1.0
[INFO] [stderr]     Checking imagesize v0.12.0
[INFO] [stderr]     Checking pico-args v0.5.0
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]     Checking data-url v0.3.2
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking gif v0.13.3
[INFO] [stderr]     Checking calloop-wayland-source v0.4.1
[INFO] [stderr]     Checking usvg v0.42.0
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking cosmic-text v0.12.1
[INFO] [stderr]     Checking digest v0.11.2
[INFO] [stderr]     Checking der v0.8.0
[INFO] [stderr]     Checking drm-ffi v0.9.1
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking iced_graphics v0.13.0
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking wayland-protocols-misc v0.3.11
[INFO] [stderr]     Checking wayland-protocols-experimental v20250721.0.1
[INFO] [stderr]     Checking rgb v0.8.53
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]     Checking cmov v0.5.0-pre.0
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]     Checking jpeg-decoder v0.3.2
[INFO] [stderr]    Compiling smithay-client-toolkit v0.19.2
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]     Checking ctor-lite v0.1.2
[INFO] [stderr]     Checking rand_core v0.10.0-rc-3
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]    Compiling zvariant v5.10.0
[INFO] [stderr]     Checking resvg v0.42.0
[INFO] [stderr]    Compiling aws-lc-sys v0.39.1
[INFO] [stderr]     Checking ctutils v0.3.2
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking spki v0.8.0-rc.4
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking drm v0.14.1
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking etagere v0.2.15
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking primeorder v0.13.6
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking cpufeatures v0.3.0
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.10
[INFO] [stderr]     Checking softbuffer v0.4.8
[INFO] [stderr]     Checking smithay-clipboard v0.7.3
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking owned_ttf_parser v0.25.1
[INFO] [stderr]     Checking ab_glyph v0.2.32
[INFO] [stderr]     Checking crypto-bigint v0.7.0-rc.18
[INFO] [stderr]     Checking guillotiere v0.6.2
[INFO] [stderr]     Checking async-signal v0.2.13
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking kurbo v0.10.4
[INFO] [stderr]    Compiling zbus_names v4.3.1
[INFO] [stderr]     Checking ssh-encoding v0.2.0
[INFO] [stderr]    Compiling winit v0.30.13
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]    Compiling num-bigint-dig v0.8.6
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking blowfish v0.9.1
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]    Compiling zbus_macros v5.14.0
[INFO] [stderr]     Checking iced_tiny_skia v0.13.0
[INFO] [stderr]     Checking async-process v2.5.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking clipboard_wayland v0.2.2
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking sha2 v0.11.0
[INFO] [stderr]     Checking pkcs8 v0.11.0-rc.11
[INFO] [stderr]     Checking pkcs1 v0.8.0-rc.4
[INFO] [stderr]     Checking clipboard_x11 v0.4.3
[INFO] [stderr]     Checking signature v3.0.0-rc.6
[INFO] [stderr]     Checking poly1305 v0.8.0
[INFO] [stderr]     Checking iced_runtime v0.13.2
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.11
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking crypto-primes v0.7.0-pre.6
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking uuid v1.23.0
[INFO] [stderr]     Checking dpi v0.1.2
[INFO] [stderr]     Checking keccak v0.1.6
[INFO] [stderr]    Compiling aws-lc-rs v1.16.2
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking ssh-cipher v0.2.0
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking zbus v5.14.0
[INFO] [stderr]     Checking window_clipboard v0.4.1
[INFO] [stderr]     Checking bcrypt-pbkdf v0.10.0
[INFO] [stderr]     Checking sha1 v0.11.0
[INFO] [stderr]     Checking p521 v0.13.3
[INFO] [stderr]     Checking p256 v0.13.2
[INFO] [stderr]     Checking p384 v0.13.1
[INFO] [stderr]     Checking rsa v0.10.0-rc.12
[INFO] [stderr]     Checking async-net v2.0.0
[INFO] [stderr]     Checking kem v0.3.0-pre.0
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking hybrid-array v0.2.3
[INFO] [stderr]    Compiling rfd v0.15.4
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking untrusted v0.7.1
[INFO] [stderr]     Checking seize v0.3.3
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking internal-russh-forked-ssh-key v0.6.16+upstream-0.6.7
[INFO] [stderr]     Checking flurry v0.5.2
[INFO] [stderr]     Checking generic-array v1.3.5
[INFO] [stderr]     Checking ml-kem v0.2.3
[INFO] [stderr]     Checking russh-cryptovec v0.58.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking russh-util v0.52.0
[INFO] [stderr]    Compiling delegate v0.13.5
[INFO] [stderr]    Compiling enum_dispatch v0.3.13
[INFO] [stderr]     Checking data-encoding v2.10.0
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]     Checking pollster v0.4.0
[INFO] [stderr]     Checking hex-literal v0.4.1
[INFO] [stderr]     Checking md5 v0.7.0
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]     Checking russh-sftp v2.1.1
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking iced_winit v0.13.0
[INFO] [stderr]     Checking ashpd v0.11.1
[INFO] [stderr]     Checking iced_glyphon v0.6.0
[INFO] [stderr]     Checking iced_wgpu v0.13.5
[INFO] [stderr]     Checking iced_renderer v0.13.0
[INFO] [stderr]     Checking iced_widget v0.13.4
[INFO] [stderr]     Checking iced v0.13.1
[INFO] [stderr]     Checking russh v0.58.1
[INFO] [stderr]     Checking opensftp v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `is_installed` is never used
[INFO] [stdout]    --> src/core/desktop_integration.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn is_installed() -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `installed_binary_path` is never used
[INFO] [stdout]    --> src/core/desktop_integration.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn installed_binary_path() -> Option<PathBuf> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `exists` is never used
[INFO] [stdout]   --> src/theme/mod.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Settings {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn exists() -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load_saved` is never used
[INFO] [stdout]    --> src/theme/mod.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl AppTheme {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn load_saved() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ThemePicker` is never constructed
[INFO] [stdout]    --> src/ui/app.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub enum Dialog {
[INFO] [stdout]     |          ------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 236 |     ThemePicker,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Dialog` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/ui/app.rs:279:9
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub struct Session {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 279 |     pub id: SessionId,
[INFO] [stdout]     |         ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `installed_binary_path` is never used
[INFO] [stdout]    --> src/core/desktop_integration.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn installed_binary_path() -> Option<PathBuf> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `exists` is never used
[INFO] [stdout]   --> src/theme/mod.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Settings {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn exists() -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load_saved` is never used
[INFO] [stdout]    --> src/theme/mod.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl AppTheme {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn load_saved() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3527:13
[INFO] [stdout]      |
[INFO] [stdout] 3527 |             app.update(Message::CycleTheme);
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout]      = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3527 |             let _unused = app.update(Message::CycleTheme);
[INFO] [stdout]      |             +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3536:9
[INFO] [stdout]      |
[INFO] [stdout] 3536 |         app.update(Message::CycleTheme);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3536 |         let _unused = app.update(Message::CycleTheme);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3538:9
[INFO] [stdout]      |
[INFO] [stdout] 3538 |         app.update(Message::CycleTheme);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3538 |         let _unused = app.update(Message::CycleTheme);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3557:9
[INFO] [stdout]      |
[INFO] [stdout] 3557 |         app.update(Message::ToggleLog);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3557 |         let _unused = app.update(Message::ToggleLog);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3559:9
[INFO] [stdout]      |
[INFO] [stdout] 3559 |         app.update(Message::ToggleLog);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3559 |         let _unused = app.update(Message::ToggleLog);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3567:9
[INFO] [stdout]      |
[INFO] [stdout] 3567 |         app.update(Message::ConnectionFailed("timeout".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3567 |         let _unused = app.update(Message::ConnectionFailed("timeout".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3580:9
[INFO] [stdout]      |
[INFO] [stdout] 3580 |         app.update(Message::Disconnect);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3580 |         let _unused = app.update(Message::Disconnect);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3588:9
[INFO] [stdout]      |
[INFO] [stdout] 3588 |         app.update(Message::Disconnected);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3588 |         let _unused = app.update(Message::Disconnected);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3597:9
[INFO] [stdout]      |
[INFO] [stdout] 3597 |         app.update(Message::RemoteMkdir);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3597 |         let _unused = app.update(Message::RemoteMkdir);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3605:9
[INFO] [stdout]      |
[INFO] [stdout] 3605 |         app.update(Message::RemoteMkdir);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3605 |         let _unused = app.update(Message::RemoteMkdir);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3613:9
[INFO] [stdout]      |
[INFO] [stdout] 3613 |         app.update(Message::MkdirNameChanged("new_dir".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3613 |         let _unused = app.update(Message::MkdirNameChanged("new_dir".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3621:9
[INFO] [stdout]      |
[INFO] [stdout] 3621 |         app.update(Message::MkdirCancel);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3621 |         let _unused = app.update(Message::MkdirCancel);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3629:9
[INFO] [stdout]      |
[INFO] [stdout] 3629 |         app.update(Message::DeleteCancel);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3629 |         let _unused = app.update(Message::DeleteCancel);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3637:9
[INFO] [stdout]      |
[INFO] [stdout] 3637 |         app.update(Message::RenameNameChanged("new.txt".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3637 |         let _unused = app.update(Message::RenameNameChanged("new.txt".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3645:9
[INFO] [stdout]      |
[INFO] [stdout] 3645 |         app.update(Message::RenameCancel);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3645 |         let _unused = app.update(Message::RenameCancel);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3654:9
[INFO] [stdout]      |
[INFO] [stdout] 3654 |         app.update(Message::LocalMkdir);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3654 |         let _unused = app.update(Message::LocalMkdir);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3662:9
[INFO] [stdout]      |
[INFO] [stdout] 3662 |         app.update(Message::LocalMkdirCancel);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3662 |         let _unused = app.update(Message::LocalMkdirCancel);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3670:9
[INFO] [stdout]      |
[INFO] [stdout] 3670 |         app.update(Message::LocalDeleteCancel);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3670 |         let _unused = app.update(Message::LocalDeleteCancel);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3678:9
[INFO] [stdout]      |
[INFO] [stdout] 3678 |         app.update(Message::LocalRenameCancel);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3678 |         let _unused = app.update(Message::LocalRenameCancel);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3688:9
[INFO] [stdout]      |
[INFO] [stdout] 3688 |         app.update(Message::SaveConnection);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3688 |         let _unused = app.update(Message::SaveConnection);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3696:9
[INFO] [stdout]      |
[INFO] [stdout] 3696 |         app.update(Message::SaveConnectionCancel);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3696 |         let _unused = app.update(Message::SaveConnectionCancel);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3706:13
[INFO] [stdout]      |
[INFO] [stdout] 3706 |             app.update(Message::LocalPanel(PanelMessage::EntryClicked(1, false, false)));
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3706 |             let _unused = app.update(Message::LocalPanel(PanelMessage::EntryClicked(1, false, false)));
[INFO] [stdout]      |             +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3716:13
[INFO] [stdout]      |
[INFO] [stdout] 3716 |             app.update(Message::LocalPanel(PanelMessage::EntryClicked(1, false, false)));
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3716 |             let _unused = app.update(Message::LocalPanel(PanelMessage::EntryClicked(1, false, false)));
[INFO] [stdout]      |             +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3717:13
[INFO] [stdout]      |
[INFO] [stdout] 3717 |             app.update(Message::LocalPanel(PanelMessage::EntryClicked(2, false, false)));
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3717 |             let _unused = app.update(Message::LocalPanel(PanelMessage::EntryClicked(2, false, false)));
[INFO] [stdout]      |             +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3728:13
[INFO] [stdout]      |
[INFO] [stdout] 3728 |             app.update(Message::LocalPanel(PanelMessage::EntryClicked(1, false, false)));
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3728 |             let _unused = app.update(Message::LocalPanel(PanelMessage::EntryClicked(1, false, false)));
[INFO] [stdout]      |             +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3729:13
[INFO] [stdout]      |
[INFO] [stdout] 3729 |             app.update(Message::LocalPanel(PanelMessage::EntryClicked(2, false, false)));
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3729 |             let _unused = app.update(Message::LocalPanel(PanelMessage::EntryClicked(2, false, false)));
[INFO] [stdout]      |             +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3739:13
[INFO] [stdout]      |
[INFO] [stdout] 3739 |             app.update(Message::LocalPanel(PanelMessage::EntryClicked(1, false, false)));
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3739 |             let _unused = app.update(Message::LocalPanel(PanelMessage::EntryClicked(1, false, false)));
[INFO] [stdout]      |             +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3741:13
[INFO] [stdout]      |
[INFO] [stdout] 3741 |             app.update(Message::LocalPanel(PanelMessage::EntryClicked(3, false, false)));
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3741 |             let _unused = app.update(Message::LocalPanel(PanelMessage::EntryClicked(3, false, false)));
[INFO] [stdout]      |             +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3753:13
[INFO] [stdout]      |
[INFO] [stdout] 3753 |             app.update(Message::LocalPanel(PanelMessage::GoUp));
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3753 |             let _unused = app.update(Message::LocalPanel(PanelMessage::GoUp));
[INFO] [stdout]      |             +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3762:9
[INFO] [stdout]      |
[INFO] [stdout] 3762 |         app.update(Message::LocalPanel(PanelMessage::FilterChanged("test".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3762 |         let _unused = app.update(Message::LocalPanel(PanelMessage::FilterChanged("test".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3772:9
[INFO] [stdout]      |
[INFO] [stdout] 3772 |         app.update(Message::LocalPanel(PanelMessage::SortBy(SortColumn::Name)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3772 |         let _unused = app.update(Message::LocalPanel(PanelMessage::SortBy(SortColumn::Name)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3774:9
[INFO] [stdout]      |
[INFO] [stdout] 3774 |         app.update(Message::LocalPanel(PanelMessage::SortBy(SortColumn::Size)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3774 |         let _unused = app.update(Message::LocalPanel(PanelMessage::SortBy(SortColumn::Size)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3782:9
[INFO] [stdout]      |
[INFO] [stdout] 3782 |         app.update(Message::LocalPanel(PanelMessage::PathSegmentClicked("/tmp".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3782 |         let _unused = app.update(Message::LocalPanel(PanelMessage::PathSegmentClicked("/tmp".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3792:9
[INFO] [stdout]      |
[INFO] [stdout] 3792 |         app.update(Message::RemoteDelete);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3792 |         let _unused = app.update(Message::RemoteDelete);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3805:9
[INFO] [stdout]      |
[INFO] [stdout] 3805 |         app.update(Message::RemoteDelete);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3805 |         let _unused = app.update(Message::RemoteDelete);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3818:9
[INFO] [stdout]      |
[INFO] [stdout] 3818 |         app.update(Message::RemoteDelete);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3818 |         let _unused = app.update(Message::RemoteDelete);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3833:9
[INFO] [stdout]      |
[INFO] [stdout] 3833 |         app.update(Message::RemoteDelete);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3833 |         let _unused = app.update(Message::RemoteDelete);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3841:9
[INFO] [stdout]      |
[INFO] [stdout] 3841 |         app.update(Message::RemoteRename);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3841 |         let _unused = app.update(Message::RemoteRename);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3854:9
[INFO] [stdout]      |
[INFO] [stdout] 3854 |         app.update(Message::RemoteRename);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3854 |         let _unused = app.update(Message::RemoteRename);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3867:9
[INFO] [stdout]      |
[INFO] [stdout] 3867 |         app.update(Message::RemoteRename);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3867 |         let _unused = app.update(Message::RemoteRename);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3876:9
[INFO] [stdout]      |
[INFO] [stdout] 3876 | /         app.update(Message::TransferProgress(TransferProgress {
[INFO] [stdout] 3877 | |             transferred: 500, total_size: 1000, done: false,
[INFO] [stdout] 3878 | |         }));
[INFO] [stdout]      | |___________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3876 |         let _unused = app.update(Message::TransferProgress(TransferProgress {
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3887:9
[INFO] [stdout]      |
[INFO] [stdout] 3887 | /         app.update(Message::TransferProgress(TransferProgress {
[INFO] [stdout] 3888 | |             transferred: 0, total_size: 0, done: false,
[INFO] [stdout] 3889 | |         }));
[INFO] [stdout]      | |___________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3887 |         let _unused = app.update(Message::TransferProgress(TransferProgress {
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3898:9
[INFO] [stdout]      |
[INFO] [stdout] 3898 |         app.update(Message::TransferComplete("Downloaded 3 items".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3898 |         let _unused = app.update(Message::TransferComplete("Downloaded 3 items".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3910:9
[INFO] [stdout]      |
[INFO] [stdout] 3910 |         app.update(Message::TransferFailed("connection lost".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3910 |         let _unused = app.update(Message::TransferFailed("connection lost".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3921:9
[INFO] [stdout]      |
[INFO] [stdout] 3921 |         app.update(Message::TransferComplete("file1".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3921 |         let _unused = app.update(Message::TransferComplete("file1".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3922:9
[INFO] [stdout]      |
[INFO] [stdout] 3922 |         app.update(Message::TransferComplete("file2".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3922 |         let _unused = app.update(Message::TransferComplete("file2".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3923:9
[INFO] [stdout]      |
[INFO] [stdout] 3923 |         app.update(Message::TransferFailed("err".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3923 |         let _unused = app.update(Message::TransferFailed("err".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3934:9
[INFO] [stdout]      |
[INFO] [stdout] 3934 |         app.update(Message::RemoteOpDone("Created dir".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3934 |         let _unused = app.update(Message::RemoteOpDone("Created dir".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:3941:9
[INFO] [stdout]      |
[INFO] [stdout] 3941 |         app.update(Message::RemoteOpFailed("Permission denied".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 3941 |         let _unused = app.update(Message::RemoteOpFailed("Permission denied".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4129:13
[INFO] [stdout]      |
[INFO] [stdout] 4129 | /             app.update(Message::KeyPressed(
[INFO] [stdout] 4130 | |                 Key::Named(keyboard::key::Named::ArrowDown),
[INFO] [stdout] 4131 | |                 Modifiers::empty(),
[INFO] [stdout] 4132 | |             ));
[INFO] [stdout]      | |______________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4129 |             let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |             +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4147:13
[INFO] [stdout]      |
[INFO] [stdout] 4147 | /             app.update(Message::KeyPressed(
[INFO] [stdout] 4148 | |                 Key::Named(keyboard::key::Named::ArrowUp),
[INFO] [stdout] 4149 | |                 Modifiers::empty(),
[INFO] [stdout] 4150 | |             ));
[INFO] [stdout]      | |______________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4147 |             let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |             +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4165:9
[INFO] [stdout]      |
[INFO] [stdout] 4165 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 4166 | |             Key::Named(keyboard::key::Named::ArrowDown),
[INFO] [stdout] 4167 | |             Modifiers::empty(),
[INFO] [stdout] 4168 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4165 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4180:9
[INFO] [stdout]      |
[INFO] [stdout] 4180 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 4181 | |             Key::Named(keyboard::key::Named::ArrowUp),
[INFO] [stdout] 4182 | |             Modifiers::empty(),
[INFO] [stdout] 4183 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4180 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4191:9
[INFO] [stdout]      |
[INFO] [stdout] 4191 |         app.update(Message::Connect(ConnectMessage::HostChanged("server.com".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4191 |         let _unused = app.update(Message::Connect(ConnectMessage::HostChanged("server.com".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4193:9
[INFO] [stdout]      |
[INFO] [stdout] 4193 |         app.update(Message::Connect(ConnectMessage::PortChanged("2222".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4193 |         let _unused = app.update(Message::Connect(ConnectMessage::PortChanged("2222".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4195:9
[INFO] [stdout]      |
[INFO] [stdout] 4195 |         app.update(Message::Connect(ConnectMessage::UsernameChanged("admin".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4195 |         let _unused = app.update(Message::Connect(ConnectMessage::UsernameChanged("admin".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4197:9
[INFO] [stdout]      |
[INFO] [stdout] 4197 |         app.update(Message::Connect(ConnectMessage::PasswordChanged("pass123".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4197 |         let _unused = app.update(Message::Connect(ConnectMessage::PasswordChanged("pass123".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4207:9
[INFO] [stdout]      |
[INFO] [stdout] 4207 |         app.update(Message::Connect(ConnectMessage::Connect));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4207 |         let _unused = app.update(Message::Connect(ConnectMessage::Connect));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4216:9
[INFO] [stdout]      |
[INFO] [stdout] 4216 |         app.update(Message::Connect(ConnectMessage::Cancel));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4216 |         let _unused = app.update(Message::Connect(ConnectMessage::Cancel));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4229:9
[INFO] [stdout]      |
[INFO] [stdout] 4229 |         app.update(Message::RemoteListing(entries, "/home/user".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4229 |         let _unused = app.update(Message::RemoteListing(entries, "/home/user".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4238:9
[INFO] [stdout]      |
[INFO] [stdout] 4238 |         app.update(Message::RemoteListingFailed("timeout".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4238 |         let _unused = app.update(Message::RemoteListingFailed("timeout".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4253:9
[INFO] [stdout]      |
[INFO] [stdout] 4253 |         app.update(Message::LocalMkdirConfirm);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4253 |         let _unused = app.update(Message::LocalMkdirConfirm);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4265:9
[INFO] [stdout]      |
[INFO] [stdout] 4265 |         app.update(Message::LocalMkdirConfirm);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4265 |         let _unused = app.update(Message::LocalMkdirConfirm);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4282:9
[INFO] [stdout]      |
[INFO] [stdout] 4282 |         app.update(Message::LocalRenameConfirm);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4282 |         let _unused = app.update(Message::LocalRenameConfirm);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4294:9
[INFO] [stdout]      |
[INFO] [stdout] 4294 |         app.update(Message::LocalRenameConfirm);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4294 |         let _unused = app.update(Message::LocalRenameConfirm);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4314:9
[INFO] [stdout]      |
[INFO] [stdout] 4314 |         app.update(Message::LocalDeleteConfirm);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4314 |         let _unused = app.update(Message::LocalDeleteConfirm);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4335:9
[INFO] [stdout]      |
[INFO] [stdout] 4335 |         app.update(Message::LocalMkdir);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4335 |         let _unused = app.update(Message::LocalMkdir);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4337:9
[INFO] [stdout]      |
[INFO] [stdout] 4337 |         app.update(Message::LocalMkdirNameChanged("subdir".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4337 |         let _unused = app.update(Message::LocalMkdirNameChanged("subdir".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4338:9
[INFO] [stdout]      |
[INFO] [stdout] 4338 |         app.update(Message::LocalMkdirConfirm);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4338 |         let _unused = app.update(Message::LocalMkdirConfirm);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4350:9
[INFO] [stdout]      |
[INFO] [stdout] 4350 |         app.update(Message::LocalPanel(PanelMessage::Refresh));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4350 |         let _unused = app.update(Message::LocalPanel(PanelMessage::Refresh));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4359:9
[INFO] [stdout]      |
[INFO] [stdout] 4359 |         app.update(Message::LocalRename);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4359 |         let _unused = app.update(Message::LocalRename);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4361:9
[INFO] [stdout]      |
[INFO] [stdout] 4361 |         app.update(Message::LocalRenameNameChanged("renamed.txt".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4361 |         let _unused = app.update(Message::LocalRenameNameChanged("renamed.txt".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4362:9
[INFO] [stdout]      |
[INFO] [stdout] 4362 |         app.update(Message::LocalRenameConfirm);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4362 |         let _unused = app.update(Message::LocalRenameConfirm);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4372:9
[INFO] [stdout]      |
[INFO] [stdout] 4372 |         app.update(Message::LocalDelete);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4372 |         let _unused = app.update(Message::LocalDelete);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4374:9
[INFO] [stdout]      |
[INFO] [stdout] 4374 |         app.update(Message::LocalDeleteConfirm);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4374 |         let _unused = app.update(Message::LocalDeleteConfirm);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4384:9
[INFO] [stdout]      |
[INFO] [stdout] 4384 |         app.update(Message::LocalDeleteConfirm);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4384 |         let _unused = app.update(Message::LocalDeleteConfirm);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4397:9
[INFO] [stdout]      |
[INFO] [stdout] 4397 |         app.update(Message::LocalPanel(PanelMessage::PathSegmentClicked("/tmp".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4397 |         let _unused = app.update(Message::LocalPanel(PanelMessage::PathSegmentClicked("/tmp".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4403:9
[INFO] [stdout]      |
[INFO] [stdout] 4403 |         app.update(Message::LocalPanel(PanelMessage::GoUp));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4403 |         let _unused = app.update(Message::LocalPanel(PanelMessage::GoUp));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4407:9
[INFO] [stdout]      |
[INFO] [stdout] 4407 |         app.update(Message::LocalPanel(PanelMessage::PathSegmentClicked("/usr".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4407 |         let _unused = app.update(Message::LocalPanel(PanelMessage::PathSegmentClicked("/usr".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4415:9
[INFO] [stdout]      |
[INFO] [stdout] 4415 |         app.update(Message::LocalPanel(PanelMessage::EntryClicked(bin_idx, false, false)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4415 |         let _unused = app.update(Message::LocalPanel(PanelMessage::EntryClicked(bin_idx, false, false)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4417:9
[INFO] [stdout]      |
[INFO] [stdout] 4417 |         app.update(Message::LocalPanel(PanelMessage::EntryClicked(bin_idx, false, false)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4417 |         let _unused = app.update(Message::LocalPanel(PanelMessage::EntryClicked(bin_idx, false, false)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4436:9
[INFO] [stdout]      |
[INFO] [stdout] 4436 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 4437 | |             Key::Named(keyboard::key::Named::ArrowDown),
[INFO] [stdout] 4438 | |             Modifiers::empty(),
[INFO] [stdout] 4439 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4436 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4453:9
[INFO] [stdout]      |
[INFO] [stdout] 4453 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 4454 | |             Key::Named(keyboard::key::Named::Enter),
[INFO] [stdout] 4455 | |             Modifiers::empty(),
[INFO] [stdout] 4456 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4453 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4462:9
[INFO] [stdout]      |
[INFO] [stdout] 4462 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 4463 | |             Key::Named(keyboard::key::Named::Enter),
[INFO] [stdout] 4464 | |             Modifiers::empty(),
[INFO] [stdout] 4465 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4462 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4479:9
[INFO] [stdout]      |
[INFO] [stdout] 4479 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 4480 | |             Key::Named(keyboard::key::Named::F7),
[INFO] [stdout] 4481 | |             Modifiers::empty(),
[INFO] [stdout] 4482 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4479 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4488:9
[INFO] [stdout]      |
[INFO] [stdout] 4488 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 4489 | |             Key::Named(keyboard::key::Named::F2),
[INFO] [stdout] 4490 | |             Modifiers::empty(),
[INFO] [stdout] 4491 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4488 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4500:9
[INFO] [stdout]      |
[INFO] [stdout] 4500 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 4501 | |             Key::Named(keyboard::key::Named::Delete),
[INFO] [stdout] 4502 | |             Modifiers::empty(),
[INFO] [stdout] 4503 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4500 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4521:9
[INFO] [stdout]      |
[INFO] [stdout] 4521 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 4522 | |             Key::Named(keyboard::key::Named::F7),
[INFO] [stdout] 4523 | |             Modifiers::empty(),
[INFO] [stdout] 4524 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4521 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4530:9
[INFO] [stdout]      |
[INFO] [stdout] 4530 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 4531 | |             Key::Named(keyboard::key::Named::F2),
[INFO] [stdout] 4532 | |             Modifiers::empty(),
[INFO] [stdout] 4533 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4530 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4538:9
[INFO] [stdout]      |
[INFO] [stdout] 4538 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 4539 | |             Key::Named(keyboard::key::Named::Delete),
[INFO] [stdout] 4540 | |             Modifiers::empty(),
[INFO] [stdout] 4541 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4538 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4552:9
[INFO] [stdout]      |
[INFO] [stdout] 4552 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 4553 | |             Key::Named(keyboard::key::Named::Tab),
[INFO] [stdout] 4554 | |             Modifiers::empty(),
[INFO] [stdout] 4555 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4552 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4558:9
[INFO] [stdout]      |
[INFO] [stdout] 4558 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 4559 | |             Key::Named(keyboard::key::Named::Tab),
[INFO] [stdout] 4560 | |             Modifiers::empty(),
[INFO] [stdout] 4561 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4558 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4573:9
[INFO] [stdout]      |
[INFO] [stdout] 4573 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 4574 | |             Key::Named(keyboard::key::Named::F7),
[INFO] [stdout] 4575 | |             Modifiers::empty(),
[INFO] [stdout] 4576 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4573 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4587:9
[INFO] [stdout]      |
[INFO] [stdout] 4587 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 4588 | |             Key::Named(keyboard::key::Named::F7),
[INFO] [stdout] 4589 | |             Modifiers::empty(),
[INFO] [stdout] 4590 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4587 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4615:9
[INFO] [stdout]      |
[INFO] [stdout] 4615 |         app.update(Message::LocalPanel(PanelMessage::SortBy(SortColumn::Size)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4615 |         let _unused = app.update(Message::LocalPanel(PanelMessage::SortBy(SortColumn::Size)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4619:9
[INFO] [stdout]      |
[INFO] [stdout] 4619 |         app.update(Message::LocalPanel(PanelMessage::FilterChanged(".txt".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4619 |         let _unused = app.update(Message::LocalPanel(PanelMessage::FilterChanged(".txt".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4649:9
[INFO] [stdout]      |
[INFO] [stdout] 4649 |         app.update(Message::LocalPanel(PanelMessage::EntryClicked(a_idx, false, false)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4649 |         let _unused = app.update(Message::LocalPanel(PanelMessage::EntryClicked(a_idx, false, false)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4650:9
[INFO] [stdout]      |
[INFO] [stdout] 4650 |         app.update(Message::LocalPanel(PanelMessage::EntryClicked(c_idx, false, false)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4650 |         let _unused = app.update(Message::LocalPanel(PanelMessage::EntryClicked(c_idx, false, false)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4656:9
[INFO] [stdout]      |
[INFO] [stdout] 4656 |         app.update(Message::LocalDelete);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4656 |         let _unused = app.update(Message::LocalDelete);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4660:9
[INFO] [stdout]      |
[INFO] [stdout] 4660 |         app.update(Message::LocalDeleteConfirm);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4660 |         let _unused = app.update(Message::LocalDeleteConfirm);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4772:13
[INFO] [stdout]      |
[INFO] [stdout] 4772 |             app.update(Message::CycleTheme);
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4772 |             let _unused = app.update(Message::CycleTheme);
[INFO] [stdout]      |             +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4787:9
[INFO] [stdout]      |
[INFO] [stdout] 4787 |         app.update(Message::TransferComplete("Downloaded file1.txt".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4787 |         let _unused = app.update(Message::TransferComplete("Downloaded file1.txt".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4788:9
[INFO] [stdout]      |
[INFO] [stdout] 4788 |         app.update(Message::TransferFailed("Permission denied on file2".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4788 |         let _unused = app.update(Message::TransferFailed("Permission denied on file2".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4789:9
[INFO] [stdout]      |
[INFO] [stdout] 4789 |         app.update(Message::TransferComplete("Uploaded 3 items".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4789 |         let _unused = app.update(Message::TransferComplete("Uploaded 3 items".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4803:9
[INFO] [stdout]      |
[INFO] [stdout] 4803 |         app.update(Message::ToggleLog);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4803 |         let _unused = app.update(Message::ToggleLog);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4816:9
[INFO] [stdout]      |
[INFO] [stdout] 4816 |         app.update(Message::Connect(ConnectMessage::HostChanged("192.168.1.99".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4816 |         let _unused = app.update(Message::Connect(ConnectMessage::HostChanged("192.168.1.99".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4817:9
[INFO] [stdout]      |
[INFO] [stdout] 4817 |         app.update(Message::Connect(ConnectMessage::PortChanged("22".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4817 |         let _unused = app.update(Message::Connect(ConnectMessage::PortChanged("22".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4818:9
[INFO] [stdout]      |
[INFO] [stdout] 4818 |         app.update(Message::Connect(ConnectMessage::UsernameChanged("testuser".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4818 |         let _unused = app.update(Message::Connect(ConnectMessage::UsernameChanged("testuser".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4819:9
[INFO] [stdout]      |
[INFO] [stdout] 4819 |         app.update(Message::Connect(ConnectMessage::PasswordChanged("badpass".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4819 |         let _unused = app.update(Message::Connect(ConnectMessage::PasswordChanged("badpass".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4822:9
[INFO] [stdout]      |
[INFO] [stdout] 4822 |         app.update(Message::Connect(ConnectMessage::Connect));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4822 |         let _unused = app.update(Message::Connect(ConnectMessage::Connect));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4827:9
[INFO] [stdout]      |
[INFO] [stdout] 4827 |         app.update(Message::ConnectionFailed("Connection refused".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4827 |         let _unused = app.update(Message::ConnectionFailed("Connection refused".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4849:9
[INFO] [stdout]      |
[INFO] [stdout] 4849 |         app.update(Message::RemoteListing(entries, "/home/user".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4849 |         let _unused = app.update(Message::RemoteListing(entries, "/home/user".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4855:9
[INFO] [stdout]      |
[INFO] [stdout] 4855 |         app.update(Message::RemotePanel(PanelMessage::EntryClicked(1, false, false)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4855 |         let _unused = app.update(Message::RemotePanel(PanelMessage::EntryClicked(1, false, false)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4863:9
[INFO] [stdout]      |
[INFO] [stdout] 4863 |         app.update(Message::RemoteListing(new_entries, "/home/user/docs".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4863 |         let _unused = app.update(Message::RemoteListing(new_entries, "/home/user/docs".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4906:9
[INFO] [stdout]      |
[INFO] [stdout] 4906 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 4907 | |             Key::Character("h".into()),
[INFO] [stdout] 4908 | |             Modifiers::CTRL,
[INFO] [stdout] 4909 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4906 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4912:9
[INFO] [stdout]      |
[INFO] [stdout] 4912 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 4913 | |             Key::Character("h".into()),
[INFO] [stdout] 4914 | |             Modifiers::CTRL,
[INFO] [stdout] 4915 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4912 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4933:9
[INFO] [stdout]      |
[INFO] [stdout] 4933 |         app.update(Message::LocalPanel(PanelMessage::SortBy(SortColumn::Size)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4933 |         let _unused = app.update(Message::LocalPanel(PanelMessage::SortBy(SortColumn::Size)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4942:9
[INFO] [stdout]      |
[INFO] [stdout] 4942 |         app.update(Message::RemotePanel(PanelMessage::SortBy(SortColumn::Name)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4942 |         let _unused = app.update(Message::RemotePanel(PanelMessage::SortBy(SortColumn::Name)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4970:9
[INFO] [stdout]      |
[INFO] [stdout] 4970 |         app.update(Message::Connect(ConnectMessage::JumpHostToggled(true)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4970 |         let _unused = app.update(Message::Connect(ConnectMessage::JumpHostToggled(true)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4971:9
[INFO] [stdout]      |
[INFO] [stdout] 4971 |         app.update(Message::Connect(ConnectMessage::JumpHostChanged("bastion.example.com".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4971 |         let _unused = app.update(Message::Connect(ConnectMessage::JumpHostChanged("bastion.example.com".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4972:9
[INFO] [stdout]      |
[INFO] [stdout] 4972 |         app.update(Message::Connect(ConnectMessage::JumpPortChanged("2222".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4972 |         let _unused = app.update(Message::Connect(ConnectMessage::JumpPortChanged("2222".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4973:9
[INFO] [stdout]      |
[INFO] [stdout] 4973 |         app.update(Message::Connect(ConnectMessage::JumpUsernameChanged("jumper".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4973 |         let _unused = app.update(Message::Connect(ConnectMessage::JumpUsernameChanged("jumper".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4974:9
[INFO] [stdout]      |
[INFO] [stdout] 4974 |         app.update(Message::Connect(ConnectMessage::JumpPasswordChanged("pw".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4974 |         let _unused = app.update(Message::Connect(ConnectMessage::JumpPasswordChanged("pw".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4975:9
[INFO] [stdout]      |
[INFO] [stdout] 4975 |         app.update(Message::Connect(ConnectMessage::JumpAuthTypeSelected(crate::ui::connect_dialog::AuthType::Password)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4975 |         let _unused = app.update(Message::Connect(ConnectMessage::JumpAuthTypeSelected(crate::ui::connect_dialog::AuthType::Password)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:4977:9
[INFO] [stdout]      |
[INFO] [stdout] 4977 |         app.update(Message::SaveConnectionConfirm);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 4977 |         let _unused = app.update(Message::SaveConnectionConfirm);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5002:9
[INFO] [stdout]      |
[INFO] [stdout] 5002 |         app.update(Message::RemotePanel(PanelMessage::EntryClicked(1, false, false)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5002 |         let _unused = app.update(Message::RemotePanel(PanelMessage::EntryClicked(1, false, false)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5007:9
[INFO] [stdout]      |
[INFO] [stdout] 5007 |         app.update(Message::RemotePanel(PanelMessage::EntryClicked(3, false, false)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5007 |         let _unused = app.update(Message::RemotePanel(PanelMessage::EntryClicked(3, false, false)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5020:9
[INFO] [stdout]      |
[INFO] [stdout] 5020 |         app.update(Message::Connect(ConnectMessage::AuthTypeSelected(AuthType::Agent)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5020 |         let _unused = app.update(Message::Connect(ConnectMessage::AuthTypeSelected(AuthType::Agent)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5025:9
[INFO] [stdout]      |
[INFO] [stdout] 5025 |         app.update(Message::Connect(ConnectMessage::AuthTypeSelected(AuthType::KeyFile)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5025 |         let _unused = app.update(Message::Connect(ConnectMessage::AuthTypeSelected(AuthType::KeyFile)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5027:9
[INFO] [stdout]      |
[INFO] [stdout] 5027 |         app.update(Message::Connect(ConnectMessage::KeyPathChanged("/tmp/key".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5027 |         let _unused = app.update(Message::Connect(ConnectMessage::KeyPathChanged("/tmp/key".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5031:9
[INFO] [stdout]      |
[INFO] [stdout] 5031 |         app.update(Message::Connect(ConnectMessage::AuthTypeSelected(AuthType::Password)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5031 |         let _unused = app.update(Message::Connect(ConnectMessage::AuthTypeSelected(AuthType::Password)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5032:9
[INFO] [stdout]      |
[INFO] [stdout] 5032 |         app.update(Message::Connect(ConnectMessage::PasswordChanged("mypass".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5032 |         let _unused = app.update(Message::Connect(ConnectMessage::PasswordChanged("mypass".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5050:9
[INFO] [stdout]      |
[INFO] [stdout] 5050 |         app.update(Message::DownloadSelected);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5050 |         let _unused = app.update(Message::DownloadSelected);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5053:9
[INFO] [stdout]      |
[INFO] [stdout] 5053 |         app.update(Message::UploadSelected);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5053 |         let _unused = app.update(Message::UploadSelected);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5073:9
[INFO] [stdout]      |
[INFO] [stdout] 5073 |         app.update(Message::LocalDeleteConfirm);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5073 |         let _unused = app.update(Message::LocalDeleteConfirm);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5117:9
[INFO] [stdout]      |
[INFO] [stdout] 5117 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5118 | |             Key::Named(keyboard::key::Named::Escape),
[INFO] [stdout] 5119 | |             Modifiers::empty(),
[INFO] [stdout] 5120 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5117 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5129:9
[INFO] [stdout]      |
[INFO] [stdout] 5129 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5130 | |             Key::Named(keyboard::key::Named::Escape),
[INFO] [stdout] 5131 | |             Modifiers::empty(),
[INFO] [stdout] 5132 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5129 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5141:9
[INFO] [stdout]      |
[INFO] [stdout] 5141 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5142 | |             Key::Named(keyboard::key::Named::Escape),
[INFO] [stdout] 5143 | |             Modifiers::empty(),
[INFO] [stdout] 5144 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5141 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5152:9
[INFO] [stdout]      |
[INFO] [stdout] 5152 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5153 | |             Key::Named(keyboard::key::Named::Escape),
[INFO] [stdout] 5154 | |             Modifiers::empty(),
[INFO] [stdout] 5155 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5152 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5163:9
[INFO] [stdout]      |
[INFO] [stdout] 5163 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5164 | |             Key::Named(keyboard::key::Named::Escape),
[INFO] [stdout] 5165 | |             Modifiers::empty(),
[INFO] [stdout] 5166 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5163 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5174:9
[INFO] [stdout]      |
[INFO] [stdout] 5174 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5175 | |             Key::Named(keyboard::key::Named::Escape),
[INFO] [stdout] 5176 | |             Modifiers::empty(),
[INFO] [stdout] 5177 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5174 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5185:9
[INFO] [stdout]      |
[INFO] [stdout] 5185 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5186 | |             Key::Named(keyboard::key::Named::Escape),
[INFO] [stdout] 5187 | |             Modifiers::empty(),
[INFO] [stdout] 5188 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5185 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5197:9
[INFO] [stdout]      |
[INFO] [stdout] 5197 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5198 | |             Key::Named(keyboard::key::Named::Escape),
[INFO] [stdout] 5199 | |             Modifiers::empty(),
[INFO] [stdout] 5200 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5197 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5218:9
[INFO] [stdout]      |
[INFO] [stdout] 5218 | /         app.update(Message::TransferProgress(TransferProgress {
[INFO] [stdout] 5219 | |             transferred: 50000, total_size: 100000, done: false,
[INFO] [stdout] 5220 | |         }));
[INFO] [stdout]      | |___________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5218 |         let _unused = app.update(Message::TransferProgress(TransferProgress {
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5231:9
[INFO] [stdout]      |
[INFO] [stdout] 5231 |         app.update(Message::TransferComplete("done".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5231 |         let _unused = app.update(Message::TransferComplete("done".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5241:9
[INFO] [stdout]      |
[INFO] [stdout] 5241 |         app.update(Message::TransferFailed("err".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5241 |         let _unused = app.update(Message::TransferFailed("err".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5306:9
[INFO] [stdout]      |
[INFO] [stdout] 5306 |         app.update(Message::LocalPanel(PanelMessage::EntryRightClicked(2)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5306 |         let _unused = app.update(Message::LocalPanel(PanelMessage::EntryRightClicked(2)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5315:9
[INFO] [stdout]      |
[INFO] [stdout] 5315 |         app.update(Message::RemotePanel(PanelMessage::EntryRightClicked(1)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5315 |         let _unused = app.update(Message::RemotePanel(PanelMessage::EntryRightClicked(1)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5327:9
[INFO] [stdout]      |
[INFO] [stdout] 5327 |         app.update(Message::LocalPanel(PanelMessage::EntryRightClicked(2)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5327 |         let _unused = app.update(Message::LocalPanel(PanelMessage::EntryRightClicked(2)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5339:9
[INFO] [stdout]      |
[INFO] [stdout] 5339 |         app.update(Message::LocalPanel(PanelMessage::EntryRightClicked(3)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5339 |         let _unused = app.update(Message::LocalPanel(PanelMessage::EntryRightClicked(3)));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5349:9
[INFO] [stdout]      |
[INFO] [stdout] 5349 |         app.update(Message::DismissContextMenu);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5349 |         let _unused = app.update(Message::DismissContextMenu);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5357:9
[INFO] [stdout]      |
[INFO] [stdout] 5357 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5358 | |             Key::Named(keyboard::key::Named::Escape),
[INFO] [stdout] 5359 | |             Modifiers::empty(),
[INFO] [stdout] 5360 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5357 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5369:9
[INFO] [stdout]      |
[INFO] [stdout] 5369 |         app.update(Message::ShowContextMenu(ContextAction::Rename));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5369 |         let _unused = app.update(Message::ShowContextMenu(ContextAction::Rename));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5379:9
[INFO] [stdout]      |
[INFO] [stdout] 5379 |         app.update(Message::ShowContextMenu(ContextAction::Delete));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5379 |         let _unused = app.update(Message::ShowContextMenu(ContextAction::Delete));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5388:9
[INFO] [stdout]      |
[INFO] [stdout] 5388 |         app.update(Message::ShowContextMenu(ContextAction::NewDir));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5388 |         let _unused = app.update(Message::ShowContextMenu(ContextAction::NewDir));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5397:9
[INFO] [stdout]      |
[INFO] [stdout] 5397 |         app.update(Message::ShowContextMenu(ContextAction::NewDir));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5397 |         let _unused = app.update(Message::ShowContextMenu(ContextAction::NewDir));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5415:9
[INFO] [stdout]      |
[INFO] [stdout] 5415 |         app.update(Message::ShowContextMenu(ContextAction::Open));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5415 |         let _unused = app.update(Message::ShowContextMenu(ContextAction::Open));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5426:9
[INFO] [stdout]      |
[INFO] [stdout] 5426 |         app.update(Message::ShowContextMenu(ContextAction::CopyPath));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5426 |         let _unused = app.update(Message::ShowContextMenu(ContextAction::CopyPath));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5435:9
[INFO] [stdout]      |
[INFO] [stdout] 5435 |         app.update(Message::ShowContextMenu(ContextAction::CopyPath));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5435 |         let _unused = app.update(Message::ShowContextMenu(ContextAction::CopyPath));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5444:9
[INFO] [stdout]      |
[INFO] [stdout] 5444 |         app.update(Message::ShowContextMenu(ContextAction::Refresh));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5444 |         let _unused = app.update(Message::ShowContextMenu(ContextAction::Refresh));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5453:9
[INFO] [stdout]      |
[INFO] [stdout] 5453 |         app.update(Message::ShowContextMenu(ContextAction::Download));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5453 |         let _unused = app.update(Message::ShowContextMenu(ContextAction::Download));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5463:9
[INFO] [stdout]      |
[INFO] [stdout] 5463 |         app.update(Message::ShowContextMenu(ContextAction::Upload));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5463 |         let _unused = app.update(Message::ShowContextMenu(ContextAction::Upload));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5479:9
[INFO] [stdout]      |
[INFO] [stdout] 5479 |         app.update(Message::ShowContextMenu(ContextAction::Rename));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5479 |         let _unused = app.update(Message::ShowContextMenu(ContextAction::Rename));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5489:9
[INFO] [stdout]      |
[INFO] [stdout] 5489 |         app.update(Message::ShowContextMenu(ContextAction::Delete));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5489 |         let _unused = app.update(Message::ShowContextMenu(ContextAction::Delete));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5500:9
[INFO] [stdout]      |
[INFO] [stdout] 5500 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5501 | |             Key::Character("a".into()),
[INFO] [stdout] 5502 | |             Modifiers::CTRL,
[INFO] [stdout] 5503 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5500 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5516:9
[INFO] [stdout]      |
[INFO] [stdout] 5516 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5517 | |             Key::Character("a".into()),
[INFO] [stdout] 5518 | |             Modifiers::CTRL,
[INFO] [stdout] 5519 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5516 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5530:9
[INFO] [stdout]      |
[INFO] [stdout] 5530 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5531 | |             Key::Character("i".into()),
[INFO] [stdout] 5532 | |             Modifiers::CTRL,
[INFO] [stdout] 5533 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5530 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5546:9
[INFO] [stdout]      |
[INFO] [stdout] 5546 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5547 | |             Key::Character("i".into()),
[INFO] [stdout] 5548 | |             Modifiers::CTRL,
[INFO] [stdout] 5549 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5546 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5560:9
[INFO] [stdout]      |
[INFO] [stdout] 5560 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5561 | |             Key::Character("c".into()),
[INFO] [stdout] 5562 | |             Modifiers::CTRL,
[INFO] [stdout] 5563 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5560 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5573:9
[INFO] [stdout]      |
[INFO] [stdout] 5573 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5574 | |             Key::Character("c".into()),
[INFO] [stdout] 5575 | |             Modifiers::CTRL,
[INFO] [stdout] 5576 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5573 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5585:9
[INFO] [stdout]      |
[INFO] [stdout] 5585 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5586 | |             Key::Named(keyboard::key::Named::F6),
[INFO] [stdout] 5587 | |             Modifiers::empty(),
[INFO] [stdout] 5588 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5585 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5598:9
[INFO] [stdout]      |
[INFO] [stdout] 5598 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5599 | |             Key::Named(keyboard::key::Named::F6),
[INFO] [stdout] 5600 | |             Modifiers::empty(),
[INFO] [stdout] 5601 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5598 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5610:9
[INFO] [stdout]      |
[INFO] [stdout] 5610 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5611 | |             Key::Named(keyboard::key::Named::F8),
[INFO] [stdout] 5612 | |             Modifiers::empty(),
[INFO] [stdout] 5613 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5610 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5623:9
[INFO] [stdout]      |
[INFO] [stdout] 5623 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5624 | |             Key::Named(keyboard::key::Named::ArrowDown),
[INFO] [stdout] 5625 | |             Modifiers::SHIFT,
[INFO] [stdout] 5626 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5623 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5638:9
[INFO] [stdout]      |
[INFO] [stdout] 5638 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5639 | |             Key::Named(keyboard::key::Named::ArrowUp),
[INFO] [stdout] 5640 | |             Modifiers::SHIFT,
[INFO] [stdout] 5641 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5638 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5653:9
[INFO] [stdout]      |
[INFO] [stdout] 5653 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5654 | |             Key::Named(keyboard::key::Named::Home),
[INFO] [stdout] 5655 | |             Modifiers::empty(),
[INFO] [stdout] 5656 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5653 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5666:9
[INFO] [stdout]      |
[INFO] [stdout] 5666 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5667 | |             Key::Named(keyboard::key::Named::End),
[INFO] [stdout] 5668 | |             Modifiers::empty(),
[INFO] [stdout] 5669 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5666 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5683:13
[INFO] [stdout]      |
[INFO] [stdout] 5683 | /             app.update(Message::KeyPressed(
[INFO] [stdout] 5684 | |                 Key::Named(keyboard::key::Named::Backspace),
[INFO] [stdout] 5685 | |                 Modifiers::empty(),
[INFO] [stdout] 5686 | |             ));
[INFO] [stdout]      | |______________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5683 |             let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |             +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5696:9
[INFO] [stdout]      |
[INFO] [stdout] 5696 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5697 | |             Key::Named(keyboard::key::Named::Enter),
[INFO] [stdout] 5698 | |             Modifiers::empty(),
[INFO] [stdout] 5699 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5696 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5719:9
[INFO] [stdout]      |
[INFO] [stdout] 5719 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5720 | |             Key::Named(keyboard::key::Named::Enter),
[INFO] [stdout] 5721 | |             Modifiers::empty(),
[INFO] [stdout] 5722 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5719 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5735:9
[INFO] [stdout]      |
[INFO] [stdout] 5735 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5736 | |             Key::Named(keyboard::key::Named::Space),
[INFO] [stdout] 5737 | |             Modifiers::empty(),
[INFO] [stdout] 5738 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5735 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5751:9
[INFO] [stdout]      |
[INFO] [stdout] 5751 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5752 | |             Key::Named(keyboard::key::Named::Space),
[INFO] [stdout] 5753 | |             Modifiers::empty(),
[INFO] [stdout] 5754 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5751 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5767:9
[INFO] [stdout]      |
[INFO] [stdout] 5767 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5768 | |             Key::Named(keyboard::key::Named::ArrowDown),
[INFO] [stdout] 5769 | |             Modifiers::empty(),
[INFO] [stdout] 5770 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5767 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5780:9
[INFO] [stdout]      |
[INFO] [stdout] 5780 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5781 | |             Key::Character("a".into()),
[INFO] [stdout] 5782 | |             Modifiers::CTRL,
[INFO] [stdout] 5783 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5780 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5786:9
[INFO] [stdout]      |
[INFO] [stdout] 5786 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5787 | |             Key::Character("i".into()),
[INFO] [stdout] 5788 | |             Modifiers::CTRL,
[INFO] [stdout] 5789 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5786 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5799:9
[INFO] [stdout]      |
[INFO] [stdout] 5799 |         app.update(Message::OpenThemePicker);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5799 |         let _unused = app.update(Message::OpenThemePicker);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5807:9
[INFO] [stdout]      |
[INFO] [stdout] 5807 |         app.update(Message::ThemeSelected(AppTheme::TokyoNight));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5807 |         let _unused = app.update(Message::ThemeSelected(AppTheme::TokyoNight));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5816:9
[INFO] [stdout]      |
[INFO] [stdout] 5816 |         app.update(Message::ThemeSelected(AppTheme::CatppuccinMocha));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5816 |         let _unused = app.update(Message::ThemeSelected(AppTheme::CatppuccinMocha));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5824:9
[INFO] [stdout]      |
[INFO] [stdout] 5824 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 5825 | |             Key::Named(keyboard::key::Named::Escape),
[INFO] [stdout] 5826 | |             Modifiers::empty(),
[INFO] [stdout] 5827 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5824 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5835:9
[INFO] [stdout]      |
[INFO] [stdout] 5835 |         app.update(Message::CycleTheme);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5835 |         let _unused = app.update(Message::CycleTheme);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5844:13
[INFO] [stdout]      |
[INFO] [stdout] 5844 |             app.update(Message::ThemeSelected(theme));
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5844 |             let _unused = app.update(Message::ThemeSelected(theme));
[INFO] [stdout]      |             +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5867:9
[INFO] [stdout]      |
[INFO] [stdout] 5867 |         app.update(Message::CycleTheme);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5867 |         let _unused = app.update(Message::CycleTheme);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5877:9
[INFO] [stdout]      |
[INFO] [stdout] 5877 |         app.update(Message::ToggleTerminal);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5877 |         let _unused = app.update(Message::ToggleTerminal);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5879:9
[INFO] [stdout]      |
[INFO] [stdout] 5879 |         app.update(Message::ToggleTerminal);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5879 |         let _unused = app.update(Message::ToggleTerminal);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5886:9
[INFO] [stdout]      |
[INFO] [stdout] 5886 |         app.update(Message::TerminalInputChanged("ls -la".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5886 |         let _unused = app.update(Message::TerminalInputChanged("ls -la".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5894:9
[INFO] [stdout]      |
[INFO] [stdout] 5894 |         app.update(Message::TerminalInputChanged("whoami".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5894 |         let _unused = app.update(Message::TerminalInputChanged("whoami".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5895:9
[INFO] [stdout]      |
[INFO] [stdout] 5895 |         app.update(Message::TerminalSubmit);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5895 |         let _unused = app.update(Message::TerminalSubmit);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5907:9
[INFO] [stdout]      |
[INFO] [stdout] 5907 |         app.update(Message::TerminalInputChanged("".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5907 |         let _unused = app.update(Message::TerminalInputChanged("".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5908:9
[INFO] [stdout]      |
[INFO] [stdout] 5908 |         app.update(Message::TerminalSubmit);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5908 |         let _unused = app.update(Message::TerminalSubmit);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5915:9
[INFO] [stdout]      |
[INFO] [stdout] 5915 |         app.update(Message::TerminalInputChanged("   ".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5915 |         let _unused = app.update(Message::TerminalInputChanged("   ".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5916:9
[INFO] [stdout]      |
[INFO] [stdout] 5916 |         app.update(Message::TerminalSubmit);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5916 |         let _unused = app.update(Message::TerminalSubmit);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5925:9
[INFO] [stdout]      |
[INFO] [stdout] 5925 |         app.update(Message::TerminalOutput("Linux\n".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5925 |         let _unused = app.update(Message::TerminalOutput("Linux\n".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5938:9
[INFO] [stdout]      |
[INFO] [stdout] 5938 |         app.update(Message::TerminalError("command not found".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5938 |         let _unused = app.update(Message::TerminalError("command not found".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5958:9
[INFO] [stdout]      |
[INFO] [stdout] 5958 |         app.update(Message::TerminalClear);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5958 |         let _unused = app.update(Message::TerminalClear);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5967:9
[INFO] [stdout]      |
[INFO] [stdout] 5967 |         app.update(Message::TerminalInputChanged("cmd1".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5967 |         let _unused = app.update(Message::TerminalInputChanged("cmd1".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5968:9
[INFO] [stdout]      |
[INFO] [stdout] 5968 |         app.update(Message::TerminalSubmit);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5968 |         let _unused = app.update(Message::TerminalSubmit);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5969:9
[INFO] [stdout]      |
[INFO] [stdout] 5969 |         app.update(Message::TerminalInputChanged("cmd2".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5969 |         let _unused = app.update(Message::TerminalInputChanged("cmd2".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5970:9
[INFO] [stdout]      |
[INFO] [stdout] 5970 |         app.update(Message::TerminalSubmit);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5970 |         let _unused = app.update(Message::TerminalSubmit);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5978:9
[INFO] [stdout]      |
[INFO] [stdout] 5978 |         app.update(Message::TerminalInputChanged("df -h".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5978 |         let _unused = app.update(Message::TerminalInputChanged("df -h".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5980:9
[INFO] [stdout]      |
[INFO] [stdout] 5980 |         app.update(Message::TerminalSubmit);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5980 |         let _unused = app.update(Message::TerminalSubmit);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5989:9
[INFO] [stdout]      |
[INFO] [stdout] 5989 |         app.update(Message::TerminalInputChanged("ls".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5989 |         let _unused = app.update(Message::TerminalInputChanged("ls".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:5990:9
[INFO] [stdout]      |
[INFO] [stdout] 5990 |         app.update(Message::TerminalSubmit);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 5990 |         let _unused = app.update(Message::TerminalSubmit);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6003:13
[INFO] [stdout]      |
[INFO] [stdout] 6003 |             app.update(Message::TerminalInputChanged(cmd.to_string()));
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6003 |             let _unused = app.update(Message::TerminalInputChanged(cmd.to_string()));
[INFO] [stdout]      |             +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6004:13
[INFO] [stdout]      |
[INFO] [stdout] 6004 |             app.update(Message::TerminalSubmit);
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6004 |             let _unused = app.update(Message::TerminalSubmit);
[INFO] [stdout]      |             +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6017:9
[INFO] [stdout]      |
[INFO] [stdout] 6017 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 6018 | |             Key::Named(keyboard::key::Named::F4),
[INFO] [stdout] 6019 | |             Modifiers::default(),
[INFO] [stdout] 6020 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6017 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6022:9
[INFO] [stdout]      |
[INFO] [stdout] 6022 | /         app.update(Message::KeyPressed(
[INFO] [stdout] 6023 | |             Key::Named(keyboard::key::Named::F4),
[INFO] [stdout] 6024 | |             Modifiers::default(),
[INFO] [stdout] 6025 | |         ));
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6022 |         let _unused = app.update(Message::KeyPressed(
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6044:9
[INFO] [stdout]      |
[INFO] [stdout] 6044 |         app.update(Message::TerminalInputChanged("new input".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6044 |         let _unused = app.update(Message::TerminalInputChanged("new input".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6062:9
[INFO] [stdout]      |
[INFO] [stdout] 6062 |         app.update(Message::Connect(ConnectMessage::QuickConnect("test-srv".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6062 |         let _unused = app.update(Message::Connect(ConnectMessage::QuickConnect("test-srv".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6094:9
[INFO] [stdout]      |
[INFO] [stdout] 6094 |         app.update(Message::Connect(ConnectMessage::DeleteProfile("to-delete".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6094 |         let _unused = app.update(Message::Connect(ConnectMessage::DeleteProfile("to-delete".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6113:9
[INFO] [stdout]      |
[INFO] [stdout] 6113 |         app.update(Message::Connect(ConnectMessage::DeleteProfile("srv".into())));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6113 |         let _unused = app.update(Message::Connect(ConnectMessage::DeleteProfile("srv".into())));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6122:9
[INFO] [stdout]      |
[INFO] [stdout] 6122 |         app.update(Message::RemoteChmod);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6122 |         let _unused = app.update(Message::RemoteChmod);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6135:9
[INFO] [stdout]      |
[INFO] [stdout] 6135 |         app.update(Message::ChmodValueChanged("755".into()));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6135 |         let _unused = app.update(Message::ChmodValueChanged("755".into()));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6147:9
[INFO] [stdout]      |
[INFO] [stdout] 6147 |         app.update(Message::ChmodCancel);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6147 |         let _unused = app.update(Message::ChmodCancel);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6155:9
[INFO] [stdout]      |
[INFO] [stdout] 6155 |         app.update(Message::ChmodConfirm);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6155 |         let _unused = app.update(Message::ChmodConfirm);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6163:9
[INFO] [stdout]      |
[INFO] [stdout] 6163 |         app.update(Message::ChmodConfirm);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6163 |         let _unused = app.update(Message::ChmodConfirm);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6173:9
[INFO] [stdout]      |
[INFO] [stdout] 6173 |         app.update(Message::RemoteChmod);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6173 |         let _unused = app.update(Message::RemoteChmod);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6181:9
[INFO] [stdout]      |
[INFO] [stdout] 6181 |         app.update(Message::ShowContextMenu(ContextAction::Chmod));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6181 |         let _unused = app.update(Message::ShowContextMenu(ContextAction::Chmod));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6190:9
[INFO] [stdout]      |
[INFO] [stdout] 6190 |         app.update(Message::LocalPanel(PanelMessage::GoHome));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6190 |         let _unused = app.update(Message::LocalPanel(PanelMessage::GoHome));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6216:9
[INFO] [stdout]      |
[INFO] [stdout] 6216 |         app.update(Message::Disconnect);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6216 |         let _unused = app.update(Message::Disconnect);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6230:9
[INFO] [stdout]      |
[INFO] [stdout] 6230 |         app.update(Message::RemoteChmod);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6230 |         let _unused = app.update(Message::RemoteChmod);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6242:9
[INFO] [stdout]      |
[INFO] [stdout] 6242 |         app.update(Message::DragHovering(true));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6242 |         let _unused = app.update(Message::DragHovering(true));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6244:9
[INFO] [stdout]      |
[INFO] [stdout] 6244 |         app.update(Message::DragHovering(false));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6244 |         let _unused = app.update(Message::DragHovering(false));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6252:9
[INFO] [stdout]      |
[INFO] [stdout] 6252 |         app.update(Message::FilesDropped(vec![PathBuf::from("/tmp/test.txt")]));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6252 |         let _unused = app.update(Message::FilesDropped(vec![PathBuf::from("/tmp/test.txt")]));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6260:9
[INFO] [stdout]      |
[INFO] [stdout] 6260 |         app.update(Message::FilesDropped(vec![PathBuf::from("/tmp/test.txt")]));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6260 |         let _unused = app.update(Message::FilesDropped(vec![PathBuf::from("/tmp/test.txt")]));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6269:9
[INFO] [stdout]      |
[INFO] [stdout] 6269 |         app.update(Message::FilesDropped(vec![PathBuf::from("/tmp/test.txt")]));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6269 |         let _unused = app.update(Message::FilesDropped(vec![PathBuf::from("/tmp/test.txt")]));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6279:9
[INFO] [stdout]      |
[INFO] [stdout] 6279 |         app.update(Message::FilesDropped(paths));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6279 |         let _unused = app.update(Message::FilesDropped(paths));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6288:9
[INFO] [stdout]      |
[INFO] [stdout] 6288 |         app.update(Message::FilesDropped(vec![PathBuf::from("/tmp/a.txt")]));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6288 |         let _unused = app.update(Message::FilesDropped(vec![PathBuf::from("/tmp/a.txt")]));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6289:9
[INFO] [stdout]      |
[INFO] [stdout] 6289 |         app.update(Message::FilesDropped(vec![PathBuf::from("/tmp/b.txt")]));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6289 |         let _unused = app.update(Message::FilesDropped(vec![PathBuf::from("/tmp/b.txt")]));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6297:9
[INFO] [stdout]      |
[INFO] [stdout] 6297 |         app.update(Message::DragHovering(true));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6297 |         let _unused = app.update(Message::DragHovering(true));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6307:9
[INFO] [stdout]      |
[INFO] [stdout] 6307 |         app.update(Message::NewTab);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6307 |         let _unused = app.update(Message::NewTab);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6318:9
[INFO] [stdout]      |
[INFO] [stdout] 6318 |         app.update(Message::NewTab);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6318 |         let _unused = app.update(Message::NewTab);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6319:9
[INFO] [stdout]      |
[INFO] [stdout] 6319 |         app.update(Message::NewTab);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6319 |         let _unused = app.update(Message::NewTab);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6321:9
[INFO] [stdout]      |
[INFO] [stdout] 6321 |         app.update(Message::CloseTab(1));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6321 |         let _unused = app.update(Message::CloseTab(1));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6328:9
[INFO] [stdout]      |
[INFO] [stdout] 6328 |         app.update(Message::CloseTab(0));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6328 |         let _unused = app.update(Message::CloseTab(0));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6338:9
[INFO] [stdout]      |
[INFO] [stdout] 6338 |         app.update(Message::NewTab);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6338 |         let _unused = app.update(Message::NewTab);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6339:9
[INFO] [stdout]      |
[INFO] [stdout] 6339 |         app.update(Message::NewTab);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6339 |         let _unused = app.update(Message::NewTab);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6341:9
[INFO] [stdout]      |
[INFO] [stdout] 6341 |         app.update(Message::SwitchTab(0));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6341 |         let _unused = app.update(Message::SwitchTab(0));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6343:9
[INFO] [stdout]      |
[INFO] [stdout] 6343 |         app.update(Message::SwitchTab(1));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6343 |         let _unused = app.update(Message::SwitchTab(1));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6350:9
[INFO] [stdout]      |
[INFO] [stdout] 6350 |         app.update(Message::NewTab);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6350 |         let _unused = app.update(Message::NewTab);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6351:9
[INFO] [stdout]      |
[INFO] [stdout] 6351 |         app.update(Message::NewTab);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6351 |         let _unused = app.update(Message::NewTab);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6352:9
[INFO] [stdout]      |
[INFO] [stdout] 6352 |         app.update(Message::SwitchTab(0));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6352 |         let _unused = app.update(Message::SwitchTab(0));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6354:9
[INFO] [stdout]      |
[INFO] [stdout] 6354 |         app.update(Message::PrevTab);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6354 |         let _unused = app.update(Message::PrevTab);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6356:9
[INFO] [stdout]      |
[INFO] [stdout] 6356 |         app.update(Message::NextTab);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6356 |         let _unused = app.update(Message::NextTab);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6363:9
[INFO] [stdout]      |
[INFO] [stdout] 6363 |         app.update(Message::NewTab);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6363 |         let _unused = app.update(Message::NewTab);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6364:9
[INFO] [stdout]      |
[INFO] [stdout] 6364 |         app.update(Message::NewTab);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6364 |         let _unused = app.update(Message::NewTab);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6366:9
[INFO] [stdout]      |
[INFO] [stdout] 6366 |         app.update(Message::CloseTab(2));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6366 |         let _unused = app.update(Message::CloseTab(2));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6375:9
[INFO] [stdout]      |
[INFO] [stdout] 6375 |         app.update(Message::NewTab);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6375 |         let _unused = app.update(Message::NewTab);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6377:9
[INFO] [stdout]      |
[INFO] [stdout] 6377 |         app.update(Message::SwitchTab(0));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6377 |         let _unused = app.update(Message::SwitchTab(0));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6380:9
[INFO] [stdout]      |
[INFO] [stdout] 6380 |         app.update(Message::SwitchTab(1));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6380 |         let _unused = app.update(Message::SwitchTab(1));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6389:9
[INFO] [stdout]      |
[INFO] [stdout] 6389 |         app.update(Message::NewTab);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6389 |         let _unused = app.update(Message::NewTab);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6392:9
[INFO] [stdout]      |
[INFO] [stdout] 6392 |         app.update(Message::NewTab);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6392 |         let _unused = app.update(Message::NewTab);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6400:9
[INFO] [stdout]      |
[INFO] [stdout] 6400 |         app.update(Message::SwitchTab(99));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6400 |         let _unused = app.update(Message::SwitchTab(99));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Task` that must be used
[INFO] [stdout]     --> src/ui/app.rs:6408:9
[INFO] [stdout]      |
[INFO] [stdout] 6408 |         app.update(Message::CloseTab(99));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Task` must be returned to the runtime to take effect; normally in your `update` or `new` functions.
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 6408 |         let _unused = app.update(Message::CloseTab(99));
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6m 14s
[INFO] running `Command { std: "docker" "inspect" "3935caa3fa08a52ac3c6a2c94c4d49359205d923308e6fafe57c7689f4ae6731", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3935caa3fa08a52ac3c6a2c94c4d49359205d923308e6fafe57c7689f4ae6731", kill_on_drop: false }`
[INFO] [stdout] 3935caa3fa08a52ac3c6a2c94c4d49359205d923308e6fafe57c7689f4ae6731
