[INFO] cloning repository https://github.com/lbfalvy/orchid
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lbfalvy/orchid" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flbfalvy%2Forchid", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flbfalvy%2Forchid'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 718f3b0a9b37e12dc2663822d99e954f3e2e7194
[INFO] checking lbfalvy/orchid against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flbfalvy%2Forchid" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/lbfalvy/orchid
[INFO] finished tweaking git repo https://github.com/lbfalvy/orchid
[INFO] tweaked toml for git repo https://github.com/lbfalvy/orchid written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/lbfalvy/orchid on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/lbfalvy/orchid 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9de2502d1063b6184508f77824ced88f758d18faa275054e6d583e70bb86ff90
[INFO] running `Command { std: "docker" "start" "-a" "9de2502d1063b6184508f77824ced88f758d18faa275054e6d583e70bb86ff90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9de2502d1063b6184508f77824ced88f758d18faa275054e6d583e70bb86ff90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9de2502d1063b6184508f77824ced88f758d18faa275054e6d583e70bb86ff90", kill_on_drop: false }`
[INFO] [stdout] 9de2502d1063b6184508f77824ced88f758d18faa275054e6d583e70bb86ff90
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 222aa526f26454bdd7bafe21103e7e4ba1e5577b52a5bc1d8296e49b01866471
[INFO] running `Command { std: "docker" "start" "-a" "222aa526f26454bdd7bafe21103e7e4ba1e5577b52a5bc1d8296e49b01866471", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.7.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling ahash v0.8.9
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]    Compiling syn v2.0.50
[INFO] [stderr]     Checking walkdir v2.4.0
[INFO] [stderr]     Checking anstream v0.6.12
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.32
[INFO] [stderr]     Checking dyn-clone v1.0.16
[INFO] [stderr]     Checking bound v0.5.0
[INFO] [stderr]     Checking substack v1.1.0
[INFO] [stderr]     Checking termsize v0.1.6
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]    Compiling aho-corasick v1.1.2
[INFO] [stderr]    Compiling bstr v1.9.0
[INFO] [stderr]     Checking clap_builder v4.5.1
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking rayon-core v1.12.1
[INFO] [stderr]     Checking const_format v0.2.32
[INFO] [stderr]     Checking ordered-float v4.2.0
[INFO] [stderr]     Checking rayon v1.8.1
[INFO] [stderr]    Compiling regex-automata v0.4.5
[INFO] [stderr]    Compiling trait-set v0.3.0
[INFO] [stderr]     Checking intern-all v0.4.1
[INFO] [stderr]     Checking globset v0.4.14
[INFO] [stderr]     Checking rust-embed-utils v8.2.0
[INFO] [stderr]    Compiling clap_derive v4.5.0
[INFO] [stderr]    Compiling rust-embed-impl v8.2.0
[INFO] [stderr]     Checking rust-embed v8.2.0
[INFO] [stderr]     Checking clap v4.5.1
[INFO] [stderr]     Checking orchidlang v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `MacroErrors` is never constructed
[INFO] [stdout]   --> src/facade/macro_runner.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | struct MacroErrors(Vec<ProjectErrorObj>);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IOHandler` is never used
[INFO] [stdout]  --> src/libs/io/flow.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub trait IOHandler<T> {
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IOResult` is never used
[INFO] [stdout]   --> src/libs/io/flow.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait IOResult: Send {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoActiveStream` is never constructed
[INFO] [stdout]   --> src/libs/io/flow.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct NoActiveStream(usize);
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/libs/io/instances.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 |   RStr(SRead, io::Result<String>),
[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] 78 -   RStr(SRead, io::Result<String>),
[INFO] [stdout] 78 +   RStr((), io::Result<String>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/libs/io/instances.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 |   RBin(BRead, io::Result<Vec<u8>>),
[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] 79 -   RBin(BRead, io::Result<Vec<u8>>),
[INFO] [stdout] 79 +   RBin((), io::Result<Vec<u8>>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LineNeedsPrefix` is never constructed
[INFO] [stdout]   --> src/parse/errors.rs:37:19
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(super) struct LineNeedsPrefix(pub Lexeme);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parse/errors.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub(super) struct UnexpectedEOL(pub Lexeme);
[INFO] [stdout]    |                   ------------- ^^^^^^^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExpectedBlock` is never constructed
[INFO] [stdout]    --> src/parse/errors.rs:193:19
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub(super) struct ExpectedBlock;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NameErrors` is never constructed
[INFO] [stdout]   --> src/pipeline/dealias/resolve_aliases.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct NameErrors(Vec<(NotFound, SourceRange)>);
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `target` is never read
[INFO] [stdout]   --> src/pipeline/dealias/walk_with_links.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct WalkReport<'a> {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 10 |   pub target: ProjectMemberRef<'a>,
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnexpectedDirectory` is never constructed
[INFO] [stdout]    --> src/pipeline/load_project.rs:178:8
[INFO] [stdout]     |
[INFO] [stdout] 178 | struct UnexpectedDirectory {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/error.rs:81:16
[INFO] [stdout]    |
[INFO] [stdout] 81 |   fn positions(&self) -> BoxedIter<ErrorPosition> {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 81 |   fn positions(&self) -> BoxedIter<'_, ErrorPosition> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/error.rs:199:16
[INFO] [stdout]     |
[INFO] [stdout] 199 |   fn positions(&self) -> BoxedIter<ErrorPosition> {
[INFO] [stdout]     |                ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                |
[INFO] [stdout]     |                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 199 |   fn positions(&self) -> BoxedIter<'_, ErrorPosition> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<nort::Clause, Never>
[INFO] [stdout]   --> src/interpreter/apply.rs:62:3
[INFO] [stdout]    |
[INFO] [stdout] 62 | /   map_at(steps.iter().cloned(), body, &mut |chkpt| -> Result<Clause, Never> {
[INFO] [stdout] 63 | |     match (chkpt, next) {
[INFO] [stdout] 64 | |       (Clause::Lambda { .. } | Clause::Identity(_), _) => {
[INFO] [stdout] 65 | |         unreachable!("Handled by map_at")
[INFO] [stdout] ...  |
[INFO] [stdout] 88 | |   })
[INFO] [stdout]    | |____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<nort::Clause, Never>
[INFO] [stdout]   --> src/interpreter/apply.rs:62:77
[INFO] [stdout]    |
[INFO] [stdout] 62 |     map_at(steps.iter().cloned(), body, &mut |chkpt| -> Result<Clause, Never> {
[INFO] [stdout]    |  _____________________________________________________________________________^
[INFO] [stdout] 63 | |     match (chkpt, next) {
[INFO] [stdout] 64 | |       (Clause::Lambda { .. } | Clause::Identity(_), _) => {
[INFO] [stdout] 65 | |         unreachable!("Handled by map_at")
[INFO] [stdout] ...  |
[INFO] [stdout] 88 | |   })
[INFO] [stdout]    | |___^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<nort::Clause, Never>
[INFO] [stdout]   --> src/interpreter/apply.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | /     match (chkpt, next) {
[INFO] [stdout] 64 | |       (Clause::Lambda { .. } | Clause::Identity(_), _) => {
[INFO] [stdout] 65 | |         unreachable!("Handled by map_at")
[INFO] [stdout] 66 | |       },
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |       (_, Some(_)) => panic!("Argument path can only fork at Apply"),
[INFO] [stdout] 87 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<nort::Clause, Never>
[INFO] [stdout]   --> src/interpreter/apply.rs:64:59
[INFO] [stdout]    |
[INFO] [stdout] 64 |         (Clause::Lambda { .. } | Clause::Identity(_), _) => {
[INFO] [stdout]    |  ___________________________________________________________^
[INFO] [stdout] 65 | |         unreachable!("Handled by map_at")
[INFO] [stdout] 66 | |       },
[INFO] [stdout]    | |_______^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<nort::Clause, Never>
[INFO] [stdout]   --> src/interpreter/apply.rs:67:48
[INFO] [stdout]    |
[INFO] [stdout] 67 |         (Clause::Apply { f, x }, Some(conts)) => {
[INFO] [stdout]    |  ________________________________________________^
[INFO] [stdout] 68 | |         let mut argv = x.clone();
[INFO] [stdout] 69 | |         let f = match conts.get(&None) {
[INFO] [stdout] 70 | |           None => f.clone(),
[INFO] [stdout] ...  |
[INFO] [stdout] 79 | |         Ok(Clause::Apply { f, x: argv })
[INFO] [stdout] 80 | |       },
[INFO] [stdout]    | |_______^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<nort::Clause, Never>
[INFO] [stdout]   --> src/interpreter/apply.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         Ok(Clause::Apply { f, x: argv })
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<nort::Clause, Never>
[INFO] [stdout]   --> src/interpreter/apply.rs:81:36
[INFO] [stdout]    |
[INFO] [stdout] 81 |         (Clause::LambdaArg, None) => {
[INFO] [stdout]    |  ____________________________________^
[INFO] [stdout] 82 | |         on_sub();
[INFO] [stdout] 83 | |         Ok(Clause::Identity(value.clone()))
[INFO] [stdout] 84 | |       },
[INFO] [stdout]    | |_______^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<nort::Clause, Never>
[INFO] [stdout]   --> src/interpreter/apply.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         Ok(Clause::Identity(value.clone()))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<LexRes<'_>, Never>
[INFO] [stdout]   --> src/parse/facade.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 |   let tokens = lex(vec![], ctx.source().as_str(), ctx, |_| Ok::<_, Never>(false))
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<bool, Never>
[INFO] [stdout]   --> src/parse/facade.rs:16:60
[INFO] [stdout]    |
[INFO] [stdout] 16 |   let tokens = lex(vec![], ctx.source().as_str(), ctx, |_| Ok::<_, Never>(false))
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<LexRes<'_>, Never>
[INFO] [stdout]   --> src/parse/facade.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |   let res = lex(vec![], text, &ctx, |_| Ok::<_, Never>(false)).unwrap_or_else(|e| match e {});
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<bool, Never>
[INFO] [stdout]   --> src/parse/facade.rs:35:41
[INFO] [stdout]    |
[INFO] [stdout] 35 |   let res = lex(vec![], text, &ctx, |_| Ok::<_, Never>(false)).unwrap_or_else(|e| match e {});
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<LexRes<'_>, Never>
[INFO] [stdout]   --> src/parse/lex_plugin.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     lex(Vec::new(), data, &ctx, |_| Ok::<_, Never>(false)).unwrap_or_else(|e| match e {}).tokens
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<bool, Never>
[INFO] [stdout]   --> src/parse/lex_plugin.rs:63:37
[INFO] [stdout]    |
[INFO] [stdout] 63 |     lex(Vec::new(), data, &ctx, |_| Ok::<_, Never>(false)).unwrap_or_else(|e| match e {}).tokens
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parse/parse_plugin.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 |   fn frag(&self) -> Frag;
[INFO] [stdout]    |           ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |           |
[INFO] [stdout]    |           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 32 |   fn frag(&self) -> Frag<'_>;
[INFO] [stdout]    |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/parse_plugin.rs:102:11
[INFO] [stdout]     |
[INFO] [stdout] 102 |   fn frag(&self) -> Frag { self.frag }
[INFO] [stdout]     |           ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 102 |   fn frag(&self) -> Frag<'_> { self.frag }
[INFO] [stdout]     |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<GlobImpXMod, Never>
[INFO] [stdout]   --> src/pipeline/process_source.rs:46:62
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn combine(self, other: Self) -> Result<Self, Self::Error> {
[INFO] [stdout]    |  ______________________________________________________________^
[INFO] [stdout] 47 | |     Ok(GlobImpXMod(self.0.into_iter().chain(other.0).collect()))
[INFO] [stdout] 48 | |   }
[INFO] [stdout]    | |___^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<GlobImpXMod, Never>
[INFO] [stdout]   --> src/pipeline/process_source.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     Ok(GlobImpXMod(self.0.into_iter().chain(other.0).collect()))
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<ProjItem, Never>
[INFO] [stdout]   --> src/pipeline/project.rs:58:58
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn combine(self, _: Self) -> Result<Self, Self::Error> {
[INFO] [stdout]    |  __________________________________________________________^
[INFO] [stdout] 59 | |     unimplemented!("Only implied project modules can be merged, not items")
[INFO] [stdout] 60 | |   }
[INFO] [stdout]    | |___^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<ProjXMod, Never>
[INFO] [stdout]    --> src/pipeline/project.rs:134:62
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn combine(self, other: Self) -> Result<Self, Self::Error> {
[INFO] [stdout]     |  ______________________________________________________________^
[INFO] [stdout] 135 | |     match (self.src, other.src) {
[INFO] [stdout] 136 | |       (None, None) => Ok(Self { src: None }),
[INFO] [stdout] 137 | |       (..) => panic!("Only implied modules can be merged"),
[INFO] [stdout] 138 | |     }
[INFO] [stdout] 139 | |   }
[INFO] [stdout]     | |___^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<ProjXMod, Never>
[INFO] [stdout]    --> src/pipeline/project.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 | /     match (self.src, other.src) {
[INFO] [stdout] 136 | |       (None, None) => Ok(Self { src: None }),
[INFO] [stdout] 137 | |       (..) => panic!("Only implied modules can be merged"),
[INFO] [stdout] 138 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<ProjXMod, Never>
[INFO] [stdout]    --> src/pipeline/project.rs:136:23
[INFO] [stdout]     |
[INFO] [stdout] 136 |       (None, None) => Ok(Self { src: None }),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/rule/matcher_vectree/build.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn split_at_max_vec(pattern: &[RuleExpr]) -> Option<MaxVecSplit> {
[INFO] [stdout]    |                              ^^^^^^^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn split_at_max_vec(pattern: &[RuleExpr]) -> Option<MaxVecSplit<'_>> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/tree.rs:379:8
[INFO] [stdout]     |
[INFO] [stdout] 377 |     &'a self,
[INFO] [stdout]     |      -- the lifetime is named here
[INFO] [stdout] 378 |     filter: impl for<'b> Fn(&'b ModEntry<Item, XMod, XEnt>) -> bool + 'a,
[INFO] [stdout] 379 |   ) -> BoxedIter<Tok<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 379 |   ) -> BoxedIter<'a, Tok<String>> {
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hashbrown::HashMap<K, V>, Never>
[INFO] [stdout]   --> src/utils/join.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 15 |   try_join_maps(left, right, |k, l, r| Ok(merge(k, l, r))).unwrap_or_else(|e: Never| match e {})
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MacroErrors` is never constructed
[INFO] [stdout]   --> src/facade/macro_runner.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | struct MacroErrors(Vec<ProjectErrorObj>);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IOHandler` is never used
[INFO] [stdout]  --> src/libs/io/flow.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub trait IOHandler<T> {
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IOResult` is never used
[INFO] [stdout]   --> src/libs/io/flow.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait IOResult: Send {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoActiveStream` is never constructed
[INFO] [stdout]   --> src/libs/io/flow.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct NoActiveStream(usize);
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/libs/io/instances.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 |   RStr(SRead, io::Result<String>),
[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] 78 -   RStr(SRead, io::Result<String>),
[INFO] [stdout] 78 +   RStr((), io::Result<String>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/libs/io/instances.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 |   RBin(BRead, io::Result<Vec<u8>>),
[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] 79 -   RBin(BRead, io::Result<Vec<u8>>),
[INFO] [stdout] 79 +   RBin((), io::Result<Vec<u8>>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LineNeedsPrefix` is never constructed
[INFO] [stdout]   --> src/parse/errors.rs:37:19
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(super) struct LineNeedsPrefix(pub Lexeme);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parse/errors.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub(super) struct UnexpectedEOL(pub Lexeme);
[INFO] [stdout]    |                   ------------- ^^^^^^^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExpectedBlock` is never constructed
[INFO] [stdout]    --> src/parse/errors.rs:193:19
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub(super) struct ExpectedBlock;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NameErrors` is never constructed
[INFO] [stdout]   --> src/pipeline/dealias/resolve_aliases.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct NameErrors(Vec<(NotFound, SourceRange)>);
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `target` is never read
[INFO] [stdout]   --> src/pipeline/dealias/walk_with_links.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct WalkReport<'a> {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 10 |   pub target: ProjectMemberRef<'a>,
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnexpectedDirectory` is never constructed
[INFO] [stdout]    --> src/pipeline/load_project.rs:178:8
[INFO] [stdout]     |
[INFO] [stdout] 178 | struct UnexpectedDirectory {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/error.rs:81:16
[INFO] [stdout]    |
[INFO] [stdout] 81 |   fn positions(&self) -> BoxedIter<ErrorPosition> {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 81 |   fn positions(&self) -> BoxedIter<'_, ErrorPosition> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/error.rs:199:16
[INFO] [stdout]     |
[INFO] [stdout] 199 |   fn positions(&self) -> BoxedIter<ErrorPosition> {
[INFO] [stdout]     |                ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                |
[INFO] [stdout]     |                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 199 |   fn positions(&self) -> BoxedIter<'_, ErrorPosition> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `orchidlang` (lib test) due to 21 previous errors; 18 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: this type will no longer be must used: Result<nort::Clause, Never>
[INFO] [stdout]   --> src/interpreter/apply.rs:62:3
[INFO] [stdout]    |
[INFO] [stdout] 62 | /   map_at(steps.iter().cloned(), body, &mut |chkpt| -> Result<Clause, Never> {
[INFO] [stdout] 63 | |     match (chkpt, next) {
[INFO] [stdout] 64 | |       (Clause::Lambda { .. } | Clause::Identity(_), _) => {
[INFO] [stdout] 65 | |         unreachable!("Handled by map_at")
[INFO] [stdout] ...  |
[INFO] [stdout] 88 | |   })
[INFO] [stdout]    | |____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<nort::Clause, Never>
[INFO] [stdout]   --> src/interpreter/apply.rs:62:77
[INFO] [stdout]    |
[INFO] [stdout] 62 |     map_at(steps.iter().cloned(), body, &mut |chkpt| -> Result<Clause, Never> {
[INFO] [stdout]    |  _____________________________________________________________________________^
[INFO] [stdout] 63 | |     match (chkpt, next) {
[INFO] [stdout] 64 | |       (Clause::Lambda { .. } | Clause::Identity(_), _) => {
[INFO] [stdout] 65 | |         unreachable!("Handled by map_at")
[INFO] [stdout] ...  |
[INFO] [stdout] 88 | |   })
[INFO] [stdout]    | |___^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<nort::Clause, Never>
[INFO] [stdout]   --> src/interpreter/apply.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | /     match (chkpt, next) {
[INFO] [stdout] 64 | |       (Clause::Lambda { .. } | Clause::Identity(_), _) => {
[INFO] [stdout] 65 | |         unreachable!("Handled by map_at")
[INFO] [stdout] 66 | |       },
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |       (_, Some(_)) => panic!("Argument path can only fork at Apply"),
[INFO] [stdout] 87 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<nort::Clause, Never>
[INFO] [stdout]   --> src/interpreter/apply.rs:64:59
[INFO] [stdout]    |
[INFO] [stdout] 64 |         (Clause::Lambda { .. } | Clause::Identity(_), _) => {
[INFO] [stdout]    |  ___________________________________________________________^
[INFO] [stdout] 65 | |         unreachable!("Handled by map_at")
[INFO] [stdout] 66 | |       },
[INFO] [stdout]    | |_______^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<nort::Clause, Never>
[INFO] [stdout]   --> src/interpreter/apply.rs:67:48
[INFO] [stdout]    |
[INFO] [stdout] 67 |         (Clause::Apply { f, x }, Some(conts)) => {
[INFO] [stdout]    |  ________________________________________________^
[INFO] [stdout] 68 | |         let mut argv = x.clone();
[INFO] [stdout] 69 | |         let f = match conts.get(&None) {
[INFO] [stdout] 70 | |           None => f.clone(),
[INFO] [stdout] ...  |
[INFO] [stdout] 79 | |         Ok(Clause::Apply { f, x: argv })
[INFO] [stdout] 80 | |       },
[INFO] [stdout]    | |_______^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<nort::Clause, Never>
[INFO] [stdout]   --> src/interpreter/apply.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         Ok(Clause::Apply { f, x: argv })
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<nort::Clause, Never>
[INFO] [stdout]   --> src/interpreter/apply.rs:81:36
[INFO] [stdout]    |
[INFO] [stdout] 81 |         (Clause::LambdaArg, None) => {
[INFO] [stdout]    |  ____________________________________^
[INFO] [stdout] 82 | |         on_sub();
[INFO] [stdout] 83 | |         Ok(Clause::Identity(value.clone()))
[INFO] [stdout] 84 | |       },
[INFO] [stdout]    | |_______^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<nort::Clause, Never>
[INFO] [stdout]   --> src/interpreter/apply.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         Ok(Clause::Identity(value.clone()))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<LexRes<'_>, Never>
[INFO] [stdout]   --> src/parse/facade.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 |   let tokens = lex(vec![], ctx.source().as_str(), ctx, |_| Ok::<_, Never>(false))
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<bool, Never>
[INFO] [stdout]   --> src/parse/facade.rs:16:60
[INFO] [stdout]    |
[INFO] [stdout] 16 |   let tokens = lex(vec![], ctx.source().as_str(), ctx, |_| Ok::<_, Never>(false))
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<LexRes<'_>, Never>
[INFO] [stdout]   --> src/parse/facade.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |   let res = lex(vec![], text, &ctx, |_| Ok::<_, Never>(false)).unwrap_or_else(|e| match e {});
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<bool, Never>
[INFO] [stdout]   --> src/parse/facade.rs:35:41
[INFO] [stdout]    |
[INFO] [stdout] 35 |   let res = lex(vec![], text, &ctx, |_| Ok::<_, Never>(false)).unwrap_or_else(|e| match e {});
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<LexRes<'_>, Never>
[INFO] [stdout]   --> src/parse/lex_plugin.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     lex(Vec::new(), data, &ctx, |_| Ok::<_, Never>(false)).unwrap_or_else(|e| match e {}).tokens
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<bool, Never>
[INFO] [stdout]   --> src/parse/lex_plugin.rs:63:37
[INFO] [stdout]    |
[INFO] [stdout] 63 |     lex(Vec::new(), data, &ctx, |_| Ok::<_, Never>(false)).unwrap_or_else(|e| match e {}).tokens
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parse/parse_plugin.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 |   fn frag(&self) -> Frag;
[INFO] [stdout]    |           ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |           |
[INFO] [stdout]    |           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 32 |   fn frag(&self) -> Frag<'_>;
[INFO] [stdout]    |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse/parse_plugin.rs:102:11
[INFO] [stdout]     |
[INFO] [stdout] 102 |   fn frag(&self) -> Frag { self.frag }
[INFO] [stdout]     |           ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 102 |   fn frag(&self) -> Frag<'_> { self.frag }
[INFO] [stdout]     |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<GlobImpXMod, Never>
[INFO] [stdout]   --> src/pipeline/process_source.rs:46:62
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn combine(self, other: Self) -> Result<Self, Self::Error> {
[INFO] [stdout]    |  ______________________________________________________________^
[INFO] [stdout] 47 | |     Ok(GlobImpXMod(self.0.into_iter().chain(other.0).collect()))
[INFO] [stdout] 48 | |   }
[INFO] [stdout]    | |___^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<GlobImpXMod, Never>
[INFO] [stdout]   --> src/pipeline/process_source.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     Ok(GlobImpXMod(self.0.into_iter().chain(other.0).collect()))
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<ProjItem, Never>
[INFO] [stdout]   --> src/pipeline/project.rs:58:58
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn combine(self, _: Self) -> Result<Self, Self::Error> {
[INFO] [stdout]    |  __________________________________________________________^
[INFO] [stdout] 59 | |     unimplemented!("Only implied project modules can be merged, not items")
[INFO] [stdout] 60 | |   }
[INFO] [stdout]    | |___^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<ProjXMod, Never>
[INFO] [stdout]    --> src/pipeline/project.rs:134:62
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn combine(self, other: Self) -> Result<Self, Self::Error> {
[INFO] [stdout]     |  ______________________________________________________________^
[INFO] [stdout] 135 | |     match (self.src, other.src) {
[INFO] [stdout] 136 | |       (None, None) => Ok(Self { src: None }),
[INFO] [stdout] 137 | |       (..) => panic!("Only implied modules can be merged"),
[INFO] [stdout] 138 | |     }
[INFO] [stdout] 139 | |   }
[INFO] [stdout]     | |___^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<ProjXMod, Never>
[INFO] [stdout]    --> src/pipeline/project.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 | /     match (self.src, other.src) {
[INFO] [stdout] 136 | |       (None, None) => Ok(Self { src: None }),
[INFO] [stdout] 137 | |       (..) => panic!("Only implied modules can be merged"),
[INFO] [stdout] 138 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<ProjXMod, Never>
[INFO] [stdout]    --> src/pipeline/project.rs:136:23
[INFO] [stdout]     |
[INFO] [stdout] 136 |       (None, None) => Ok(Self { src: None }),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/rule/matcher_vectree/build.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn split_at_max_vec(pattern: &[RuleExpr]) -> Option<MaxVecSplit> {
[INFO] [stdout]    |                              ^^^^^^^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn split_at_max_vec(pattern: &[RuleExpr]) -> Option<MaxVecSplit<'_>> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/tree.rs:379:8
[INFO] [stdout]     |
[INFO] [stdout] 377 |     &'a self,
[INFO] [stdout]     |      -- the lifetime is named here
[INFO] [stdout] 378 |     filter: impl for<'b> Fn(&'b ModEntry<Item, XMod, XEnt>) -> bool + 'a,
[INFO] [stdout] 379 |   ) -> BoxedIter<Tok<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 379 |   ) -> BoxedIter<'a, Tok<String>> {
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hashbrown::HashMap<K, V>, Never>
[INFO] [stdout]   --> src/utils/join.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 15 |   try_join_maps(left, right, |k, l, r| Ok(merge(k, l, r))).unwrap_or_else(|e: Never| match e {})
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `orchidlang` (lib) due to 21 previous errors; 18 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "222aa526f26454bdd7bafe21103e7e4ba1e5577b52a5bc1d8296e49b01866471", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "222aa526f26454bdd7bafe21103e7e4ba1e5577b52a5bc1d8296e49b01866471", kill_on_drop: false }`
[INFO] [stdout] 222aa526f26454bdd7bafe21103e7e4ba1e5577b52a5bc1d8296e49b01866471
