[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> { [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 { [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> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | fn to_expr_rec(iter: &mut impl Iterator) -> Option> { [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 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | fn token_at(&self, offset: usize) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | fn tokens_in_range(&self, range: impl RangeBounds) -> impl Iterator + '_ { [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, color: &'static str) -> Box { [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 { [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); [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) -> Result, 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 Reducer { [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>, 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>, Infallible> [INFO] [stdout] --> src/main.rs:132:62 [INFO] [stdout] | [INFO] [stdout] 132 | let mut node: std::rc::Rc = match reducer.add_stmt(&stmt) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, 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, 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 { [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> { [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 { [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 { [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 { [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 { [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 { [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 { [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 { [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, Infallible> [INFO] [stdout] --> src/node.rs:68:64 [INFO] [stdout] | [INFO] [stdout] 68 | fn from_expr(expr: &Expr<'_>) -> Result { [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, 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, Infallible> [INFO] [stdout] --> src/node.rs:76:56 [INFO] [stdout] | [INFO] [stdout] 76 | fn to_expr(&self) -> Result, 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, 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> { [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> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | fn to_expr_rec(iter: &mut impl Iterator) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | fn tokens_in_range(&self, range: impl RangeBounds) -> impl Iterator + '_ { [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 Reducer { [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>, 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>, Infallible> [INFO] [stdout] --> src/main.rs:132:62 [INFO] [stdout] | [INFO] [stdout] 132 | let mut node: std::rc::Rc = match reducer.add_stmt(&stmt) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, 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, 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 { [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> { [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 { [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 { [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 { [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 { [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 { [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 { [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 { [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, Infallible> [INFO] [stdout] --> src/node.rs:68:64 [INFO] [stdout] | [INFO] [stdout] 68 | fn from_expr(expr: &Expr<'_>) -> Result { [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, 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, Infallible> [INFO] [stdout] --> src/node.rs:76:56 [INFO] [stdout] | [INFO] [stdout] 76 | fn to_expr(&self) -> Result, 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, 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, Infallible> [INFO] [stdout] --> src/node.rs:200:9 [INFO] [stdout] | [INFO] [stdout] 200 | / crate::reduce::tests::reduce::, _>(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