[INFO] cloning repository https://github.com/AhoyISki/parsec
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AhoyISki/parsec" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAhoyISki%2Fparsec", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAhoyISki%2Fparsec'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ee3bee78e63a0c336f608a410acc58e78d19ae90
[INFO] checking AhoyISki/parsec against try#0bdee9e879c87b7211d316e9152109cfd46c576b for pr-150097
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAhoyISki%2Fparsec" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/AhoyISki/parsec
[INFO] finished tweaking git repo https://github.com/AhoyISki/parsec
[INFO] tweaked toml for git repo https://github.com/AhoyISki/parsec written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AhoyISki/parsec on toolchain 0bdee9e879c87b7211d316e9152109cfd46c576b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/AhoyISki/parsec 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" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 4 packages to latest Rust 1.94.0-nightly compatible versions
[INFO] [stderr]     Updating clap v4.5.51 -> v4.5.53
[INFO] [stderr]     Updating clap_builder v4.5.51 -> v4.5.53
[INFO] [stderr]     Updating convert_case v0.9.0 -> v0.10.0
[INFO] [stderr]     Updating log v0.4.28 -> v0.4.29
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8c8e35a6e86f5a79d83d81a02b00701f7b0b0767c851bdf96f1d79f574aa32ab
[INFO] running `Command { std: "docker" "start" "-a" "8c8e35a6e86f5a79d83d81a02b00701f7b0b0767c851bdf96f1d79f574aa32ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8c8e35a6e86f5a79d83d81a02b00701f7b0b0767c851bdf96f1d79f574aa32ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8c8e35a6e86f5a79d83d81a02b00701f7b0b0767c851bdf96f1d79f574aa32ab", kill_on_drop: false }`
[INFO] [stdout] 8c8e35a6e86f5a79d83d81a02b00701f7b0b0767c851bdf96f1d79f574aa32ab
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6b4588f7b53fdbf87bd677636d917434b219314343d9713f2b334d72a813978e
[INFO] running `Command { std: "docker" "start" "-a" "6b4588f7b53fdbf87bd677636d917434b219314343d9713f2b334d72a813978e", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling find-msvc-tools v0.1.4
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling cc v1.2.44
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling wayland-sys v0.31.7
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]    Compiling quick-xml v0.37.5
[INFO] [stderr]    Compiling wayland-client v0.31.11
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]     Checking hashbrown v0.16.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]     Checking indexmap v2.12.0
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling wayland-scanner v0.31.7
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling wayland-backend v0.3.11
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]    Compiling convert_case v0.7.1
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking mio v1.1.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking os_pipe v1.2.3
[INFO] [stderr]    Compiling virtue v0.0.18
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]    Compiling bincode_derive v2.0.1
[INFO] [stderr]     Checking tree_magic_mini v3.2.0
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking fallible-iterator v0.3.0
[INFO] [stderr]     Checking stable_try_trait_v2 v1.75.1
[INFO] [stderr]     Checking unty v0.0.4
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking bincode v2.0.1
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking gapbuf v0.1.4
[INFO] [stderr]     Checking thread-count v0.3.1
[INFO] [stderr]     Checking lender v0.4.1
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling include_dir_macros v0.7.4
[INFO] [stderr]     Checking tree-sitter-language v0.1.5
[INFO] [stderr]     Checking streaming-iterator v0.1.9
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking tempfile v3.23.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]     Checking include_dir v0.7.4
[INFO] [stderr]     Checking libloading v0.8.9
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]     Checking regex-cursor v0.1.5
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling format-like v0.4.0
[INFO] [stderr]     Checking anstyle-query v1.1.4
[INFO] [stderr]     Checking colorchoice v1.0.4
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking clap_lex v0.7.6
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]     Checking clap_builder v4.5.53
[INFO] [stderr]     Checking inotify v0.11.0
[INFO] [stderr]     Checking derive_more v2.0.1
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]     Checking notify-types v2.0.0
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking micromap v0.1.0
[INFO] [stderr]     Checking wayland-protocols v0.32.9
[INFO] [stderr]     Checking kasuari v0.4.10
[INFO] [stderr]     Checking unicode-width v0.2.2
[INFO] [stderr]     Checking convert_case v0.10.0
[INFO] [stderr]     Checking notify v8.2.0
[INFO] [stderr]     Checking libloading v0.9.0
[INFO] [stderr]     Checking clap v4.5.53
[INFO] [stderr]    Compiling tree-sitter v0.25.10
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.9
[INFO] [stderr]     Checking wl-clipboard-rs v0.9.2
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking duat-core v0.7.6
[INFO] [stderr]     Checking duat-filetype v0.3.2
[INFO] [stderr]     Checking duat-base v0.7.4
[INFO] [stderr]     Checking duat-jump-list v0.2.1
[INFO] [stderr]     Checking duat-term v0.7.5
[INFO] [stderr]     Checking duat-treesitter v0.3.5
[INFO] [stderr]     Checking duat-match-pairs v0.2.1
[INFO] [stderr]     Checking duatmode v0.7.3
[INFO] [stderr]     Checking duat v0.7.8 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `duatmode::opts::DuatModeOpts`
[INFO] [stdout]   --> src/opts.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | use duatmode::opts::DuatModeOpts;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `DuatModeOpts` in `opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `duat_treesitter::TsHandle`
[INFO] [stdout]  --> src/regular.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use duat_treesitter::TsHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^--------
[INFO] [stdout]   |     |                |
[INFO] [stdout]   |     |                help: a similar name exists in the module: `Handle`
[INFO] [stdout]   |     no `TsHandle` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `duat_core::buffer::History`, `duat_core::context::DuatReceiver`, `duat_core::context::DuatSender`
[INFO] [stdout]   --> src/setup.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     buffer::History,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ no `History` in `buffer`
[INFO] [stdout] 19 |     clipboard::Clipboard,
[INFO] [stdout] 20 |     context::{self, DuatReceiver, DuatSender, Logs},
[INFO] [stdout]    |                     ^^^^^^^^^^^^  ^^^^^^^^^^ no `DuatSender` in `context`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     no `DuatReceiver` in `context`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing one of these structs instead:
[INFO] [stdout]            crate::text::History
[INFO] [stdout]            duat_core::text::History
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `duat_core::context::DuatReceiver`, `duat_core::utils::catch_panic`
[INFO] [stdout]    --> src/lib.rs:545:25
[INFO] [stdout]     |
[INFO] [stdout] 545 |     pub use duat_core::{context::DuatReceiver, session::ReloadedBuffer, utils::catch_panic};
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^                           ^^^^^^^^^^^^^^^^^^ no `catch_panic` in `utils`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         no `DuatReceiver` in `context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::hook::BufferSaved`, `crate::hook::BufferUpdated`, `crate::hook::KeySent`, `crate::hook::KeySentTo`, `crate::text::RegexHaystack`
[INFO] [stdout]    --> src/lib.rs:597:35
[INFO] [stdout]     |
[INFO] [stdout] 597 |             self, BufferReloaded, BufferSaved, BufferUpdated, ColorSchemeSet, ConfigLoaded,
[INFO] [stdout]     |                                   ^^^^^^^^^^^  ^^^^^^^^^^^^^ no `BufferUpdated` in `hook`
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   no `BufferSaved` in `hook`
[INFO] [stdout] 598 |             ConfigUnloaded, ExitedDuat, FocusChanged, FocusedOnDuat, FormSet, Hookable, KeySent,
[INFO] [stdout]     |                                                                                         ^^^^^^^ no `KeySent` in `hook`
[INFO] [stdout] 599 |             KeySentTo, KeyTyped, ModeSwitched, SearchPerformed, SearchUpdated, UnfocusedFrom,
[INFO] [stdout]     |             ^^^^^^^^^ no `KeySentTo` in `hook`
[INFO] [stdout] ...
[INFO] [stdout] 611 |             RegexHaystack, Spacer, SpawnTag, Tagger, Text, txt,
[INFO] [stdout]     |             ^^^^^^^^^^^^^ no `RegexHaystack` in `text`
[INFO] [stdout]     |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]     |
[INFO] [stdout] 598 |             ConfigUnloaded, ExitedDuat, FocusChanged, FocusedOnDuat, FormSet, Hookable, KeysSent,
[INFO] [stdout]     |                                                                                            +
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]     |
[INFO] [stdout] 599 |             KeysSentTo, KeyTyped, ModeSwitched, SearchPerformed, SearchUpdated, UnfocusedFrom,
[INFO] [stdout]     |                +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `try_or_log_err` in `duat_core`
[INFO] [stdout]    --> src/setup.rs:136:20
[INFO] [stdout]     |
[INFO] [stdout] 136 |         duat_core::try_or_log_err! {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^ could not find `try_or_log_err` in `duat_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `try_or_log_err` in `duat_core`
[INFO] [stdout]    --> src/setup.rs:168:20
[INFO] [stdout]     |
[INFO] [stdout] 168 |         duat_core::try_or_log_err! {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^ could not find `try_or_log_err` in `duat_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `set` in module `duatmode::opts`
[INFO] [stdout]    --> src/opts.rs:209:21
[INFO] [stdout]     |
[INFO] [stdout] 209 |     duatmode::opts::set(set_fn)
[INFO] [stdout]     |                     ^^^ not found in `duatmode::opts`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]     |
[INFO] [stdout]  66 + use crate::form::set;
[INFO] [stdout]     |
[INFO] [stdout]  66 + use crate::mode::set;
[INFO] [stdout]     |
[INFO] [stdout]  66 + use duat_core::form::set;
[INFO] [stdout]     |
[INFO] [stdout]  66 + use duat_core::mode::set;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `set`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 209 -     duatmode::opts::set(set_fn)
[INFO] [stdout] 209 +     set(set_fn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `reindent` in crate `duatmode`
[INFO] [stdout]   --> src/regular.rs:70:35
[INFO] [stdout]    |
[INFO] [stdout] 70 |                         duatmode::reindent(&mut c, indents.next().unwrap());
[INFO] [stdout]    |                                   ^^^^^^^^ not found in `duatmode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `log_panic` in module `context`
[INFO] [stdout]   --> src/setup.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 50 |         context::log_panic(panic_info);
[INFO] [stdout]    |                  ^^^^^^^^^ not found in `context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `track_words` in module `duat_base::widgets`
[INFO] [stdout]    --> src/setup.rs:236:25
[INFO] [stdout]     |
[INFO] [stdout] 236 |     duat_base::widgets::track_words();
[INFO] [stdout]     |                         ^^^^^^^^^^^ not found in `duat_base::widgets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `config_address_space_ui_setup` in module `duat_core::ui`
[INFO] [stdout]    --> src/setup.rs:294:20
[INFO] [stdout]     |
[INFO] [stdout] 294 |     duat_core::ui::config_address_space_ui_setup::<duat_term::Ui>(ui);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `duat_core::ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `duatmode::opts::DuatModeOpts`
[INFO] [stdout]   --> src/opts.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | use duatmode::opts::DuatModeOpts;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `DuatModeOpts` in `opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `duat_treesitter::TsHandle`
[INFO] [stdout]  --> src/regular.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use duat_treesitter::TsHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^--------
[INFO] [stdout]   |     |                |
[INFO] [stdout]   |     |                help: a similar name exists in the module: `Handle`
[INFO] [stdout]   |     no `TsHandle` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `duat_core::buffer::History`, `duat_core::context::DuatReceiver`, `duat_core::context::DuatSender`
[INFO] [stdout]   --> src/setup.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     buffer::History,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ no `History` in `buffer`
[INFO] [stdout] 19 |     clipboard::Clipboard,
[INFO] [stdout] 20 |     context::{self, DuatReceiver, DuatSender, Logs},
[INFO] [stdout]    |                     ^^^^^^^^^^^^  ^^^^^^^^^^ no `DuatSender` in `context`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     no `DuatReceiver` in `context`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing one of these structs instead:
[INFO] [stdout]            crate::text::History
[INFO] [stdout]            duat_core::text::History
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `duat_core::context::DuatReceiver`, `duat_core::utils::catch_panic`
[INFO] [stdout]    --> src/lib.rs:545:25
[INFO] [stdout]     |
[INFO] [stdout] 545 |     pub use duat_core::{context::DuatReceiver, session::ReloadedBuffer, utils::catch_panic};
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^                           ^^^^^^^^^^^^^^^^^^ no `catch_panic` in `utils`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         no `DuatReceiver` in `context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::hook::BufferSaved`, `crate::hook::BufferUpdated`, `crate::hook::KeySent`, `crate::hook::KeySentTo`, `crate::text::RegexHaystack`
[INFO] [stdout]    --> src/lib.rs:597:35
[INFO] [stdout]     |
[INFO] [stdout] 597 |             self, BufferReloaded, BufferSaved, BufferUpdated, ColorSchemeSet, ConfigLoaded,
[INFO] [stdout]     |                                   ^^^^^^^^^^^  ^^^^^^^^^^^^^ no `BufferUpdated` in `hook`
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   no `BufferSaved` in `hook`
[INFO] [stdout] 598 |             ConfigUnloaded, ExitedDuat, FocusChanged, FocusedOnDuat, FormSet, Hookable, KeySent,
[INFO] [stdout]     |                                                                                         ^^^^^^^ no `KeySent` in `hook`
[INFO] [stdout] 599 |             KeySentTo, KeyTyped, ModeSwitched, SearchPerformed, SearchUpdated, UnfocusedFrom,
[INFO] [stdout]     |             ^^^^^^^^^ no `KeySentTo` in `hook`
[INFO] [stdout] ...
[INFO] [stdout] 611 |             RegexHaystack, Spacer, SpawnTag, Tagger, Text, txt,
[INFO] [stdout]     |             ^^^^^^^^^^^^^ no `RegexHaystack` in `text`
[INFO] [stdout]     |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]     |
[INFO] [stdout] 598 |             ConfigUnloaded, ExitedDuat, FocusChanged, FocusedOnDuat, FormSet, Hookable, KeysSent,
[INFO] [stdout]     |                                                                                            +
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]     |
[INFO] [stdout] 599 |             KeysSentTo, KeyTyped, ModeSwitched, SearchPerformed, SearchUpdated, UnfocusedFrom,
[INFO] [stdout]     |                +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `try_or_log_err` in `duat_core`
[INFO] [stdout]    --> src/setup.rs:136:20
[INFO] [stdout]     |
[INFO] [stdout] 136 |         duat_core::try_or_log_err! {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^ could not find `try_or_log_err` in `duat_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `try_or_log_err` in `duat_core`
[INFO] [stdout]    --> src/setup.rs:168:20
[INFO] [stdout]     |
[INFO] [stdout] 168 |         duat_core::try_or_log_err! {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^ could not find `try_or_log_err` in `duat_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ts_get_indentations` found for struct `Handle<W, S>` in the current scope
[INFO] [stdout]   --> src/regular.rs:67:47
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 if let Some(indents) = handle.ts_get_indentations(pa, ..) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^ method not found in `Handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/regular.rs:68:39
[INFO] [stdout]    |
[INFO] [stdout] 68 |                     let mut indents = indents.into_iter();
[INFO] [stdout]    |                                       ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `set` in module `duatmode::opts`
[INFO] [stdout]    --> src/opts.rs:209:21
[INFO] [stdout]     |
[INFO] [stdout] 209 |     duatmode::opts::set(set_fn)
[INFO] [stdout]     |                     ^^^ not found in `duatmode::opts`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]     |
[INFO] [stdout]  66 + use crate::form::set;
[INFO] [stdout]     |
[INFO] [stdout]  66 + use crate::mode::set;
[INFO] [stdout]     |
[INFO] [stdout]  66 + use duat_core::form::set;
[INFO] [stdout]     |
[INFO] [stdout]  66 + use duat_core::mode::set;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `set`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 209 -     duatmode::opts::set(set_fn)
[INFO] [stdout] 209 +     set(set_fn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `reindent` in crate `duatmode`
[INFO] [stdout]   --> src/regular.rs:70:35
[INFO] [stdout]    |
[INFO] [stdout] 70 |                         duatmode::reindent(&mut c, indents.next().unwrap());
[INFO] [stdout]    |                                   ^^^^^^^^ not found in `duatmode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `log_panic` in module `context`
[INFO] [stdout]   --> src/setup.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 50 |         context::log_panic(panic_info);
[INFO] [stdout]    |                  ^^^^^^^^^ not found in `context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `track_words` in module `duat_base::widgets`
[INFO] [stdout]    --> src/setup.rs:236:25
[INFO] [stdout]     |
[INFO] [stdout] 236 |     duat_base::widgets::track_words();
[INFO] [stdout]     |                         ^^^^^^^^^^^ not found in `duat_base::widgets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `config_address_space_ui_setup` in module `duat_core::ui`
[INFO] [stdout]    --> src/setup.rs:294:20
[INFO] [stdout]     |
[INFO] [stdout] 294 |     duat_core::ui::config_address_space_ui_setup::<duat_term::Ui>(ui);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `duat_core::ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut Pass: duat_core::mode::Mode` is not satisfied
[INFO] [stdout]    --> src/regular.rs:203:41
[INFO] [stdout]     |
[INFO] [stdout] 203 |             ctrl!('f') => _ = mode::set(pa, IncSearch::new(SearchFwd)),
[INFO] [stdout]     |                               --------- ^^ the trait `duat_core::mode::Mode` is not implemented for `&mut Pass`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `duat_core::mode::Mode`:
[INFO] [stdout]               &'static str
[INFO] [stdout]               duat_base::modes::Pager<W>
[INFO] [stdout]               duat_base::modes::Prompt
[INFO] [stdout]               duat_core::mode::User
[INFO] [stdout]               duatmode::Insert
[INFO] [stdout]               duatmode::Normal
[INFO] [stdout]               regular::Regular
[INFO] [stdout] note: required by a bound in `duat_core::mode::set`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-core-0.7.6/src/mode/switch.rs:83:23
[INFO] [stdout]     |
[INFO] [stdout]  83 | pub fn set(mode: impl Mode) {
[INFO] [stdout]     |                       ^^^^ required by this bound in `set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/regular.rs:203:31
[INFO] [stdout]     |
[INFO] [stdout] 203 |             ctrl!('f') => _ = mode::set(pa, IncSearch::new(SearchFwd)),
[INFO] [stdout]     |                               ^^^^^^^^^     ------------------------- unexpected argument #2 of type `duat_base::modes::Prompt`
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-core-0.7.6/src/mode/switch.rs:83:8
[INFO] [stdout]     |
[INFO] [stdout]  83 | pub fn set(mode: impl Mode) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 203 -             ctrl!('f') => _ = mode::set(pa, IncSearch::new(SearchFwd)),
[INFO] [stdout] 203 +             ctrl!('f') => _ = mode::set(pa),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut Pass: duat_core::mode::Mode` is not satisfied
[INFO] [stdout]    --> src/regular.rs:206:56
[INFO] [stdout]     |
[INFO] [stdout] 206 |             ctrl!('P') | event!(F(1)) => _ = mode::set(pa, RunCommands::new()),
[INFO] [stdout]     |                                              --------- ^^ the trait `duat_core::mode::Mode` is not implemented for `&mut Pass`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `duat_core::mode::Mode`:
[INFO] [stdout]               &'static str
[INFO] [stdout]               duat_base::modes::Pager<W>
[INFO] [stdout]               duat_base::modes::Prompt
[INFO] [stdout]               duat_core::mode::User
[INFO] [stdout]               duatmode::Insert
[INFO] [stdout]               duatmode::Normal
[INFO] [stdout]               regular::Regular
[INFO] [stdout] note: required by a bound in `duat_core::mode::set`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-core-0.7.6/src/mode/switch.rs:83:23
[INFO] [stdout]     |
[INFO] [stdout]  83 | pub fn set(mode: impl Mode) {
[INFO] [stdout]     |                       ^^^^ required by this bound in `set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/regular.rs:206:46
[INFO] [stdout]     |
[INFO] [stdout] 206 |             ctrl!('P') | event!(F(1)) => _ = mode::set(pa, RunCommands::new()),
[INFO] [stdout]     |                                              ^^^^^^^^^     ------------------ unexpected argument #2 of type `duat_base::modes::Prompt`
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-core-0.7.6/src/mode/switch.rs:83:8
[INFO] [stdout]     |
[INFO] [stdout]  83 | pub fn set(mode: impl Mode) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 206 -             ctrl!('P') | event!(F(1)) => _ = mode::set(pa, RunCommands::new()),
[INFO] [stdout] 206 +             ctrl!('P') | event!(F(1)) => _ = mode::set(pa),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut Pass: duat_core::mode::Mode` is not satisfied
[INFO] [stdout]    --> src/regular.rs:207:41
[INFO] [stdout]     |
[INFO] [stdout] 207 |             ctrl!('p') => _ = mode::set(pa, RunCommands::new_with("edit ")),
[INFO] [stdout]     |                               --------- ^^ the trait `duat_core::mode::Mode` is not implemented for `&mut Pass`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `duat_core::mode::Mode`:
[INFO] [stdout]               &'static str
[INFO] [stdout]               duat_base::modes::Pager<W>
[INFO] [stdout]               duat_base::modes::Prompt
[INFO] [stdout]               duat_core::mode::User
[INFO] [stdout]               duatmode::Insert
[INFO] [stdout]               duatmode::Normal
[INFO] [stdout]               regular::Regular
[INFO] [stdout] note: required by a bound in `duat_core::mode::set`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-core-0.7.6/src/mode/switch.rs:83:23
[INFO] [stdout]     |
[INFO] [stdout]  83 | pub fn set(mode: impl Mode) {
[INFO] [stdout]     |                       ^^^^ required by this bound in `set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/regular.rs:207:31
[INFO] [stdout]     |
[INFO] [stdout] 207 |             ctrl!('p') => _ = mode::set(pa, RunCommands::new_with("edit ")),
[INFO] [stdout]     |                               ^^^^^^^^^     ------------------------------ unexpected argument #2 of type `duat_base::modes::Prompt`
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-core-0.7.6/src/mode/switch.rs:83:8
[INFO] [stdout]     |
[INFO] [stdout]  83 | pub fn set(mode: impl Mode) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 207 -             ctrl!('p') => _ = mode::set(pa, RunCommands::new_with("edit ")),
[INFO] [stdout] 207 +             ctrl!('p') => _ = mode::set(pa),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut Pass: duat_core::mode::Mode` is not satisfied
[INFO] [stdout]    --> src/regular.rs:208:41
[INFO] [stdout]     |
[INFO] [stdout] 208 |             ctrl!('n') => _ = mode::set(pa, RunCommands::new_with("open ")),
[INFO] [stdout]     |                               --------- ^^ the trait `duat_core::mode::Mode` is not implemented for `&mut Pass`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `duat_core::mode::Mode`:
[INFO] [stdout]               &'static str
[INFO] [stdout]               duat_base::modes::Pager<W>
[INFO] [stdout]               duat_base::modes::Prompt
[INFO] [stdout]               duat_core::mode::User
[INFO] [stdout]               duatmode::Insert
[INFO] [stdout]               duatmode::Normal
[INFO] [stdout]               regular::Regular
[INFO] [stdout] note: required by a bound in `duat_core::mode::set`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-core-0.7.6/src/mode/switch.rs:83:23
[INFO] [stdout]     |
[INFO] [stdout]  83 | pub fn set(mode: impl Mode) {
[INFO] [stdout]     |                       ^^^^ required by this bound in `set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/regular.rs:208:31
[INFO] [stdout]     |
[INFO] [stdout] 208 |             ctrl!('n') => _ = mode::set(pa, RunCommands::new_with("open ")),
[INFO] [stdout]     |                               ^^^^^^^^^     ------------------------------ unexpected argument #2 of type `duat_base::modes::Prompt`
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-core-0.7.6/src/mode/switch.rs:83:8
[INFO] [stdout]     |
[INFO] [stdout]  83 | pub fn set(mode: impl Mode) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 208 -             ctrl!('n') => _ = mode::set(pa, RunCommands::new_with("open ")),
[INFO] [stdout] 208 +             ctrl!('n') => _ = mode::set(pa),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/setup.rs:70:38
[INFO] [stdout]    |
[INFO] [stdout] 70 |       hook::add::<Buffer>(|pa, handle| {
[INFO] [stdout]    |  ______________________________________^
[INFO] [stdout] 71 | |         VertRule::builder().push_on(pa, handle);
[INFO] [stdout] 72 | |         LINENUMBERS_OPTS.lock().unwrap().push_on(pa, handle);
[INFO] [stdout] 73 | |     })
[INFO] [stdout]    | |_____^ expected `Result<(), Text>`, found `()`
[INFO] [stdout]    |
[INFO] [stdout]    = note:   expected enum `Result<(), duat_core::text::Text>`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/setup.rs:76:45
[INFO] [stdout]     |
[INFO] [stdout]  76 |       hook::add::<WindowCreated>(|pa, handle| {
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout]  77 | |         use crate::{
[INFO] [stdout]  78 | |             state::*,
[INFO] [stdout]  79 | |             text::{AlignRight, Spacer},
[INFO] [stdout] ...   |
[INFO] [stdout] 111 | |         footer.push_on(pa, handle);
[INFO] [stdout] 112 | |     })
[INFO] [stdout]     | |_____^ expected `Result<(), Text>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), duat_core::text::Text>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/setup.rs:115:45
[INFO] [stdout]     |
[INFO] [stdout] 115 |       hook::add::<WindowCreated>(|pa, window| {
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 116 | |         let mut builder = LogBook::builder();
[INFO] [stdout] 117 | |         LOGBOOK_FN.lock().unwrap()(&mut builder);
[INFO] [stdout] 118 | |         builder.push_on(pa, window);
[INFO] [stdout] 119 | |     })
[INFO] [stdout]     | |_____^ expected `Result<(), Text>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), duat_core::text::Text>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/setup.rs:146:68
[INFO] [stdout]     |
[INFO] [stdout] 146 |           if !buffer.exists() || buffer.text().has_unsaved_changes() {
[INFO] [stdout]     |  ____________________________________________________________________^
[INFO] [stdout] 147 | |             cache.delete(path);
[INFO] [stdout] 148 | |         }
[INFO] [stdout]     | |_________^ expected `Result<(), Text>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), duat_core::text::Text>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0069]: `return;` in a function whose return type is not `()`
[INFO] [stdout]    --> src/setup.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 151 |     hook::add::<BufferClosed>(|pa, (handle, cache)| {
[INFO] [stdout]     |                                                    - expected `` because of this return type
[INFO] [stdout] ...
[INFO] [stdout] 159 |             return;
[INFO] [stdout]     |             ^^^^^^ return type is not `()`
[INFO] [stdout]     |
[INFO] [stdout] help: give the `return` a value of the expected type
[INFO] [stdout]     |
[INFO] [stdout] 159 |             return Ok(());
[INFO] [stdout]     |                    ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/setup.rs:187:28
[INFO] [stdout]     |
[INFO] [stdout] 187 |         WhichKey::open(pa, opts.fmt_getter.as_ref().map(|fg| fg()), wk_specs);
[INFO] [stdout]     |         --------------     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `duat_core::text::Text`, found `(Text, Text)`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Box<(dyn for<'a> FnMut(Description<'a>) -> Option<duat_core::text::Text> + 'static)>>`
[INFO] [stdout]                found enum `Option<Box<dyn for<'a> FnMut(Description<'a>) -> Option<(duat_core::text::Text, duat_core::text::Text)>>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-base-0.7.4/src/widgets/which_key.rs:22:12
[INFO] [stdout]     |
[INFO] [stdout]  22 |     pub fn open(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/setup.rs:195:81
[INFO] [stdout]     |
[INFO] [stdout] 195 |           if !cur_seq.is_empty() || opts.always_shown_modes.contains(&current_ty) {
[INFO] [stdout]     |  _________________________________________________________________________________^
[INFO] [stdout] 196 | |             drop(opts);
[INFO] [stdout] 197 | |             show_which_key(pa);
[INFO] [stdout] 198 | |         }
[INFO] [stdout]     | |_________^ expected `Result<(), Text>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), duat_core::text::Text>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/setup.rs:203:71
[INFO] [stdout]     |
[INFO] [stdout] 203 |           if opts.always_shown_modes.contains(&mode::current_type_id()) {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout] 204 | |             drop(opts);
[INFO] [stdout] 205 | |             show_which_key(pa);
[INFO] [stdout] 206 | |         } else {
[INFO] [stdout]     | |_________^ expected `Result<(), Text>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), duat_core::text::Text>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/setup.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 | /             for handle in context::windows().handles_of::<WhichKey>(pa) {
[INFO] [stdout] 208 | |                 let _ = handle.close(pa);
[INFO] [stdout] 209 | |             }
[INFO] [stdout]     | |_____________^ expected `Result<(), Text>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), duat_core::text::Text>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout]     = note: `for` loops evaluate to unit type `()`
[INFO] [stdout] help: try adding an expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 209 ~             }
[INFO] [stdout] 210 +             Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/setup.rs:218:9
[INFO] [stdout]     |
[INFO] [stdout] 218 | /         {
[INFO] [stdout] 219 | |             show_which_key(pa);
[INFO] [stdout] 220 | |         }
[INFO] [stdout]     | |_________^ expected `Result<(), Text>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), duat_core::text::Text>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _, _)`
[INFO] [stdout]    --> src/setup.rs:225:35
[INFO] [stdout]     |
[INFO] [stdout] 225 |     hook::add::<BufferSaved>(|pa, (handle, _, is_quitting)| {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 226 |         let path = handle.read(pa).path();
[INFO] [stdout]     |                    ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 225 |     hook::add::<BufferSaved>(|pa, (handle, _, is_quitting): (_, _, _)| {
[INFO] [stdout]     |                                                           +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut Pass: duat_core::mode::Mode` is not satisfied
[INFO] [stdout]    --> src/setup.rs:280:19
[INFO] [stdout]     |
[INFO] [stdout] 280 |         mode::set(pa, Pager::<LogBook>::new());
[INFO] [stdout]     |         --------- ^^ the trait `duat_core::mode::Mode` is not implemented for `&mut Pass`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `duat_core::mode::Mode`:
[INFO] [stdout]               &'static str
[INFO] [stdout]               duat_base::modes::Pager<W>
[INFO] [stdout]               duat_base::modes::Prompt
[INFO] [stdout]               duat_core::mode::User
[INFO] [stdout]               duatmode::Insert
[INFO] [stdout]               duatmode::Normal
[INFO] [stdout]               regular::Regular
[INFO] [stdout] note: required by a bound in `duat_core::mode::set`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-core-0.7.6/src/mode/switch.rs:83:23
[INFO] [stdout]     |
[INFO] [stdout]  83 | pub fn set(mode: impl Mode) {
[INFO] [stdout]     |                       ^^^^ required by this bound in `set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/setup.rs:280:9
[INFO] [stdout]     |
[INFO] [stdout] 280 |         mode::set(pa, Pager::<LogBook>::new());
[INFO] [stdout]     |         ^^^^^^^^^     ----------------------- unexpected argument #2 of type `duat_base::modes::Pager`
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-core-0.7.6/src/mode/switch.rs:83:8
[INFO] [stdout]     |
[INFO] [stdout]  83 | pub fn set(mode: impl Mode) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 280 -         mode::set(pa, Pager::<LogBook>::new());
[INFO] [stdout] 280 +         mode::set(pa);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ts_get_indentations` found for struct `Handle<W, S>` in the current scope
[INFO] [stdout]   --> src/regular.rs:67:47
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 if let Some(indents) = handle.ts_get_indentations(pa, ..) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^ method not found in `Handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/regular.rs:68:39
[INFO] [stdout]    |
[INFO] [stdout] 68 |                     let mut indents = indents.into_iter();
[INFO] [stdout]    |                                       ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/setup.rs:315:9
[INFO] [stdout]     |
[INFO] [stdout] 311 |       match opts
[INFO] [stdout]     |  ___________-
[INFO] [stdout] 312 | |         .build(ui, buffers, already_plugged)
[INFO] [stdout] 313 | |         .start(duat_rx, reload_tx)
[INFO] [stdout]     | |__________________________________- this expression has type `(Vec<Vec<ReloadedBuffer>>, std::sync::mpsc::Receiver<DuatEvent>)`
[INFO] [stdout] 314 |       {
[INFO] [stdout] 315 |           Some(ret) => ret,
[INFO] [stdout]     |           ^^^^^^^^^ expected `(Vec<Vec<ReloadedBuffer>>, ...)`, found `Option<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(Vec<Vec<ReloadedBuffer>>, std::sync::mpsc::Receiver<DuatEvent>)`
[INFO] [stdout]                 found enum `Option<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/setup.rs:316:9
[INFO] [stdout]     |
[INFO] [stdout] 311 |       match opts
[INFO] [stdout]     |  ___________-
[INFO] [stdout] 312 | |         .build(ui, buffers, already_plugged)
[INFO] [stdout] 313 | |         .start(duat_rx, reload_tx)
[INFO] [stdout]     | |__________________________________- this expression has type `(Vec<Vec<ReloadedBuffer>>, std::sync::mpsc::Receiver<DuatEvent>)`
[INFO] [stdout] ...
[INFO] [stdout] 316 |           None => {
[INFO] [stdout]     |           ^^^^ expected `(Vec<Vec<ReloadedBuffer>>, ...)`, found `Option<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(Vec<Vec<ReloadedBuffer>>, std::sync::mpsc::Receiver<DuatEvent>)`
[INFO] [stdout]                 found enum `Option<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut Pass: duat_core::mode::Mode` is not satisfied
[INFO] [stdout]    --> src/regular.rs:203:41
[INFO] [stdout]     |
[INFO] [stdout] 203 |             ctrl!('f') => _ = mode::set(pa, IncSearch::new(SearchFwd)),
[INFO] [stdout]     |                               --------- ^^ the trait `duat_core::mode::Mode` is not implemented for `&mut Pass`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `duat_core::mode::Mode`:
[INFO] [stdout]               &'static str
[INFO] [stdout]               duat_base::modes::Pager<W>
[INFO] [stdout]               duat_base::modes::Prompt
[INFO] [stdout]               duat_core::mode::User
[INFO] [stdout]               duatmode::Insert
[INFO] [stdout]               duatmode::Normal
[INFO] [stdout]               regular::Regular
[INFO] [stdout] note: required by a bound in `duat_core::mode::set`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-core-0.7.6/src/mode/switch.rs:83:23
[INFO] [stdout]     |
[INFO] [stdout]  83 | pub fn set(mode: impl Mode) {
[INFO] [stdout]     |                       ^^^^ required by this bound in `set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/regular.rs:203:31
[INFO] [stdout]     |
[INFO] [stdout] 203 |             ctrl!('f') => _ = mode::set(pa, IncSearch::new(SearchFwd)),
[INFO] [stdout]     |                               ^^^^^^^^^     ------------------------- unexpected argument #2 of type `duat_base::modes::Prompt`
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-core-0.7.6/src/mode/switch.rs:83:8
[INFO] [stdout]     |
[INFO] [stdout]  83 | pub fn set(mode: impl Mode) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 203 -             ctrl!('f') => _ = mode::set(pa, IncSearch::new(SearchFwd)),
[INFO] [stdout] 203 +             ctrl!('f') => _ = mode::set(pa),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut Pass: duat_core::mode::Mode` is not satisfied
[INFO] [stdout]    --> src/regular.rs:206:56
[INFO] [stdout]     |
[INFO] [stdout] 206 |             ctrl!('P') | event!(F(1)) => _ = mode::set(pa, RunCommands::new()),
[INFO] [stdout]     |                                              --------- ^^ the trait `duat_core::mode::Mode` is not implemented for `&mut Pass`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `duat_core::mode::Mode`:
[INFO] [stdout]               &'static str
[INFO] [stdout]               duat_base::modes::Pager<W>
[INFO] [stdout]               duat_base::modes::Prompt
[INFO] [stdout]               duat_core::mode::User
[INFO] [stdout]               duatmode::Insert
[INFO] [stdout]               duatmode::Normal
[INFO] [stdout]               regular::Regular
[INFO] [stdout] note: required by a bound in `duat_core::mode::set`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-core-0.7.6/src/mode/switch.rs:83:23
[INFO] [stdout]     |
[INFO] [stdout]  83 | pub fn set(mode: impl Mode) {
[INFO] [stdout]     |                       ^^^^ required by this bound in `set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/regular.rs:206:46
[INFO] [stdout]     |
[INFO] [stdout] 206 |             ctrl!('P') | event!(F(1)) => _ = mode::set(pa, RunCommands::new()),
[INFO] [stdout]     |                                              ^^^^^^^^^     ------------------ unexpected argument #2 of type `duat_base::modes::Prompt`
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-core-0.7.6/src/mode/switch.rs:83:8
[INFO] [stdout]     |
[INFO] [stdout]  83 | pub fn set(mode: impl Mode) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 206 -             ctrl!('P') | event!(F(1)) => _ = mode::set(pa, RunCommands::new()),
[INFO] [stdout] 206 +             ctrl!('P') | event!(F(1)) => _ = mode::set(pa),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut Pass: duat_core::mode::Mode` is not satisfied
[INFO] [stdout]    --> src/regular.rs:207:41
[INFO] [stdout]     |
[INFO] [stdout] 207 |             ctrl!('p') => _ = mode::set(pa, RunCommands::new_with("edit ")),
[INFO] [stdout]     |                               --------- ^^ the trait `duat_core::mode::Mode` is not implemented for `&mut Pass`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `duat_core::mode::Mode`:
[INFO] [stdout]               &'static str
[INFO] [stdout]               duat_base::modes::Pager<W>
[INFO] [stdout]               duat_base::modes::Prompt
[INFO] [stdout]               duat_core::mode::User
[INFO] [stdout]               duatmode::Insert
[INFO] [stdout]               duatmode::Normal
[INFO] [stdout]               regular::Regular
[INFO] [stdout] note: required by a bound in `duat_core::mode::set`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-core-0.7.6/src/mode/switch.rs:83:23
[INFO] [stdout]     |
[INFO] [stdout]  83 | pub fn set(mode: impl Mode) {
[INFO] [stdout]     |                       ^^^^ required by this bound in `set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/regular.rs:207:31
[INFO] [stdout]     |
[INFO] [stdout] 207 |             ctrl!('p') => _ = mode::set(pa, RunCommands::new_with("edit ")),
[INFO] [stdout]     |                               ^^^^^^^^^     ------------------------------ unexpected argument #2 of type `duat_base::modes::Prompt`
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-core-0.7.6/src/mode/switch.rs:83:8
[INFO] [stdout]     |
[INFO] [stdout]  83 | pub fn set(mode: impl Mode) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 207 -             ctrl!('p') => _ = mode::set(pa, RunCommands::new_with("edit ")),
[INFO] [stdout] 207 +             ctrl!('p') => _ = mode::set(pa),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut Pass: duat_core::mode::Mode` is not satisfied
[INFO] [stdout]    --> src/regular.rs:208:41
[INFO] [stdout]     |
[INFO] [stdout] 208 |             ctrl!('n') => _ = mode::set(pa, RunCommands::new_with("open ")),
[INFO] [stdout]     |                               --------- ^^ the trait `duat_core::mode::Mode` is not implemented for `&mut Pass`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `duat_core::mode::Mode`:
[INFO] [stdout]               &'static str
[INFO] [stdout]               duat_base::modes::Pager<W>
[INFO] [stdout]               duat_base::modes::Prompt
[INFO] [stdout]               duat_core::mode::User
[INFO] [stdout]               duatmode::Insert
[INFO] [stdout]               duatmode::Normal
[INFO] [stdout]               regular::Regular
[INFO] [stdout] note: required by a bound in `duat_core::mode::set`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-core-0.7.6/src/mode/switch.rs:83:23
[INFO] [stdout]     |
[INFO] [stdout]  83 | pub fn set(mode: impl Mode) {
[INFO] [stdout]     |                       ^^^^ required by this bound in `set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/regular.rs:208:31
[INFO] [stdout]     |
[INFO] [stdout] 208 |             ctrl!('n') => _ = mode::set(pa, RunCommands::new_with("open ")),
[INFO] [stdout]     |                               ^^^^^^^^^     ------------------------------ unexpected argument #2 of type `duat_base::modes::Prompt`
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-core-0.7.6/src/mode/switch.rs:83:8
[INFO] [stdout]     |
[INFO] [stdout]  83 | pub fn set(mode: impl Mode) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 208 -             ctrl!('n') => _ = mode::set(pa, RunCommands::new_with("open ")),
[INFO] [stdout] 208 +             ctrl!('n') => _ = mode::set(pa),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/setup.rs:70:38
[INFO] [stdout]    |
[INFO] [stdout] 70 |       hook::add::<Buffer>(|pa, handle| {
[INFO] [stdout]    |  ______________________________________^
[INFO] [stdout] 71 | |         VertRule::builder().push_on(pa, handle);
[INFO] [stdout] 72 | |         LINENUMBERS_OPTS.lock().unwrap().push_on(pa, handle);
[INFO] [stdout] 73 | |     })
[INFO] [stdout]    | |_____^ expected `Result<(), Text>`, found `()`
[INFO] [stdout]    |
[INFO] [stdout]    = note:   expected enum `Result<(), duat_core::text::Text>`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0069, E0277, E0282, E0308, E0425, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/setup.rs:76:45
[INFO] [stdout]     |
[INFO] [stdout]  76 |       hook::add::<WindowCreated>(|pa, handle| {
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout]  77 | |         use crate::{
[INFO] [stdout]  78 | |             state::*,
[INFO] [stdout]  79 | |             text::{AlignRight, Spacer},
[INFO] [stdout] ...   |
[INFO] [stdout] 111 | |         footer.push_on(pa, handle);
[INFO] [stdout] 112 | |     })
[INFO] [stdout]     | |_____^ expected `Result<(), Text>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), duat_core::text::Text>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/setup.rs:115:45
[INFO] [stdout]     |
[INFO] [stdout] 115 |       hook::add::<WindowCreated>(|pa, window| {
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 116 | |         let mut builder = LogBook::builder();
[INFO] [stdout] 117 | |         LOGBOOK_FN.lock().unwrap()(&mut builder);
[INFO] [stdout] 118 | |         builder.push_on(pa, window);
[INFO] [stdout] 119 | |     })
[INFO] [stdout]     | |_____^ expected `Result<(), Text>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), duat_core::text::Text>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/setup.rs:146:68
[INFO] [stdout]     |
[INFO] [stdout] 146 |           if !buffer.exists() || buffer.text().has_unsaved_changes() {
[INFO] [stdout]     |  ____________________________________________________________________^
[INFO] [stdout] 147 | |             cache.delete(path);
[INFO] [stdout] 148 | |         }
[INFO] [stdout]     | |_________^ expected `Result<(), Text>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), duat_core::text::Text>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0069]: `return;` in a function whose return type is not `()`
[INFO] [stdout]    --> src/setup.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 151 |     hook::add::<BufferClosed>(|pa, (handle, cache)| {
[INFO] [stdout]     |                                                    - expected `` because of this return type
[INFO] [stdout] ...
[INFO] [stdout] 159 |             return;
[INFO] [stdout]     |             ^^^^^^ return type is not `()`
[INFO] [stdout]     |
[INFO] [stdout] help: give the `return` a value of the expected type
[INFO] [stdout]     |
[INFO] [stdout] 159 |             return Ok(());
[INFO] [stdout]     |                    ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `duat` (lib) due to 37 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/setup.rs:187:28
[INFO] [stdout]     |
[INFO] [stdout] 187 |         WhichKey::open(pa, opts.fmt_getter.as_ref().map(|fg| fg()), wk_specs);
[INFO] [stdout]     |         --------------     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `duat_core::text::Text`, found `(Text, Text)`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Box<(dyn for<'a> FnMut(Description<'a>) -> Option<duat_core::text::Text> + 'static)>>`
[INFO] [stdout]                found enum `Option<Box<dyn for<'a> FnMut(Description<'a>) -> Option<(duat_core::text::Text, duat_core::text::Text)>>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-base-0.7.4/src/widgets/which_key.rs:22:12
[INFO] [stdout]     |
[INFO] [stdout]  22 |     pub fn open(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/setup.rs:195:81
[INFO] [stdout]     |
[INFO] [stdout] 195 |           if !cur_seq.is_empty() || opts.always_shown_modes.contains(&current_ty) {
[INFO] [stdout]     |  _________________________________________________________________________________^
[INFO] [stdout] 196 | |             drop(opts);
[INFO] [stdout] 197 | |             show_which_key(pa);
[INFO] [stdout] 198 | |         }
[INFO] [stdout]     | |_________^ expected `Result<(), Text>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), duat_core::text::Text>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/setup.rs:203:71
[INFO] [stdout]     |
[INFO] [stdout] 203 |           if opts.always_shown_modes.contains(&mode::current_type_id()) {
[INFO] [stdout]     |  _______________________________________________________________________^
[INFO] [stdout] 204 | |             drop(opts);
[INFO] [stdout] 205 | |             show_which_key(pa);
[INFO] [stdout] 206 | |         } else {
[INFO] [stdout]     | |_________^ expected `Result<(), Text>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), duat_core::text::Text>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/setup.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 | /             for handle in context::windows().handles_of::<WhichKey>(pa) {
[INFO] [stdout] 208 | |                 let _ = handle.close(pa);
[INFO] [stdout] 209 | |             }
[INFO] [stdout]     | |_____________^ expected `Result<(), Text>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), duat_core::text::Text>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout]     = note: `for` loops evaluate to unit type `()`
[INFO] [stdout] help: try adding an expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 209 ~             }
[INFO] [stdout] 210 +             Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/setup.rs:218:9
[INFO] [stdout]     |
[INFO] [stdout] 218 | /         {
[INFO] [stdout] 219 | |             show_which_key(pa);
[INFO] [stdout] 220 | |         }
[INFO] [stdout]     | |_________^ expected `Result<(), Text>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<(), duat_core::text::Text>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _, _)`
[INFO] [stdout]    --> src/setup.rs:225:35
[INFO] [stdout]     |
[INFO] [stdout] 225 |     hook::add::<BufferSaved>(|pa, (handle, _, is_quitting)| {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 226 |         let path = handle.read(pa).path();
[INFO] [stdout]     |                    ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 225 |     hook::add::<BufferSaved>(|pa, (handle, _, is_quitting): (_, _, _)| {
[INFO] [stdout]     |                                                           +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&mut Pass: duat_core::mode::Mode` is not satisfied
[INFO] [stdout]    --> src/setup.rs:280:19
[INFO] [stdout]     |
[INFO] [stdout] 280 |         mode::set(pa, Pager::<LogBook>::new());
[INFO] [stdout]     |         --------- ^^ the trait `duat_core::mode::Mode` is not implemented for `&mut Pass`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `duat_core::mode::Mode`:
[INFO] [stdout]               &'static str
[INFO] [stdout]               duat_base::modes::Pager<W>
[INFO] [stdout]               duat_base::modes::Prompt
[INFO] [stdout]               duat_core::mode::User
[INFO] [stdout]               duatmode::Insert
[INFO] [stdout]               duatmode::Normal
[INFO] [stdout]               regular::Regular
[INFO] [stdout] note: required by a bound in `duat_core::mode::set`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-core-0.7.6/src/mode/switch.rs:83:23
[INFO] [stdout]     |
[INFO] [stdout]  83 | pub fn set(mode: impl Mode) {
[INFO] [stdout]     |                       ^^^^ required by this bound in `set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/setup.rs:280:9
[INFO] [stdout]     |
[INFO] [stdout] 280 |         mode::set(pa, Pager::<LogBook>::new());
[INFO] [stdout]     |         ^^^^^^^^^     ----------------------- unexpected argument #2 of type `duat_base::modes::Pager`
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/duat-core-0.7.6/src/mode/switch.rs:83:8
[INFO] [stdout]     |
[INFO] [stdout]  83 | pub fn set(mode: impl Mode) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 280 -         mode::set(pa, Pager::<LogBook>::new());
[INFO] [stdout] 280 +         mode::set(pa);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/setup.rs:315:9
[INFO] [stdout]     |
[INFO] [stdout] 311 |       match opts
[INFO] [stdout]     |  ___________-
[INFO] [stdout] 312 | |         .build(ui, buffers, already_plugged)
[INFO] [stdout] 313 | |         .start(duat_rx, reload_tx)
[INFO] [stdout]     | |__________________________________- this expression has type `(Vec<Vec<ReloadedBuffer>>, std::sync::mpsc::Receiver<DuatEvent>)`
[INFO] [stdout] 314 |       {
[INFO] [stdout] 315 |           Some(ret) => ret,
[INFO] [stdout]     |           ^^^^^^^^^ expected `(Vec<Vec<ReloadedBuffer>>, ...)`, found `Option<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(Vec<Vec<ReloadedBuffer>>, std::sync::mpsc::Receiver<DuatEvent>)`
[INFO] [stdout]                 found enum `Option<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/setup.rs:316:9
[INFO] [stdout]     |
[INFO] [stdout] 311 |       match opts
[INFO] [stdout]     |  ___________-
[INFO] [stdout] 312 | |         .build(ui, buffers, already_plugged)
[INFO] [stdout] 313 | |         .start(duat_rx, reload_tx)
[INFO] [stdout]     | |__________________________________- this expression has type `(Vec<Vec<ReloadedBuffer>>, std::sync::mpsc::Receiver<DuatEvent>)`
[INFO] [stdout] ...
[INFO] [stdout] 316 |           None => {
[INFO] [stdout]     |           ^^^^ expected `(Vec<Vec<ReloadedBuffer>>, ...)`, found `Option<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(Vec<Vec<ReloadedBuffer>>, std::sync::mpsc::Receiver<DuatEvent>)`
[INFO] [stdout]                 found enum `Option<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0069, E0277, E0282, E0308, E0425, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `duat` (lib test) due to 37 previous errors
[INFO] running `Command { std: "docker" "inspect" "6b4588f7b53fdbf87bd677636d917434b219314343d9713f2b334d72a813978e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6b4588f7b53fdbf87bd677636d917434b219314343d9713f2b334d72a813978e", kill_on_drop: false }`
[INFO] [stdout] 6b4588f7b53fdbf87bd677636d917434b219314343d9713f2b334d72a813978e
