[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] 5de861db21069bc34a55f77c5bc66c83ab838951
[INFO] testing AhoyISki/parsec against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAhoyISki%2Fparsec" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/AhoyISki/parsec on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 84 packages to latest compatible versions
[INFO] [stderr]       Adding bitflags v1.3.2 (latest: v2.5.0)
[INFO] [stderr]       Adding inotify v0.9.6 (latest: v0.10.2)
[INFO] [stderr]       Adding redox_syscall v0.4.1 (latest: v0.5.1)
[INFO] [stderr]       Adding wasi v0.11.0+wasi-snapshot-preview1 (latest: v0.13.1+wasi-0.2.0)
[INFO] [stderr]       Adding windows-sys v0.42.0 (latest: v0.52.0)
[INFO] [stderr]       Adding windows-sys v0.48.0 (latest: v0.52.0)
[INFO] [stderr]       Adding windows-targets v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_aarch64_gnullvm v0.42.2 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_aarch64_gnullvm v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_aarch64_msvc v0.42.2 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_aarch64_msvc v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_i686_gnu v0.42.2 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_i686_gnu v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_i686_msvc v0.42.2 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_i686_msvc v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_gnu v0.42.2 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_gnu v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_gnullvm v0.42.2 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_gnullvm v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_msvc v0.42.2 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_msvc v0.48.5 (latest: v0.52.5)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded atomic-wait v1.1.0
[INFO] [stderr]   Downloaded any-rope v1.2.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c410d47c36cfae2ed611bb91fd2fc5bccbface20f02f456e6bf36fc43085c21c
[INFO] running `Command { std: "docker" "start" "-a" "c410d47c36cfae2ed611bb91fd2fc5bccbface20f02f456e6bf36fc43085c21c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c410d47c36cfae2ed611bb91fd2fc5bccbface20f02f456e6bf36fc43085c21c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c410d47c36cfae2ed611bb91fd2fc5bccbface20f02f456e6bf36fc43085c21c", kill_on_drop: false }`
[INFO] [stdout] c410d47c36cfae2ed611bb91fd2fc5bccbface20f02f456e6bf36fc43085c21c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dcd3f05b64c62e3510d9672e4a0dcffd4a662fb4ce5267f6fd6704221db16a4d
[INFO] running `Command { std: "docker" "start" "-a" "dcd3f05b64c62e3510d9672e4a0dcffd4a662fb4ce5267f6fd6704221db16a4d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling bitflags v2.5.0
[INFO] [stderr]    Compiling str_indices v0.4.3
[INFO] [stderr]    Compiling any-rope v1.2.5
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling unicode-width v0.1.12
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling libloading v0.8.3
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling ropey v1.6.1
[INFO] [stderr]    Compiling crossbeam-channel v0.5.13
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling filetime v0.2.23
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling notify v6.1.1
[INFO] [stderr]    Compiling duat v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling signal-hook-mio v0.2.3
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling atomic-wait v1.1.0
[INFO] [stderr]    Compiling duat-core v0.1.0 (/opt/rustwide/workdir/duat-core)
[INFO] [stdout] warning: the feature `fmt_internals` is internal to the compiler or standard library
[INFO] [stdout]   --> duat-core/src/lib.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fmt_internals
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using it is strongly discouraged
[INFO] [stdout]    = note: `#[warn(internal_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `deadlock-detection`
[INFO] [stdout]    --> duat-core/src/commands/mod.rs:200:11
[INFO] [stdout]     |
[INFO] [stdout] 200 | #[cfg(not(feature = "deadlock-detection"))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `wacky-colors`
[INFO] [stdout]     = help: consider adding `deadlock-detection` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> duat-core/src/file/read.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn len(&self) -> usize {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 137 |         self.len()
[INFO] [stdout]     |         ---------- recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]     = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> duat-core/src/file/read.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 146 |     fn len(&self) -> usize {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 147 |         self.len()
[INFO] [stdout]     |         ---------- recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> duat-core/src/file/read.rs:163:35
[INFO] [stdout]     |
[INFO] [stdout] 163 |     fn matches(&self, part: Part, index: usize) -> bool {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> duat-core/src/file/read.rs:173:35
[INFO] [stdout]     |
[INFO] [stdout] 173 |     fn matches(&self, part: Part, index: usize) -> bool {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> duat-core/src/file/read.rs:183:35
[INFO] [stdout]     |
[INFO] [stdout] 183 |     fn matches(&self, part: Part, index: usize) -> bool {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> duat-core/src/file/read.rs:204:43
[INFO] [stdout]     |
[INFO] [stdout] 188 | / impl_ranges!(
[INFO] [stdout] 189 | |     Range<char>,
[INFO] [stdout] 190 | |     RangeTo<char>,
[INFO] [stdout] 191 | |     RangeFrom<char>,
[INFO] [stdout] ...   |
[INFO] [stdout] 194 | |     RangeFull
[INFO] [stdout] 195 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout] 204 |               fn matches(&self, part: Part, index: usize) -> bool {
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_ranges` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> duat-core/src/file/read.rs:216:43
[INFO] [stdout]     |
[INFO] [stdout] 188 | / impl_ranges!(
[INFO] [stdout] 189 | |     Range<char>,
[INFO] [stdout] 190 | |     RangeTo<char>,
[INFO] [stdout] 191 | |     RangeFrom<char>,
[INFO] [stdout] ...   |
[INFO] [stdout] 194 | |     RangeFull
[INFO] [stdout] 195 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout] 216 |               fn matches(&self, part: Part, index: usize) -> bool {
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_ranges` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> duat-core/src/file/read.rs:229:43
[INFO] [stdout]     |
[INFO] [stdout] 188 | / impl_ranges!(
[INFO] [stdout] 189 | |     Range<char>,
[INFO] [stdout] 190 | |     RangeTo<char>,
[INFO] [stdout] 191 | |     RangeFrom<char>,
[INFO] [stdout] ...   |
[INFO] [stdout] 194 | |     RangeFull
[INFO] [stdout] 195 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout] 229 |               fn matches(&self, part: Part, index: usize) -> bool {
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_ranges` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `readers` is never read
[INFO] [stdout]    --> duat-core/src/file/mod.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub struct File {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 184 |     readers: Vec<Box<dyn Reader>>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_change` and `read_click` are never used
[INFO] [stdout]   --> duat-core/src/file/read.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait Reader {
[INFO] [stdout]    |           ------ methods in this trait
[INFO] [stdout] 12 |     fn read_change(&mut self, file: &mut File, change: Change);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 13 |
[INFO] [stdout] 14 |     fn read_click(&mut self, file: &mut File, pos: ExactPos);
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `InnerTags` is never used
[INFO] [stdout]   --> duat-core/src/text/mod.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | trait InnerTags: std::fmt::Debug + Default + Sized + Clone {
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> duat-core/src/text/iter.rs:578:15
[INFO] [stdout]     |
[INFO] [stdout] 578 |     Excluding(&'a [Cursor]),
[INFO] [stdout]     |     --------- ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 578 |     Excluding(()),
[INFO] [stdout]     |               ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> duat-core/src/text/iter.rs:579:17
[INFO] [stdout]     |
[INFO] [stdout] 579 |     NotOnLineOf(&'a [Cursor]),
[INFO] [stdout]     |     ----------- ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 579 |     NotOnLineOf(()),
[INFO] [stdout]     |                 ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling duat-term v0.1.0 (/opt/rustwide/workdir/duat-term)
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.17s
[INFO] running `Command { std: "docker" "inspect" "dcd3f05b64c62e3510d9672e4a0dcffd4a662fb4ce5267f6fd6704221db16a4d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dcd3f05b64c62e3510d9672e4a0dcffd4a662fb4ce5267f6fd6704221db16a4d", kill_on_drop: false }`
[INFO] [stdout] dcd3f05b64c62e3510d9672e4a0dcffd4a662fb4ce5267f6fd6704221db16a4d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 34346a149cbafeebebf785fcb58ec3e3aefa7337fb6db7e83abdf1999d1667d5
[INFO] running `Command { std: "docker" "start" "-a" "34346a149cbafeebebf785fcb58ec3e3aefa7337fb6db7e83abdf1999d1667d5", kill_on_drop: false }`
[INFO] [stdout] warning: the feature `fmt_internals` is internal to the compiler or standard library
[INFO] [stdout]   --> duat-core/src/lib.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fmt_internals
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: using it is strongly discouraged
[INFO] [stdout]    = note: `#[warn(internal_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `deadlock-detection`
[INFO] [stdout]    --> duat-core/src/commands/mod.rs:200:11
[INFO] [stdout]     |
[INFO] [stdout] 200 | #[cfg(not(feature = "deadlock-detection"))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `wacky-colors`
[INFO] [stdout]     = help: consider adding `deadlock-detection` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> duat-core/src/file/read.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn len(&self) -> usize {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 137 |         self.len()
[INFO] [stdout]     |         ---------- recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]     = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> duat-core/src/file/read.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 146 |     fn len(&self) -> usize {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 147 |         self.len()
[INFO] [stdout]     |         ---------- recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> duat-core/src/file/read.rs:163:35
[INFO] [stdout]     |
[INFO] [stdout] 163 |     fn matches(&self, part: Part, index: usize) -> bool {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> duat-core/src/file/read.rs:173:35
[INFO] [stdout]     |
[INFO] [stdout] 173 |     fn matches(&self, part: Part, index: usize) -> bool {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> duat-core/src/file/read.rs:183:35
[INFO] [stdout]     |
[INFO] [stdout] 183 |     fn matches(&self, part: Part, index: usize) -> bool {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> duat-core/src/file/read.rs:204:43
[INFO] [stdout]     |
[INFO] [stdout] 188 | / impl_ranges!(
[INFO] [stdout] 189 | |     Range<char>,
[INFO] [stdout] 190 | |     RangeTo<char>,
[INFO] [stdout] 191 | |     RangeFrom<char>,
[INFO] [stdout] ...   |
[INFO] [stdout] 194 | |     RangeFull
[INFO] [stdout] 195 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout] 204 |               fn matches(&self, part: Part, index: usize) -> bool {
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_ranges` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> duat-core/src/file/read.rs:216:43
[INFO] [stdout]     |
[INFO] [stdout] 188 | / impl_ranges!(
[INFO] [stdout] 189 | |     Range<char>,
[INFO] [stdout] 190 | |     RangeTo<char>,
[INFO] [stdout] 191 | |     RangeFrom<char>,
[INFO] [stdout] ...   |
[INFO] [stdout] 194 | |     RangeFull
[INFO] [stdout] 195 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout] 216 |               fn matches(&self, part: Part, index: usize) -> bool {
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_ranges` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> duat-core/src/file/read.rs:229:43
[INFO] [stdout]     |
[INFO] [stdout] 188 | / impl_ranges!(
[INFO] [stdout] 189 | |     Range<char>,
[INFO] [stdout] 190 | |     RangeTo<char>,
[INFO] [stdout] 191 | |     RangeFrom<char>,
[INFO] [stdout] ...   |
[INFO] [stdout] 194 | |     RangeFull
[INFO] [stdout] 195 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout] 229 |               fn matches(&self, part: Part, index: usize) -> bool {
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_ranges` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `readers` is never read
[INFO] [stdout]    --> duat-core/src/file/mod.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub struct File {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 184 |     readers: Vec<Box<dyn Reader>>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_change` and `read_click` are never used
[INFO] [stdout]   --> duat-core/src/file/read.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait Reader {
[INFO] [stdout]    |           ------ methods in this trait
[INFO] [stdout] 12 |     fn read_change(&mut self, file: &mut File, change: Change);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 13 |
[INFO] [stdout] 14 |     fn read_click(&mut self, file: &mut File, pos: ExactPos);
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `InnerTags` is never used
[INFO] [stdout]   --> duat-core/src/text/mod.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | trait InnerTags: std::fmt::Debug + Default + Sized + Clone {
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> duat-core/src/text/iter.rs:578:15
[INFO] [stdout]     |
[INFO] [stdout] 578 |     Excluding(&'a [Cursor]),
[INFO] [stdout]     |     --------- ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 578 |     Excluding(()),
[INFO] [stdout]     |               ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling duat v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> duat-core/src/text/iter.rs:579:17
[INFO] [stdout]     |
[INFO] [stdout] 579 |     NotOnLineOf(&'a [Cursor]),
[INFO] [stdout]     |     ----------- ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 579 |     NotOnLineOf(()),
[INFO] [stdout]     |                 ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.68s
[INFO] running `Command { std: "docker" "inspect" "34346a149cbafeebebf785fcb58ec3e3aefa7337fb6db7e83abdf1999d1667d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "34346a149cbafeebebf785fcb58ec3e3aefa7337fb6db7e83abdf1999d1667d5", kill_on_drop: false }`
[INFO] [stdout] 34346a149cbafeebebf785fcb58ec3e3aefa7337fb6db7e83abdf1999d1667d5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d027bb6ff6539447a34dd745e2a0d30bc0159b70ac374b3f6ca492c17c909fb7
[INFO] running `Command { std: "docker" "start" "-a" "d027bb6ff6539447a34dd745e2a0d30bc0159b70ac374b3f6ca492c17c909fb7", kill_on_drop: false }`
[INFO] [stderr] warning: the feature `fmt_internals` is internal to the compiler or standard library
[INFO] [stderr]   --> duat-core/src/lib.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     fmt_internals
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: using it is strongly discouraged
[INFO] [stderr]    = note: `#[warn(internal_features)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `deadlock-detection`
[INFO] [stderr]    --> duat-core/src/commands/mod.rs:200:11
[INFO] [stderr]     |
[INFO] [stderr] 200 | #[cfg(not(feature = "deadlock-detection"))]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected values for `feature` are: `default`, `wacky-colors`
[INFO] [stderr]     = help: consider adding `deadlock-detection` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function cannot return without recursing
[INFO] [stderr]    --> duat-core/src/file/read.rs:136:5
[INFO] [stderr]     |
[INFO] [stderr] 136 |     fn len(&self) -> usize {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stderr] 137 |         self.len()
[INFO] [stderr]     |         ---------- recursive call site
[INFO] [stderr]     |
[INFO] [stderr]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stderr]     = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function cannot return without recursing
[INFO] [stderr]    --> duat-core/src/file/read.rs:146:5
[INFO] [stderr]     |
[INFO] [stderr] 146 |     fn len(&self) -> usize {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stderr] 147 |         self.len()
[INFO] [stderr]     |         ---------- recursive call site
[INFO] [stderr]     |
[INFO] [stderr]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> duat-core/src/file/read.rs:163:35
[INFO] [stderr]     |
[INFO] [stderr] 163 |     fn matches(&self, part: Part, index: usize) -> bool {
[INFO] [stderr]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> duat-core/src/file/read.rs:173:35
[INFO] [stderr]     |
[INFO] [stderr] 173 |     fn matches(&self, part: Part, index: usize) -> bool {
[INFO] [stderr]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> duat-core/src/file/read.rs:183:35
[INFO] [stderr]     |
[INFO] [stderr] 183 |     fn matches(&self, part: Part, index: usize) -> bool {
[INFO] [stderr]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> duat-core/src/file/read.rs:204:43
[INFO] [stderr]     |
[INFO] [stderr] 188 | / impl_ranges!(
[INFO] [stderr] 189 | |     Range<char>,
[INFO] [stderr] 190 | |     RangeTo<char>,
[INFO] [stderr] 191 | |     RangeFrom<char>,
[INFO] [stderr] ...   |
[INFO] [stderr] 194 | |     RangeFull
[INFO] [stderr] 195 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr] ...
[INFO] [stderr] 204 |               fn matches(&self, part: Part, index: usize) -> bool {
[INFO] [stderr]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_ranges` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> duat-core/src/file/read.rs:216:43
[INFO] [stderr]     |
[INFO] [stderr] 188 | / impl_ranges!(
[INFO] [stderr] 189 | |     Range<char>,
[INFO] [stderr] 190 | |     RangeTo<char>,
[INFO] [stderr] 191 | |     RangeFrom<char>,
[INFO] [stderr] ...   |
[INFO] [stderr] 194 | |     RangeFull
[INFO] [stderr] 195 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr] ...
[INFO] [stderr] 216 |               fn matches(&self, part: Part, index: usize) -> bool {
[INFO] [stderr]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_ranges` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> duat-core/src/file/read.rs:229:43
[INFO] [stderr]     |
[INFO] [stderr] 188 | / impl_ranges!(
[INFO] [stderr] 189 | |     Range<char>,
[INFO] [stderr] 190 | |     RangeTo<char>,
[INFO] [stderr] 191 | |     RangeFrom<char>,
[INFO] [stderr] ...   |
[INFO] [stderr] 194 | |     RangeFull
[INFO] [stderr] 195 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr] ...
[INFO] [stderr] 229 |               fn matches(&self, part: Part, index: usize) -> bool {
[INFO] [stderr]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_ranges` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: field `readers` is never read
[INFO] [stderr]    --> duat-core/src/file/mod.rs:184:5
[INFO] [stderr]     |
[INFO] [stderr] 178 | pub struct File {
[INFO] [stderr]     |            ---- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 184 |     readers: Vec<Box<dyn Reader>>,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `read_change` and `read_click` are never used
[INFO] [stderr]   --> duat-core/src/file/read.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub trait Reader {
[INFO] [stderr]    |           ------ methods in this trait
[INFO] [stderr] 12 |     fn read_change(&mut self, file: &mut File, change: Change);
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 13 |
[INFO] [stderr] 14 |     fn read_click(&mut self, file: &mut File, pos: ExactPos);
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `InnerTags` is never used
[INFO] [stderr]   --> duat-core/src/text/mod.rs:30:7
[INFO] [stderr]    |
[INFO] [stderr] 30 | trait InnerTags: std::fmt::Debug + Default + Sized + Clone {
[INFO] [stderr]    |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> duat-core/src/text/iter.rs:578:15
[INFO] [stderr]     |
[INFO] [stderr] 578 |     Excluding(&'a [Cursor]),
[INFO] [stderr]     |     --------- ^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 578 |     Excluding(()),
[INFO] [stderr]     |               ~~
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> duat-core/src/text/iter.rs:579:17
[INFO] [stderr]     |
[INFO] [stderr] 579 |     NotOnLineOf(&'a [Cursor]),
[INFO] [stderr]     |     ----------- ^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 579 |     NotOnLineOf(()),
[INFO] [stderr]     |                 ~~
[INFO] [stderr] 
[INFO] [stderr] warning: `duat-core` (lib) generated 15 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/duat-1d25a514e9479262)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/duat-bbccd0b43b2c1119)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests duat
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test src/config.rs - config::control::run (line 307) ... FAILED
[INFO] [stdout] test src/config.rs - config::control::add (line 337) ... FAILED
[INFO] [stdout] test src/widgets/status_line/mod.rs - widgets::status_line::StatusLine (line 153) ... FAILED
[INFO] [stdout] test src/config.rs - config::control::add_for_current (line 394) ... FAILED
[INFO] [stdout] test src/widgets/status_line/mod.rs - widgets::status_line (line 11) ... FAILED
[INFO] [stdout] test src/config.rs - config::control::add_for_widget (line 497) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/config.rs - config::control::run (line 307) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `run` in module `commands`
[INFO] [stdout]   --> src/config.rs:314:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | commands::run("set-prompt new-prompt")
[INFO] [stdout]    |           ^^^ not found in `commands`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 2  + use duat::prelude::control::run;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `run`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 10 - commands::run("set-prompt new-prompt")
[INFO] [stdout] 10 + run("set-prompt new-prompt")
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/config.rs - config::control::add (line 337) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `duat_core::widgets::status`
[INFO] [stdout]  --> src/config.rs:343:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     widgets::status
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^ no `status` in `widgets`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `add` in module `commands`
[INFO] [stdout]   --> src/config.rs:348:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | commands::add(["set-var"], {
[INFO] [stdout]    |           ^^^ not found in `commands`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 2  + use duat::prelude::control::add;
[INFO] [stdout]    |
[INFO] [stdout] 2  + use duat::prelude::hooks::add;
[INFO] [stdout]    |
[INFO] [stdout] 2  + use duat_core::hooks::add;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `add`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 14 - commands::add(["set-var"], {
[INFO] [stdout] 14 + add(["set-var"], {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/widgets/status_line/mod.rs - widgets::status_line::StatusLine (line 153) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: could not find `tags` in `duat_core`
[INFO] [stdout]  --> src/widgets/status_line/mod.rs:157:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     tags::form::FormPalette,
[INFO] [stdout]   |     ^^^^ could not find `tags` in `duat_core`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `duat_core::widgets::file_parts`, `duat_core::widgets::status_parts`, `duat_core::widgets::StatusLine`, `duat_core::widgets::WidgetType`, `duat_core::Controler`
[INFO] [stdout]   --> src/widgets/status_line/mod.rs:160:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |         file_parts::{file_name, main_cursor},
[INFO] [stdout]    |         ^^^^^^^^^^ could not find `file_parts` in `widgets`
[INFO] [stdout] 11 |         status_parts, File, StatusLine, WidgetType
[INFO] [stdout]    |         ^^^^^^^^^^^^        ^^^^^^^^^^  ^^^^^^^^^^ no `WidgetType` in `widgets`
[INFO] [stdout]    |         |                   |
[INFO] [stdout]    |         |                   no `StatusLine` in `widgets`
[INFO] [stdout]    |         no `status_parts` in `widgets`
[INFO] [stdout] 12 |     },
[INFO] [stdout] 13 |     Controler
[INFO] [stdout]    |     ^^^^^^^^^ no `Controler` in the root
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing this struct instead:
[INFO] [stdout]            duat::prelude::StatusLine
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: struct takes 0 generic arguments but 1 generic argument was supplied
[INFO] [stdout]    --> src/widgets/status_line/mod.rs:166:34
[INFO] [stdout]     |
[INFO] [stdout] 16  |     file_fn: impl Fn() -> RoData<File<U>>,
[INFO] [stdout]     |                                  ^^^^--- help: remove these generics
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  expected 0 generic arguments
[INFO] [stdout]     |
[INFO] [stdout] note: struct defined here, with 0 generic parameters
[INFO] [stdout]    --> /opt/rustwide/workdir/duat-core/src/file/mod.rs:178:12
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub struct File {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: struct takes 0 generic arguments but 1 generic argument was supplied
[INFO] [stdout]    --> src/widgets/status_line/mod.rs:172:18
[INFO] [stdout]     |
[INFO] [stdout] 22  | let file: RoData<File<U>> = file_fn();
[INFO] [stdout]     |                  ^^^^--- help: remove these generics
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  expected 0 generic arguments
[INFO] [stdout]     |
[INFO] [stdout] note: struct defined here, with 0 generic parameters
[INFO] [stdout]    --> /opt/rustwide/workdir/duat-core/src/file/mod.rs:178:12
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub struct File {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/config.rs - config::control::add_for_current (line 394) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `crossterm`
[INFO] [stdout]   --> src/config.rs:423:10
[INFO] [stdout]    |
[INFO] [stdout] 32 |     key: crossterm::event::KeyEvent,
[INFO] [stdout]    |          ^^^^^^^^^ use of undeclared crate or module `crossterm`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `add_for_current` in module `commands`
[INFO] [stdout]   --> src/config.rs:433:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | commands::add_for_current::<ModalEditor>(
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^ not found in `commands`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 2  + use duat::prelude::control::add_for_current;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `add_for_current`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 42 - commands::add_for_current::<ModalEditor>(
[INFO] [stdout] 42 + add_for_current::<ModalEditor>(
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `InputMethod`
[INFO] [stdout]   --> src/config.rs:415:6
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl InputMethod for ModalEditor {
[INFO] [stdout]    |      ^^^^^^^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 generic parameter: `U`
[INFO] [stdout]   --> /opt/rustwide/workdir/duat-core/src/input/mod.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub trait InputMethod<U>: Send + Sync + 'static
[INFO] [stdout]    |           ^^^^^^^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl InputMethod<U> for ModalEditor {
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/widgets/status_line/mod.rs - widgets::status_line (line 11) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: could not find `tags` in `duat_core`
[INFO] [stdout]  --> src/widgets/status_line/mod.rs:14:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     tags::form::FormPalette,
[INFO] [stdout]   |     ^^^^ could not find `tags` in `duat_core`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `duat_core::ui::ModNode`, `duat_core::widgets::StatusLine`
[INFO] [stdout]  --> src/widgets/status_line/mod.rs:16:10
[INFO] [stdout]   |
[INFO] [stdout] 8 |     ui::{ModNode, PushSpecs, Constraint, Ui},
[INFO] [stdout]   |          ^^^^^^^ no `ModNode` in `ui`
[INFO] [stdout] 9 |     widgets::StatusLine,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^ no `StatusLine` in `widgets`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this struct instead:
[INFO] [stdout]           duat::prelude::StatusLine
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/widgets/status_line/mod.rs:26:17
[INFO] [stdout]     |
[INFO] [stdout] 18  |     let specs = PushSpecs::below(Constraint::Length(1.0));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ -----------------------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  unexpected argument of type `Constraint`
[INFO] [stdout]     |                                  help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/duat-core/src/ui/mod.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn below() -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Session` in the current scope
[INFO] [stdout]   --> src/widgets/status_line/mod.rs:30:28
[INFO] [stdout]    |
[INFO] [stdout] 22 | let mut session = Session::new(ui, print_cfg, palette, constructor_hook);
[INFO] [stdout]    |                            ^^^ function or associated item not found in `Session<_>`
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/widgets/status_line/mod.rs:31:13
[INFO] [stdout]     |
[INFO] [stdout] 23  | let specs = PushSpecs::below(Constraint::Length(1.0));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ -----------------------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              unexpected argument of type `Constraint`
[INFO] [stdout]     |                              help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/duat-core/src/ui/mod.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn below() -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0432, E0433, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/config.rs - config::control::add_for_widget (line 497) stdout ----
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]   --> src/config.rs:555:18
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn text() -> &Text {
[INFO] [stdout]    |                  ^ expected named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
[INFO] [stdout] help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn text() -> &'static Text {
[INFO] [stdout]    |                   +++++++
[INFO] [stdout] help: instead, you are more likely to want to return an owned value
[INFO] [stdout]    |
[INFO] [stdout] 61 -     fn text() -> &Text {
[INFO] [stdout] 61 +     fn text() -> Text {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `COMMANDS` in this scope
[INFO] [stdout]   --> src/config.rs:545:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |         if COMMANDS.running.load(Ordering::Relaxed) {
[INFO] [stdout]    |            ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `COMMANDS` in this scope
[INFO] [stdout]   --> src/config.rs:546:28
[INFO] [stdout]    |
[INFO] [stdout] 52 |             let duration = COMMANDS.instant.elapsed();
[INFO] [stdout]    |                            ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `COMMANDS` in this scope
[INFO] [stdout]   --> src/config.rs:548:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |             COMMANDS.text = text!(
[INFO] [stdout]    |             ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `COMMANDS` in this scope
[INFO] [stdout]   --> src/config.rs:556:10
[INFO] [stdout]    |
[INFO] [stdout] 62 |         &COMMANDS.text
[INFO] [stdout]    |          ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `add_for_widget` in module `commands`
[INFO] [stdout]   --> src/config.rs:571:19
[INFO] [stdout]    |
[INFO] [stdout] 77 |         commands::add_for_widget::<Timer>(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^ not found in `commands`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 4  + use duat::prelude::control::add_for_widget;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `add_for_widget`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 77 -         commands::add_for_widget::<Timer>(
[INFO] [stdout] 77 +         add_for_widget::<Timer>(
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `add_for_widget` in module `commands`
[INFO] [stdout]   --> src/config.rs:580:19
[INFO] [stdout]    |
[INFO] [stdout] 86 |         commands::add_for_widget::<Timer>(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^ not found in `commands`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 4  + use duat::prelude::control::add_for_widget;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `add_for_widget`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 86 -         commands::add_for_widget::<Timer>(
[INFO] [stdout] 86 +         add_for_widget::<Timer>(
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `add_for_widget` in module `commands`
[INFO] [stdout]   --> src/config.rs:589:19
[INFO] [stdout]    |
[INFO] [stdout] 95 |         commands::add_for_widget::<Timer>(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^ not found in `commands`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 4  + use duat::prelude::control::add_for_widget;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `add_for_widget`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 95 -         commands::add_for_widget::<Timer>(
[INFO] [stdout] 95 +         add_for_widget::<Timer>(
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `return_position_impl_trait_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/config.rs:497:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(return_position_impl_trait_in_trait)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `PassiveWidget`
[INFO] [stdout]   --> src/config.rs:520:6
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl PassiveWidget for Timer {
[INFO] [stdout]    |      ^^^^^^^^^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 generic parameter: `U`
[INFO] [stdout]   --> /opt/rustwide/workdir/duat-core/src/widgets.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub trait PassiveWidget<U>: Send + Sync + 'static
[INFO] [stdout]    |           ^^^^^^^^^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl PassiveWidget<U> for Timer {
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Timer: PassiveWidget<_>` is not satisfied
[INFO] [stdout]    --> src/config.rs:541:26
[INFO] [stdout]     |
[INFO] [stdout] 47  |         (Widget::passive(timer), checker, specs)
[INFO] [stdout]     |          --------------- ^^^^^ the trait `PassiveWidget<_>` is not implemented for `Timer`
[INFO] [stdout]     |          |
[INFO] [stdout]     |          required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `Widget::<U>::passive`
[INFO] [stdout]    --> /opt/rustwide/workdir/duat-core/src/widgets.rs:277:12
[INFO] [stdout]     |
[INFO] [stdout] 275 |     pub fn passive<W>(widget: W) -> Self
[INFO] [stdout]     |            ------- required by a bound in this associated function
[INFO] [stdout] 276 |     where
[INFO] [stdout] 277 |         W: PassiveWidget<U>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `Widget::<U>::passive`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0106, E0107, E0277, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0106`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/config.rs - config::control::add (line 337)
[INFO] [stdout]     src/config.rs - config::control::add_for_current (line 394)
[INFO] [stdout]     src/config.rs - config::control::add_for_widget (line 497)
[INFO] [stdout]     src/config.rs - config::control::run (line 307)
[INFO] [stdout]     src/widgets/status_line/mod.rs - widgets::status_line (line 11)
[INFO] [stdout]     src/widgets/status_line/mod.rs - widgets::status_line::StatusLine (line 153)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 6 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "d027bb6ff6539447a34dd745e2a0d30bc0159b70ac374b3f6ca492c17c909fb7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d027bb6ff6539447a34dd745e2a0d30bc0159b70ac374b3f6ca492c17c909fb7", kill_on_drop: false }`
[INFO] [stdout] d027bb6ff6539447a34dd745e2a0d30bc0159b70ac374b3f6ca492c17c909fb7
