[INFO] cloning repository https://github.com/teoremma/egg-tart
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/teoremma/egg-tart" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fteoremma%2Fegg-tart", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fteoremma%2Fegg-tart'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] efc825258fa46e21db9fe0d4525153bcd208996c
[INFO] checking teoremma/egg-tart against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fteoremma%2Fegg-tart" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/teoremma/egg-tart
[INFO] finished tweaking git repo https://github.com/teoremma/egg-tart
[INFO] tweaked toml for git repo https://github.com/teoremma/egg-tart written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/teoremma/egg-tart on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/teoremma/egg-tart 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded thiserror v1.0.39
[INFO] [stderr]   Downloaded thiserror-impl v1.0.39
[INFO] [stderr]   Downloaded egg v0.9.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9ed10a34962e0a8b17bc4fda4388da82cdb340cec05d476e6ccaf7f5de67269b
[INFO] running `Command { std: "docker" "start" "-a" "9ed10a34962e0a8b17bc4fda4388da82cdb340cec05d476e6ccaf7f5de67269b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9ed10a34962e0a8b17bc4fda4388da82cdb340cec05d476e6ccaf7f5de67269b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9ed10a34962e0a8b17bc4fda4388da82cdb340cec05d476e6ccaf7f5de67269b", kill_on_drop: false }`
[INFO] [stdout] 9ed10a34962e0a8b17bc4fda4388da82cdb340cec05d476e6ccaf7f5de67269b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 232f50a4d05f85c5d0fe5de503f00473407ee25a8613861dc21c950e98aa7a65
[INFO] running `Command { std: "docker" "start" "-a" "232f50a4d05f85c5d0fe5de503f00473407ee25a8613861dc21c950e98aa7a65", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.139
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]    Compiling unicode-ident v1.0.8
[INFO] [stderr]     Checking once_cell v1.17.1
[INFO] [stderr]    Compiling thiserror v1.0.39
[INFO] [stderr]     Checking symbolic_expressions v5.0.3
[INFO] [stderr]     Checking smallvec v1.10.0
[INFO] [stderr]    Compiling indexmap v1.9.2
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking env_logger v0.9.3
[INFO] [stderr]    Compiling proc-macro2 v1.0.51
[INFO] [stderr]    Compiling quote v1.0.23
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking getrandom v0.2.8
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking symbol_table v0.2.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.39
[INFO] [stderr]     Checking egg v0.9.3
[INFO] [stderr]     Checking egg-tart v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::benchmarks`
[INFO] [stdout]  --> src/debruijn.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::benchmarks;
[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: `test::test_runner`
[INFO] [stdout]  --> src/lambda_baseline.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use egg::{rewrite as rw, *, test::test_runner};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::benchmarks`
[INFO] [stdout]  --> src/lambda_baseline.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::benchmarks;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `test::test_runner`
[INFO] [stdout]  --> src/lambda_destructive_rewrite.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use egg::{rewrite as rw, *, test::test_runner};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::benchmarks`
[INFO] [stdout]  --> src/lambda_destructive_rewrite.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::benchmarks;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs::File`, `io::Write`, and `path::PathBuf`
[INFO] [stdout]  --> src/benchmarks.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fmt::Display, fs::File, io::Write, path::PathBuf};
[INFO] [stdout]   |                         ^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::benchmarks`
[INFO] [stdout]  --> src/debruijn_small_step.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::benchmarks;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `test::test_runner`
[INFO] [stdout]  --> src/lambda_baseline.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use egg::{rewrite as rw, *, test::test_runner};
[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: `test::test_runner`
[INFO] [stdout]  --> src/lambda_destructive_rewrite.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use egg::{rewrite as rw, *, test::test_runner};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs::File`, `io::Write`, and `path::PathBuf`
[INFO] [stdout]  --> src/benchmarks.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fmt::Display, fs::File, io::Write, path::PathBuf};
[INFO] [stdout]   |                         ^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::benchmarks`
[INFO] [stdout]  --> src/debruijn_small_step.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::benchmarks;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sym_to_replace`
[INFO] [stdout]    --> src/debruijn.rs:517:13
[INFO] [stdout]     |
[INFO] [stdout] 517 |         let sym_to_replace = DeBruijnIndex(0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sym_to_replace`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/benchmarks.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut runner = runner.run(rules);
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `check_fn`
[INFO] [stdout]   --> src/benchmarks.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     check_fn: Option<fn(Runner<L, A, ()>)>,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_check_fn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `should_check`
[INFO] [stdout]   --> src/benchmarks.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     should_check: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_should_check`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rule_name`
[INFO] [stdout]   --> src/destructive_rewrite.rs:52:166
[INFO] [stdout]    |
[INFO] [stdout] 52 | ...: &Subst, eclass: &Id, rule_name: Symbol) -> bool
[INFO] [stdout]    |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rule_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut rhs = lam(app(var(5), var(1)));
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeBruijnIndex` is never constructed
[INFO] [stdout]  --> src/debruijn.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct DeBruijnIndex(u32);
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `increment` and `decrement` are never used
[INFO] [stdout]   --> src/debruijn.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl DeBruijnIndex {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 11 |     fn increment(&self) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn decrement(&self) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InvalidIndexError` is never constructed
[INFO] [stdout]   --> src/debruijn.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct InvalidIndexError;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DeBruijnAST` is never used
[INFO] [stdout]   --> src/debruijn.rs:69:6
[INFO] [stdout]    |
[INFO] [stdout] 69 | enum DeBruijnAST {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_rec_expr`, `to_rec_expr`, and `increment_free_vars` are never used
[INFO] [stdout]   --> src/debruijn.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl DeBruijnAST {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 84 |     pub fn from_rec_expr(rec_expr: &RecExpr<DeBruijn>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn to_rec_expr(&self) -> RecExpr<DeBruijn> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub fn increment_free_vars(&self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `from_rec_expr_helper` is never used
[INFO] [stdout]   --> src/debruijn.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn from_rec_expr_helper(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_rec_expr_helper` is never used
[INFO] [stdout]    --> src/debruijn.rs:157:4
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn to_rec_expr_helper(expr_vec: &mut Vec<DeBruijn>, expr: &DeBruijnAST) -> Id {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `increment_free_vars_helper` is never used
[INFO] [stdout]    --> src/debruijn.rs:213:4
[INFO] [stdout]     |
[INFO] [stdout] 213 | fn increment_free_vars_helper(expr: &DeBruijnAST, bound_level: Option<u32>) -> DeBruijnAST {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `increment_id` is never used
[INFO] [stdout]    --> src/debruijn.rs:279:4
[INFO] [stdout]     |
[INFO] [stdout] 279 | fn increment_id(id: Id, increment: usize) -> Id {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `num` and `increment_id` are never used
[INFO] [stdout]    --> src/debruijn.rs:285:8
[INFO] [stdout]     |
[INFO] [stdout] 284 | impl DeBruijn {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 285 |     fn num(&self) -> Option<i32> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     fn increment_id(&self, increment: usize) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `EGraph` is never used
[INFO] [stdout]    --> src/debruijn.rs:321:6
[INFO] [stdout]     |
[INFO] [stdout] 321 | type EGraph = egg::EGraph<DeBruijn, DeBruijnAnalysis>;
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeBruijnAnalysis` is never constructed
[INFO] [stdout]    --> src/debruijn.rs:324:8
[INFO] [stdout]     |
[INFO] [stdout] 324 | struct DeBruijnAnalysis;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Data` is never constructed
[INFO] [stdout]    --> src/debruijn.rs:327:8
[INFO] [stdout]     |
[INFO] [stdout] 327 | struct Data {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval` is never used
[INFO] [stdout]    --> src/debruijn.rs:331:4
[INFO] [stdout]     |
[INFO] [stdout] 331 | fn eval(egraph: &EGraph, enode: &DeBruijn) -> Option<(DeBruijn, PatternAst<DeBruijn>)> {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `var` is never used
[INFO] [stdout]    --> src/debruijn.rs:379:4
[INFO] [stdout]     |
[INFO] [stdout] 379 | fn var(s: &str) -> Var {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substitute_rec_expr` is never used
[INFO] [stdout]    --> src/debruijn.rs:383:4
[INFO] [stdout]     |
[INFO] [stdout] 383 | fn substitute_rec_expr(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substitute` is never used
[INFO] [stdout]    --> src/debruijn.rs:438:4
[INFO] [stdout]     |
[INFO] [stdout] 438 | fn substitute(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExtractionBasedSubstitution` is never constructed
[INFO] [stdout]    --> src/debruijn.rs:502:8
[INFO] [stdout]     |
[INFO] [stdout] 502 | struct ExtractionBasedSubstitution {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rules` is never used
[INFO] [stdout]    --> src/debruijn.rs:566:4
[INFO] [stdout]     |
[INFO] [stdout] 566 | fn rules() -> Vec<Rewrite<DeBruijn, DeBruijnAnalysis>> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `num` is never used
[INFO] [stdout]   --> src/lambda_baseline.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Lambda {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 27 |     fn num(&self) -> Option<i32> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `EGraph` is never used
[INFO] [stdout]   --> src/lambda_baseline.rs:35:6
[INFO] [stdout]    |
[INFO] [stdout] 35 | type EGraph = egg::EGraph<Lambda, LambdaAnalysis>;
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LambdaAnalysis` is never constructed
[INFO] [stdout]   --> src/lambda_baseline.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct LambdaAnalysis;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Data` is never constructed
[INFO] [stdout]   --> src/lambda_baseline.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct Data {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval` is never used
[INFO] [stdout]   --> src/lambda_baseline.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn eval(egraph: &EGraph, enode: &Lambda) -> Option<(Lambda, PatternAst<Lambda>)> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `var` is never used
[INFO] [stdout]    --> src/lambda_baseline.rs:118:4
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn var(s: &str) -> Var {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_not_same_var` is never used
[INFO] [stdout]    --> src/lambda_baseline.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn is_not_same_var(v1: Var, v2: Var) -> impl Fn(&mut EGraph, Id, &Subst) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_const` is never used
[INFO] [stdout]    --> src/lambda_baseline.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn is_const(v: Var) -> impl Fn(&mut EGraph, Id, &Subst) -> bool {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rules` is never used
[INFO] [stdout]    --> src/lambda_baseline.rs:130:4
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn rules() -> Vec<Rewrite<Lambda, LambdaAnalysis>> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CaptureAvoid` is never constructed
[INFO] [stdout]    --> src/lambda_baseline.rs:167:8
[INFO] [stdout]     |
[INFO] [stdout] 167 | struct CaptureAvoid {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `num` and `increment_id` are never used
[INFO] [stdout]   --> src/lambda.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Lambda {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 27 |     fn num(&self) -> Option<i32> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn increment_id(&self, increment: usize) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `increment_id` is never used
[INFO] [stdout]   --> src/lambda.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn increment_id(id: Id, increment: usize) -> Id {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `EGraph` is never used
[INFO] [stdout]   --> src/lambda.rs:56:6
[INFO] [stdout]    |
[INFO] [stdout] 56 | type EGraph = egg::EGraph<Lambda, LambdaAnalysis>;
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LambdaAnalysis` is never constructed
[INFO] [stdout]   --> src/lambda.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | struct LambdaAnalysis;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Data` is never constructed
[INFO] [stdout]   --> src/lambda.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | struct Data {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval` is never used
[INFO] [stdout]   --> src/lambda.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn eval(egraph: &EGraph, enode: &Lambda) -> Option<(Lambda, PatternAst<Lambda>)> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `var` is never used
[INFO] [stdout]    --> src/lambda.rs:139:4
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn var(s: &str) -> Var {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_not_same_var` is never used
[INFO] [stdout]    --> src/lambda.rs:143:4
[INFO] [stdout]     |
[INFO] [stdout] 143 | fn is_not_same_var(v1: Var, v2: Var) -> impl Fn(&mut EGraph, Id, &Subst) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_const` is never used
[INFO] [stdout]    --> src/lambda.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn is_const(v: Var) -> impl Fn(&mut EGraph, Id, &Subst) -> bool {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rules` is never used
[INFO] [stdout]    --> src/lambda.rs:151:4
[INFO] [stdout]     |
[INFO] [stdout] 151 | fn rules() -> Vec<Rewrite<Lambda, LambdaAnalysis>> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expr_contains_sym` is never used
[INFO] [stdout]    --> src/lambda.rs:202:4
[INFO] [stdout]     |
[INFO] [stdout] 202 | fn expr_contains_sym(rec_expr: &RecExpr<Lambda>, start_index: usize, end_index: usize, sym: Symbol) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substitute_rec_expr` is never used
[INFO] [stdout]    --> src/lambda.rs:213:4
[INFO] [stdout]     |
[INFO] [stdout] 213 | fn substitute_rec_expr(rec_expr: &mut RecExpr<Lambda>, seen: &mut HashSet<Id>, id: Id, subst_sym: Symbol, subst_id: Id, fresh_prefi...
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SketchGuidedBetaReduction` is never constructed
[INFO] [stdout]    --> src/lambda.rs:290:8
[INFO] [stdout]     |
[INFO] [stdout] 290 | struct SketchGuidedBetaReduction {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CallByName` is never constructed
[INFO] [stdout]    --> src/lambda.rs:343:8
[INFO] [stdout]     |
[INFO] [stdout] 343 | struct CallByName {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substitute` is never used
[INFO] [stdout]    --> src/lambda.rs:348:4
[INFO] [stdout]     |
[INFO] [stdout] 348 | fn substitute(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_sym` is never used
[INFO] [stdout]    --> src/lambda.rs:524:4
[INFO] [stdout]     |
[INFO] [stdout] 524 | fn get_sym(eclass: Id, egraph: &EGraph) -> Symbol {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CaptureAvoid` is never constructed
[INFO] [stdout]    --> src/lambda.rs:541:8
[INFO] [stdout]     |
[INFO] [stdout] 541 | struct CaptureAvoid {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `num` and `increment_id` are never used
[INFO] [stdout]   --> src/lambda_destructive_rewrite.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Lambda {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 28 |     fn num(&self) -> Option<i32> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn increment_id(&self, increment: usize) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `increment_id` is never used
[INFO] [stdout]   --> src/lambda_destructive_rewrite.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn increment_id(id: Id, increment: usize) -> Id {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `EGraph` is never used
[INFO] [stdout]   --> src/lambda_destructive_rewrite.rs:57:6
[INFO] [stdout]    |
[INFO] [stdout] 57 | type EGraph = egg::EGraph<Lambda, LambdaAnalysis>;
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LambdaAnalysis` is never constructed
[INFO] [stdout]   --> src/lambda_destructive_rewrite.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | struct LambdaAnalysis;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Data` is never constructed
[INFO] [stdout]   --> src/lambda_destructive_rewrite.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct Data {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval` is never used
[INFO] [stdout]   --> src/lambda_destructive_rewrite.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn eval(egraph: &EGraph, enode: &Lambda) -> Option<(Lambda, PatternAst<Lambda>)> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `var` is never used
[INFO] [stdout]    --> src/lambda_destructive_rewrite.rs:141:4
[INFO] [stdout]     |
[INFO] [stdout] 141 | fn var(s: &str) -> Var {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_not_same_var` is never used
[INFO] [stdout]    --> src/lambda_destructive_rewrite.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn is_not_same_var(v1: Var, v2: Var) -> impl Fn(&mut EGraph, Id, &Subst) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_const` is never used
[INFO] [stdout]    --> src/lambda_destructive_rewrite.rs:149:4
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn is_const(v: Var) -> impl Fn(&mut EGraph, Id, &Subst) -> bool {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rules` is never used
[INFO] [stdout]    --> src/lambda_destructive_rewrite.rs:153:4
[INFO] [stdout]     |
[INFO] [stdout] 153 | fn rules() -> Vec<Rewrite<Lambda, LambdaAnalysis>> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CaptureAvoid` is never constructed
[INFO] [stdout]    --> src/lambda_destructive_rewrite.rs:291:8
[INFO] [stdout]     |
[INFO] [stdout] 291 | struct CaptureAvoid {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `num` and `is_sub` are never used
[INFO] [stdout]   --> src/phases.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Lambda {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 30 |     fn num(&self) -> Option<i32> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn is_sub(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `EGraph` is never used
[INFO] [stdout]   --> src/phases.rs:43:6
[INFO] [stdout]    |
[INFO] [stdout] 43 | type EGraph = egg::EGraph<Lambda, LambdaAnalysis>;
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LambdaAnalysis` is never constructed
[INFO] [stdout]   --> src/phases.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | struct LambdaAnalysis;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Data` is never constructed
[INFO] [stdout]   --> src/phases.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct Data {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval` is never used
[INFO] [stdout]   --> src/phases.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn eval(egraph: &EGraph, enode: &Lambda) -> Option<(Lambda, PatternAst<Lambda>)> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `var` is never used
[INFO] [stdout]    --> src/phases.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn var(s: &str) -> Var {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_not_same_var` is never used
[INFO] [stdout]    --> src/phases.rs:130:4
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn is_not_same_var(v1: Var, v2: Var) -> impl Fn(&mut EGraph, Id, &Subst) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_const` is never used
[INFO] [stdout]    --> src/phases.rs:134:4
[INFO] [stdout]     |
[INFO] [stdout] 134 | fn is_const(v: Var) -> impl Fn(&mut EGraph, Id, &Subst) -> bool {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CaptureAvoid` is never constructed
[INFO] [stdout]    --> src/phases.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | struct CaptureAvoid {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main_rules` is never used
[INFO] [stdout]    --> src/phases.rs:172:4
[INFO] [stdout]     |
[INFO] [stdout] 172 | fn main_rules() -> Vec<Rewrite<Lambda, LambdaAnalysis>> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `subst_rules` is never used
[INFO] [stdout]    --> src/phases.rs:192:4
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn subst_rules() -> Vec<Rewrite<Lambda, LambdaAnalysis>> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `runner_with_goals` is never used
[INFO] [stdout]    --> src/phases.rs:219:4
[INFO] [stdout]     |
[INFO] [stdout] 219 | fn runner_with_goals(eclass: Id, goals: Vec<Pattern<Lambda>>) -> Runner<Lambda, LambdaAnalysis> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_phased_runners` is never used
[INFO] [stdout]    --> src/phases.rs:241:4
[INFO] [stdout]     |
[INFO] [stdout] 241 | fn test_phased_runners(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `env_var` is never used
[INFO] [stdout]  --> src/benchmarks.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn env_var<T>(s: &str) -> Option<T>
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_runner` is never used
[INFO] [stdout]   --> src/benchmarks.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn test_runner<L, A>(
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fibonacci` is never used
[INFO] [stdout]   --> src/benchmarks.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn fibonacci(n: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fib_sexprs` is never used
[INFO] [stdout]   --> src/benchmarks.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub fn fib_sexprs(n: usize) -> (String, String) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fib_sexprs_db` is never used
[INFO] [stdout]    --> src/benchmarks.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn fib_sexprs_db(n: usize) -> (String, String) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `double_many_inside_sexprs` is never used
[INFO] [stdout]    --> src/benchmarks.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub fn double_many_inside_sexprs(n: usize) -> (String, String) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `double_many_outside_sexprs` is never used
[INFO] [stdout]    --> src/benchmarks.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub fn double_many_outside_sexprs(n: usize) -> (String, String) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_many_sexprs` is never used
[INFO] [stdout]    --> src/benchmarks.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn add_many_sexprs(n: usize) -> (String, String) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeBruijnIndex` is never constructed
[INFO] [stdout]  --> src/debruijn_small_step.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct DeBruijnIndex(u32);
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `increment` and `decrement` are never used
[INFO] [stdout]   --> src/debruijn_small_step.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl DeBruijnIndex {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 11 |     fn increment(&self) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn decrement(&self) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InvalidIndexError` is never constructed
[INFO] [stdout]   --> src/debruijn_small_step.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct InvalidIndexError;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `increment_id` is never used
[INFO] [stdout]   --> src/debruijn_small_step.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn increment_id(id: Id, increment: usize) -> Id {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `num`, `index`, and `increment_id` are never used
[INFO] [stdout]   --> src/debruijn_small_step.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl DeBruijn {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 75 |     fn num(&self) -> Option<i32> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     fn index(&self) -> Option<DeBruijnIndex> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     fn increment_id(&self, increment: usize) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `EGraph` is never used
[INFO] [stdout]    --> src/debruijn_small_step.rs:126:6
[INFO] [stdout]     |
[INFO] [stdout] 126 | type EGraph = egg::EGraph<DeBruijn, DeBruijnAnalysis>;
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeBruijnAnalysis` is never constructed
[INFO] [stdout]    --> src/debruijn_small_step.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | struct DeBruijnAnalysis;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Data` is never constructed
[INFO] [stdout]    --> src/debruijn_small_step.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 | struct Data {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_constant` is never used
[INFO] [stdout]    --> src/debruijn_small_step.rs:137:4
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn eval_constant(egraph: &EGraph, enode: &DeBruijn) -> Option<(DeBruijn, PatternAst<DeBruijn>)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_index` is never used
[INFO] [stdout]    --> src/debruijn_small_step.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn eval_index(enode: &DeBruijn) -> Option<DeBruijnIndex> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `var` is never used
[INFO] [stdout]    --> src/debruijn_small_step.rs:203:4
[INFO] [stdout]     |
[INFO] [stdout] 203 | fn var(s: &str) -> Var {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_not_same_var` is never used
[INFO] [stdout]    --> src/debruijn_small_step.rs:207:4
[INFO] [stdout]     |
[INFO] [stdout] 207 | fn is_not_same_var(v1: Var, v2: Var) -> impl Fn(&mut EGraph, Id, &Subst) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_const` is never used
[INFO] [stdout]    --> src/debruijn_small_step.rs:211:4
[INFO] [stdout]     |
[INFO] [stdout] 211 | fn is_const(v: Var) -> impl Fn(&mut EGraph, Id, &Subst) -> bool {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_both_index` is never used
[INFO] [stdout]    --> src/debruijn_small_step.rs:216:4
[INFO] [stdout]     |
[INFO] [stdout] 216 | fn is_both_index(i1: Var, i2: Var) -> impl Fn(&mut EGraph, Id, &Subst) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rules` is never used
[INFO] [stdout]    --> src/debruijn_small_step.rs:224:4
[INFO] [stdout]     |
[INFO] [stdout] 224 | fn rules() -> Vec<Rewrite<DeBruijn, DeBruijnAnalysis>> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShiftIndex` is never constructed
[INFO] [stdout]    --> src/debruijn_small_step.rs:396:8
[INFO] [stdout]     |
[INFO] [stdout] 396 | struct ShiftIndex {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubIndex` is never constructed
[INFO] [stdout]    --> src/debruijn_small_step.rs:439:8
[INFO] [stdout]     |
[INFO] [stdout] 439 | struct SubIndex {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `MatchOverLanguage` is never used
[INFO] [stdout]  --> src/destructive_rewrite.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub trait MatchOverLanguage {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DestructiveRewrite` is never constructed
[INFO] [stdout]   --> src/destructive_rewrite.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct DestructiveRewrite<Language> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prune_enodes_matching` is never used
[INFO] [stdout]   --> src/destructive_rewrite.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn prune_enodes_matching<Language, Analysis>(egraph: &mut egg::EGraph<Language, Analysis>, rec_expr: &RecExpr<ENodeOrVar<Languag...
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_enode` is never used
[INFO] [stdout]    --> src/destructive_rewrite.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn match_enode<Language, Analysis>(egraph: &egg::EGraph<Language, Analysis>, rec_expr: &RecExpr<ENodeOrVar<Language>>, rec_expr_id:...
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `any_enode_in_eclass_matches` is never used
[INFO] [stdout]    --> src/destructive_rewrite.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn any_enode_in_eclass_matches<Language, Analysis>(egraph: &egg::EGraph<Language, Analysis>, rec_expr: &RecExpr<ENodeOrVar<Language...
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sym_to_replace`
[INFO] [stdout]    --> src/debruijn.rs:517:13
[INFO] [stdout]     |
[INFO] [stdout] 517 |         let sym_to_replace = DeBruijnIndex(0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sym_to_replace`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     lhs.apply(&rhs);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let _ = lhs.apply(&rhs);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/benchmarks.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut runner = runner.run(rules);
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `check_fn`
[INFO] [stdout]   --> src/benchmarks.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     check_fn: Option<fn(Runner<L, A, ()>)>,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_check_fn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `should_check`
[INFO] [stdout]   --> src/benchmarks.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     should_check: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_should_check`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rule_name`
[INFO] [stdout]   --> src/destructive_rewrite.rs:52:166
[INFO] [stdout]    |
[INFO] [stdout] 52 | ...: &Subst, eclass: &Id, rule_name: Symbol) -> bool
[INFO] [stdout]    |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rule_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut rhs = lam(app(var(5), var(1)));
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `increment_id` is never used
[INFO] [stdout]    --> src/debruijn.rs:279:4
[INFO] [stdout]     |
[INFO] [stdout] 279 | fn increment_id(id: Id, increment: usize) -> Id {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `increment_id` is never used
[INFO] [stdout]    --> src/debruijn.rs:292:8
[INFO] [stdout]     |
[INFO] [stdout] 284 | impl DeBruijn {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 292 |     fn increment_id(&self, increment: usize) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substitute_rec_expr` is never used
[INFO] [stdout]    --> src/debruijn.rs:383:4
[INFO] [stdout]     |
[INFO] [stdout] 383 | fn substitute_rec_expr(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_not_same_var` is never used
[INFO] [stdout]    --> src/lambda.rs:143:4
[INFO] [stdout]     |
[INFO] [stdout] 143 | fn is_not_same_var(v1: Var, v2: Var) -> impl Fn(&mut EGraph, Id, &Subst) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_const` is never used
[INFO] [stdout]    --> src/lambda.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn is_const(v: Var) -> impl Fn(&mut EGraph, Id, &Subst) -> bool {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CallByName` is never constructed
[INFO] [stdout]    --> src/lambda.rs:343:8
[INFO] [stdout]     |
[INFO] [stdout] 343 | struct CallByName {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substitute` is never used
[INFO] [stdout]    --> src/lambda.rs:348:4
[INFO] [stdout]     |
[INFO] [stdout] 348 | fn substitute(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CaptureAvoid` is never constructed
[INFO] [stdout]    --> src/lambda.rs:541:8
[INFO] [stdout]     |
[INFO] [stdout] 541 | struct CaptureAvoid {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `increment_id` is never used
[INFO] [stdout]   --> src/lambda_destructive_rewrite.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Lambda {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn increment_id(&self, increment: usize) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `increment_id` is never used
[INFO] [stdout]   --> src/lambda_destructive_rewrite.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn increment_id(id: Id, increment: usize) -> Id {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `previous_rewrites` is never read
[INFO] [stdout]   --> src/lambda_destructive_rewrite.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct Data {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] 64 |     previous_rewrites: HashSet<(Symbol, Subst, PatternAst<Lambda>)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Data` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `increment_id` is never used
[INFO] [stdout]   --> src/debruijn_small_step.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn increment_id(id: Id, increment: usize) -> Id {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `index` and `increment_id` are never used
[INFO] [stdout]   --> src/debruijn_small_step.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl DeBruijn {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     fn index(&self) -> Option<DeBruijnIndex> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     fn increment_id(&self, increment: usize) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_not_same_var` is never used
[INFO] [stdout]    --> src/debruijn_small_step.rs:207:4
[INFO] [stdout]     |
[INFO] [stdout] 207 | fn is_not_same_var(v1: Var, v2: Var) -> impl Fn(&mut EGraph, Id, &Subst) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     lhs.apply(&rhs);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let _ = lhs.apply(&rhs);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.28s
[INFO] running `Command { std: "docker" "inspect" "232f50a4d05f85c5d0fe5de503f00473407ee25a8613861dc21c950e98aa7a65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "232f50a4d05f85c5d0fe5de503f00473407ee25a8613861dc21c950e98aa7a65", kill_on_drop: false }`
[INFO] [stdout] 232f50a4d05f85c5d0fe5de503f00473407ee25a8613861dc21c950e98aa7a65
