[INFO] cloning repository https://github.com/netfri25/lambda
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/netfri25/lambda" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnetfri25%2Flambda", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnetfri25%2Flambda'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b6740d37d9d0b1fa0777dc427777c89c746852ad
[INFO] checking netfri25/lambda 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%2Fnetfri25%2Flambda" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/netfri25/lambda
[INFO] finished tweaking git repo https://github.com/netfri25/lambda
[INFO] tweaked toml for git repo https://github.com/netfri25/lambda written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/netfri25/lambda 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/netfri25/lambda 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-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e1b40cf6404449a18e39f509aa238544d06d16227fe8841f7127fa08b6ec4578
[INFO] running `Command { std: "docker" "start" "-a" "e1b40cf6404449a18e39f509aa238544d06d16227fe8841f7127fa08b6ec4578", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e1b40cf6404449a18e39f509aa238544d06d16227fe8841f7127fa08b6ec4578", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e1b40cf6404449a18e39f509aa238544d06d16227fe8841f7127fa08b6ec4578", kill_on_drop: false }`
[INFO] [stdout] e1b40cf6404449a18e39f509aa238544d06d16227fe8841f7127fa08b6ec4578
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -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] d87f61b230ee76b47b020dca50ac6835c1d4fe80ac772e44231172c90abee394
[INFO] running `Command { std: "docker" "start" "-a" "d87f61b230ee76b47b020dca50ac6835c1d4fe80ac772e44231172c90abee394", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.171
[INFO] [stderr]     Checking bitflags v2.9.0
[INFO] [stderr]     Checking tap v1.0.1
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking funty v2.0.0
[INFO] [stderr]     Checking wyz v0.5.1
[INFO] [stderr]     Checking unicode-width v0.2.0
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]     Checking bitvec v1.0.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]     Checking thiserror v2.0.12
[INFO] [stderr]     Checking rustyline v15.0.0
[INFO] [stderr]     Checking lambda v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::hash_map::Entry`
[INFO] [stdout]  --> src/reduce.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::hash_map::Entry;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::Entry`
[INFO] [stdout]  --> src/reduce.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::hash_map::Entry;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main2` is never used
[INFO] [stdout]   --> src/main.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn main2() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRELUDE` is never used
[INFO] [stdout]   --> src/main.rs:74:7
[INFO] [stdout]    |
[INFO] [stdout] 74 | const PRELUDE: &str = r#"
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `repl` is never used
[INFO] [stdout]   --> src/main.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn repl() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Blc` is never constructed
[INFO] [stdout]   --> src/blc.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Blc(BitVec);
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RED` is never used
[INFO] [stdout]   --> src/blc.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const RED: &str = "\x1b[31m";
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GREEN` is never used
[INFO] [stdout]   --> src/blc.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const GREEN: &str = "\x1b[32m";
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `YELLOW` is never used
[INFO] [stdout]   --> src/blc.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const YELLOW: &str = "\x1b[33m";
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/blc.rs:18:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Blc {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout]  18 |     pub fn try_from_expr(expr: &Expr) -> Result<Self, UndefinedVar> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  24 |     pub fn reduce_full(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  28 |     pub fn to_expr(&self) -> Option<Expr<'static>> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  33 |     fn to_expr_rec(iter: &mut impl Iterator<Item = Token>) -> Option<Expr<'static>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  49 |     pub fn reduce_once(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn iter(&self) -> Iter {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     fn apply(&mut self, pos_app: usize) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     fn gen_body(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     fn gen_arg(&self, start: usize, body_depth: u8, arg_depth: u8, buf: &mut BitVec) -> usize {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     fn term_end(&self, start: usize) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     fn token_at(&self, offset: usize) -> Option<Token> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     fn tokens_in_range(&self, range: impl RangeBounds<usize>) -> impl Iterator<Item = Token> + '_ {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `display_closed_range` is never used
[INFO] [stdout]    --> src/blc.rs:214:4
[INFO] [stdout]     |
[INFO] [stdout] 214 | fn display_closed_range(mut bits: &BitSlice, closed: Range<usize>, color: &'static str) -> Box<str> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `token_from_slice` is never used
[INFO] [stdout]    --> src/blc.rs:244:4
[INFO] [stdout]     |
[INFO] [stdout] 244 | fn token_from_slice(slice: &BitSlice) -> Option<Token> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]    --> src/blc.rs:257:10
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub enum Token {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `size` and `write_bits_to` are never used
[INFO] [stdout]    --> src/blc.rs:264:18
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl Token {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] 264 |     pub const fn size(&self) -> usize {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn write_bits_to(&self, bitvec: &mut BitVec) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expr_to_blc_rec` is never used
[INFO] [stdout]    --> src/blc.rs:283:4
[INFO] [stdout]     |
[INFO] [stdout] 283 | fn expr_to_blc_rec<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Iter` is never constructed
[INFO] [stdout]    --> src/blc.rs:320:12
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub struct Iter<'a> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UndefinedVar` is never constructed
[INFO] [stdout]    --> src/blc.rs:336:12
[INFO] [stdout]     |
[INFO] [stdout] 336 | pub struct UndefinedVar(Box<str>);
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tokens_to_expr` is never used
[INFO] [stdout]    --> src/linear.rs:149:4
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn tokens_to_expr(iter: &mut impl Iterator<Item = Token>) -> Result<Expr<'static>, ToExprError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ToExprError` is never used
[INFO] [stdout]    --> src/linear.rs:214:10
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub enum ToExprError {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Scope` is never used
[INFO] [stdout]   --> src/reduce.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait Scope {
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ToExpr` is never used
[INFO] [stdout]   --> src/reduce.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub trait ToExpr<'a> {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `reduce_once` and `get` are never used
[INFO] [stdout]   --> src/reduce.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl<T> Reducer<T> {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn reduce_once(&self, item: &mut T) -> bool
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn get(&self, name: &str) -> Option<&T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lambda` (bin "lambda") due to 8 previous errors; 32 warnings emitted
[INFO] [stdout] warning: function `node_to_expr_rec` is never used
[INFO] [stdout]    --> src/node.rs:169:4
[INFO] [stdout]     |
[INFO] [stdout] 169 | fn node_to_expr_rec<'a>(node: &'a Node, stack: &mut Vec<&'a Node>) -> Expr<'static> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: this type will no longer be must used: Result<Option<Rc<Node>>, Infallible>
[INFO] [stdout]   --> src/main.rs:99:27
[INFO] [stdout]    |
[INFO] [stdout] 99 |         if let Err(err) = reducer.add_stmt(&stmt) {
[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<Option<Rc<Node>>, Infallible>
[INFO] [stdout]    --> src/main.rs:132:62
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let mut node: std::rc::Rc<crate::node::Node> = match reducer.add_stmt(&stmt) {
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Expr<'_>, Infallible>
[INFO] [stdout]    --> src/main.rs:151:34
[INFO] [stdout]     |
[INFO] [stdout] 151 |                 let expr = match node.to_expr() {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Expr<'_>, Infallible>
[INFO] [stdout]    --> src/main.rs:178:26
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let expr = match node.to_expr() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/blc.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn iter(&self) -> Iter {
[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] 71 |     pub fn iter(&self) -> Iter<'_> {
[INFO] [stdout]    |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parse.rs:64:21
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn parse(input: &str) -> Option<Stmt> {
[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] 64 | pub fn parse(input: &str) -> Option<Stmt<'_>> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parse.rs:76:22
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn parse_stmt(input: &str) -> ParseOutput<Stmt> {
[INFO] [stdout]    |                      ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |        |           |
[INFO] [stdout]    |                      |        |           the same lifetime is hidden here
[INFO] [stdout]    |                      |        the same lifetime is hidden here
[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] 76 | fn parse_stmt(input: &str) -> ParseOutput<'_, Stmt<'_>> {
[INFO] [stdout]    |                                           +++     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parse.rs:80:22
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn parse_decl(input: &str) -> ParseOutput<Stmt> {
[INFO] [stdout]    |                      ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |        |           |
[INFO] [stdout]    |                      |        |           the same lifetime is hidden here
[INFO] [stdout]    |                      |        the same lifetime is hidden here
[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] 80 | fn parse_decl(input: &str) -> ParseOutput<'_, Stmt<'_>> {
[INFO] [stdout]    |                                           +++     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parse.rs:90:22
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn parse_expr(input: &str) -> ParseOutput<Expr> {
[INFO] [stdout]    |                      ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |        |           |
[INFO] [stdout]    |                      |        |           the same lifetime is hidden here
[INFO] [stdout]    |                      |        the same lifetime is hidden here
[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] 90 | fn parse_expr(input: &str) -> ParseOutput<'_, Expr<'_>> {
[INFO] [stdout]    |                                           +++     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse.rs:104:24
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn parse_single(input: &str) -> ParseOutput<Expr> {
[INFO] [stdout]     |                        ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |        |           |
[INFO] [stdout]     |                        |        |           the same lifetime is hidden here
[INFO] [stdout]     |                        |        the same lifetime is hidden here
[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] 104 | fn parse_single(input: &str) -> ParseOutput<'_, Expr<'_>> {
[INFO] [stdout]     |                                             +++     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse.rs:111:24
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn parse_closed(input: &str) -> ParseOutput<Expr> {
[INFO] [stdout]     |                        ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |        |           |
[INFO] [stdout]     |                        |        |           the same lifetime is hidden here
[INFO] [stdout]     |                        |        the same lifetime is hidden here
[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] 111 | fn parse_closed(input: &str) -> ParseOutput<'_, Expr<'_>> {
[INFO] [stdout]     |                                             +++     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse.rs:120:21
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn parse_abs(input: &str) -> ParseOutput<Expr> {
[INFO] [stdout]     |                     ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |        |           |
[INFO] [stdout]     |                     |        |           the same lifetime is hidden here
[INFO] [stdout]     |                     |        the same lifetime is hidden here
[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] 120 | fn parse_abs(input: &str) -> ParseOutput<'_, Expr<'_>> {
[INFO] [stdout]     |                                          +++     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse.rs:156:21
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn parse_var(input: &str) -> ParseOutput<Expr> {
[INFO] [stdout]     |                     ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |        |           |
[INFO] [stdout]     |                     |        |           the same lifetime is hidden here
[INFO] [stdout]     |                     |        the same lifetime is hidden here
[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] 156 | fn parse_var(input: &str) -> ParseOutput<'_, Expr<'_>> {
[INFO] [stdout]     |                                          +++     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse.rs:161:22
[INFO] [stdout]     |
[INFO] [stdout] 161 | fn parse_name(input: &str) -> ParseOutput<&str> {
[INFO] [stdout]     |                      ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |        |           |
[INFO] [stdout]     |                      |        |           the same lifetime is elided here
[INFO] [stdout]     |                      |        the same lifetime is hidden here
[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] 161 | fn parse_name(input: &str) -> ParseOutput<'_, &str> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Rc<Node>, Infallible>
[INFO] [stdout]   --> src/node.rs:68:64
[INFO] [stdout]    |
[INFO] [stdout] 68 |       fn from_expr(expr: &Expr<'_>) -> Result<Self, Self::Error> {
[INFO] [stdout]    |  ________________________________________________________________^
[INFO] [stdout] 69 | |         Ok(expr_to_node_rec(expr, &mut Default::default()))
[INFO] [stdout] 70 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Rc<Node>, Infallible>
[INFO] [stdout]   --> src/node.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         Ok(expr_to_node_rec(expr, &mut Default::default()))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Expr<'_>, Infallible>
[INFO] [stdout]   --> src/node.rs:76:56
[INFO] [stdout]    |
[INFO] [stdout] 76 |       fn to_expr(&self) -> Result<Expr<'a>, Self::Error> {
[INFO] [stdout]    |  ________________________________________________________^
[INFO] [stdout] 77 | |         Ok(node_to_expr_rec(self, &mut Default::default()))
[INFO] [stdout] 78 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Expr<'_>, Infallible>
[INFO] [stdout]   --> src/node.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         Ok(node_to_expr_rec(self, &mut Default::default()))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main2` is never used
[INFO] [stdout]   --> src/main.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn main2() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRELUDE` is never used
[INFO] [stdout]   --> src/main.rs:74:7
[INFO] [stdout]    |
[INFO] [stdout] 74 | const PRELUDE: &str = r#"
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `repl` is never used
[INFO] [stdout]   --> src/main.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn repl() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `reduce_full`, `to_expr`, `to_expr_rec`, and `tokens_in_range` are never used
[INFO] [stdout]    --> src/blc.rs:24:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Blc {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  24 |     pub fn reduce_full(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  28 |     pub fn to_expr(&self) -> Option<Expr<'static>> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  33 |     fn to_expr_rec(iter: &mut impl Iterator<Item = Token>) -> Option<Expr<'static>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     fn tokens_in_range(&self, range: impl RangeBounds<usize>) -> impl Iterator<Item = Token> + '_ {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LeftoverTokens` is never constructed
[INFO] [stdout]    --> src/linear.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub enum ToExprError {
[INFO] [stdout]     |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 219 |     LeftoverTokens,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ToExprError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Scope` is never used
[INFO] [stdout]   --> src/reduce.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait Scope {
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `reduce_once` and `get` are never used
[INFO] [stdout]   --> src/reduce.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl<T> Reducer<T> {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn reduce_once(&self, item: &mut T) -> bool
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn get(&self, name: &str) -> Option<&T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Option<std::rc::Rc<node::Node>>, Infallible>
[INFO] [stdout]   --> src/main.rs:99:27
[INFO] [stdout]    |
[INFO] [stdout] 99 |         if let Err(err) = reducer.add_stmt(&stmt) {
[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<Option<std::rc::Rc<node::Node>>, Infallible>
[INFO] [stdout]    --> src/main.rs:132:62
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let mut node: std::rc::Rc<crate::node::Node> = match reducer.add_stmt(&stmt) {
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<parse::Expr<'_>, Infallible>
[INFO] [stdout]    --> src/main.rs:151:34
[INFO] [stdout]     |
[INFO] [stdout] 151 |                 let expr = match node.to_expr() {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<parse::Expr<'_>, Infallible>
[INFO] [stdout]    --> src/main.rs:178:26
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let expr = match node.to_expr() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/blc.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn iter(&self) -> Iter {
[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] 71 |     pub fn iter(&self) -> Iter<'_> {
[INFO] [stdout]    |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parse.rs:64:21
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn parse(input: &str) -> Option<Stmt> {
[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] 64 | pub fn parse(input: &str) -> Option<Stmt<'_>> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lambda` (bin "lambda" test) due to 9 previous errors; 18 warnings emitted
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parse.rs:76:22
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn parse_stmt(input: &str) -> ParseOutput<Stmt> {
[INFO] [stdout]    |                      ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |        |           |
[INFO] [stdout]    |                      |        |           the same lifetime is hidden here
[INFO] [stdout]    |                      |        the same lifetime is hidden here
[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] 76 | fn parse_stmt(input: &str) -> ParseOutput<'_, Stmt<'_>> {
[INFO] [stdout]    |                                           +++     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parse.rs:80:22
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn parse_decl(input: &str) -> ParseOutput<Stmt> {
[INFO] [stdout]    |                      ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |        |           |
[INFO] [stdout]    |                      |        |           the same lifetime is hidden here
[INFO] [stdout]    |                      |        the same lifetime is hidden here
[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] 80 | fn parse_decl(input: &str) -> ParseOutput<'_, Stmt<'_>> {
[INFO] [stdout]    |                                           +++     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parse.rs:90:22
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn parse_expr(input: &str) -> ParseOutput<Expr> {
[INFO] [stdout]    |                      ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |        |           |
[INFO] [stdout]    |                      |        |           the same lifetime is hidden here
[INFO] [stdout]    |                      |        the same lifetime is hidden here
[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] 90 | fn parse_expr(input: &str) -> ParseOutput<'_, Expr<'_>> {
[INFO] [stdout]    |                                           +++     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse.rs:104:24
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn parse_single(input: &str) -> ParseOutput<Expr> {
[INFO] [stdout]     |                        ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |        |           |
[INFO] [stdout]     |                        |        |           the same lifetime is hidden here
[INFO] [stdout]     |                        |        the same lifetime is hidden here
[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] 104 | fn parse_single(input: &str) -> ParseOutput<'_, Expr<'_>> {
[INFO] [stdout]     |                                             +++     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse.rs:111:24
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn parse_closed(input: &str) -> ParseOutput<Expr> {
[INFO] [stdout]     |                        ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |        |           |
[INFO] [stdout]     |                        |        |           the same lifetime is hidden here
[INFO] [stdout]     |                        |        the same lifetime is hidden here
[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] 111 | fn parse_closed(input: &str) -> ParseOutput<'_, Expr<'_>> {
[INFO] [stdout]     |                                             +++     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse.rs:120:21
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn parse_abs(input: &str) -> ParseOutput<Expr> {
[INFO] [stdout]     |                     ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |        |           |
[INFO] [stdout]     |                     |        |           the same lifetime is hidden here
[INFO] [stdout]     |                     |        the same lifetime is hidden here
[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] 120 | fn parse_abs(input: &str) -> ParseOutput<'_, Expr<'_>> {
[INFO] [stdout]     |                                          +++     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse.rs:156:21
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn parse_var(input: &str) -> ParseOutput<Expr> {
[INFO] [stdout]     |                     ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |        |           |
[INFO] [stdout]     |                     |        |           the same lifetime is hidden here
[INFO] [stdout]     |                     |        the same lifetime is hidden here
[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] 156 | fn parse_var(input: &str) -> ParseOutput<'_, Expr<'_>> {
[INFO] [stdout]     |                                          +++     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parse.rs:161:22
[INFO] [stdout]     |
[INFO] [stdout] 161 | fn parse_name(input: &str) -> ParseOutput<&str> {
[INFO] [stdout]     |                      ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |        |           |
[INFO] [stdout]     |                      |        |           the same lifetime is elided here
[INFO] [stdout]     |                      |        the same lifetime is hidden here
[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] 161 | fn parse_name(input: &str) -> ParseOutput<'_, &str> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::rc::Rc<node::Node>, Infallible>
[INFO] [stdout]   --> src/node.rs:68:64
[INFO] [stdout]    |
[INFO] [stdout] 68 |       fn from_expr(expr: &Expr<'_>) -> Result<Self, Self::Error> {
[INFO] [stdout]    |  ________________________________________________________________^
[INFO] [stdout] 69 | |         Ok(expr_to_node_rec(expr, &mut Default::default()))
[INFO] [stdout] 70 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::rc::Rc<node::Node>, Infallible>
[INFO] [stdout]   --> src/node.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         Ok(expr_to_node_rec(expr, &mut Default::default()))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<parse::Expr<'_>, Infallible>
[INFO] [stdout]   --> src/node.rs:76:56
[INFO] [stdout]    |
[INFO] [stdout] 76 |       fn to_expr(&self) -> Result<Expr<'a>, Self::Error> {
[INFO] [stdout]    |  ________________________________________________________^
[INFO] [stdout] 77 | |         Ok(node_to_expr_rec(self, &mut Default::default()))
[INFO] [stdout] 78 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<parse::Expr<'_>, Infallible>
[INFO] [stdout]   --> src/node.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         Ok(node_to_expr_rec(self, &mut Default::default()))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<parse::Expr<'_>, Infallible>
[INFO] [stdout]    --> src/node.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 | /         crate::reduce::tests::reduce::<Rc<Node>, _>(input)
[INFO] [stdout] 201 | |             .unwrap()
[INFO] [stdout] 202 | |             .to_expr()
[INFO] [stdout]     | |______________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d87f61b230ee76b47b020dca50ac6835c1d4fe80ac772e44231172c90abee394", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d87f61b230ee76b47b020dca50ac6835c1d4fe80ac772e44231172c90abee394", kill_on_drop: false }`
[INFO] [stdout] d87f61b230ee76b47b020dca50ac6835c1d4fe80ac772e44231172c90abee394
