[INFO] cloning repository https://github.com/samdoiron/lithp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/samdoiron/lithp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsamdoiron%2Flithp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsamdoiron%2Flithp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fe5cda657ec61fded841c8e01468a19c5a59a646
[INFO] checking samdoiron/lithp against master#3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0 for pr-143164
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsamdoiron%2Flithp" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/samdoiron/lithp
[INFO] finished tweaking git repo https://github.com/samdoiron/lithp
[INFO] tweaked toml for git repo https://github.com/samdoiron/lithp written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/samdoiron/lithp on toolchain 3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/samdoiron/lithp 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" "+3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 21b1d6a4a457956f0117c473f9c085e7c78b14b8ece71bd4136713bbdf627023
[INFO] running `Command { std: "docker" "start" "-a" "21b1d6a4a457956f0117c473f9c085e7c78b14b8ece71bd4136713bbdf627023", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "21b1d6a4a457956f0117c473f9c085e7c78b14b8ece71bd4136713bbdf627023", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "21b1d6a4a457956f0117c473f9c085e7c78b14b8ece71bd4136713bbdf627023", kill_on_drop: false }`
[INFO] [stdout] 21b1d6a4a457956f0117c473f9c085e7c78b14b8ece71bd4136713bbdf627023
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "-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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 00e04b0591b6c4739432a2d13f96acb3705cbcecfa3437c24f14e9d2eb40b3d4
[INFO] running `Command { std: "docker" "start" "-a" "00e04b0591b6c4739432a2d13f96acb3705cbcecfa3437c24f14e9d2eb40b3d4", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Checking lithp v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/eval.rs:31:32
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 evaluated.push(try!(eval_atom(scope.clone(), atom)));
[INFO] [stdout]    |                                ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/eval.rs:64:40
[INFO] [stdout]    |
[INFO] [stdout] 64 |                         evaluated.push(try!(eval_atom(scope.clone(), atom)));
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/eval.rs:82:39
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let (binding_list, expressions) = try!(split_let_body(cdr));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/eval.rs:84:20
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let bindings = try!(extract_bindings(binding_list.clone()));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/eval.rs:86:21
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let value = try!(eval_atom(scope.clone(), expression));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/eval.rs:96:39
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let (binding_list, expressions) = try!(split_let_body(cdr));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/eval.rs:98:20
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let bindings = try!(extract_bindings(binding_list.clone()));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/eval.rs:100:21
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let value = try!(eval_atom(new_scope.clone(), expression));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/eval.rs:113:29
[INFO] [stdout]     |
[INFO] [stdout] 113 |             let evaluated = try!(eval_atom(scope.clone(), cdr[1].clone()));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/eval.rs:129:37
[INFO] [stdout]     |
[INFO] [stdout] 129 |                     let evaluated = try!(eval_atom(scope.clone(), cdr[1].clone()));
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/eval.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let evaluated = try!(eval_atom(scope.clone(), arg.clone()));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/eval.rs:188:43
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 let evaluated_condition = try!(eval_atom(scope.clone(),
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/eval.rs:204:25
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let evaluated = try!(eval_atom(scope.clone(), arg.clone()));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/eval.rs:359:23
[INFO] [stdout]     |
[INFO] [stdout] 359 |         bindings.push(try!(extract_binding(atom)));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tokenizer.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let token = try!(match_token(token));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 try!(fmt.write_str("( "));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 try!(fmt.write_str(")"));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |                     try!(atom.fmt(fmt));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     try!(fmt.write_char(' '));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 try!(fmt.write_str("' "));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:76:28
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 let atom = try!(self.parse_atom());
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:78:29
[INFO] [stdout]    |
[INFO] [stdout] 78 |                 let atoms = try!(self.parse_atoms());
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/eval.rs:31:32
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 evaluated.push(try!(eval_atom(scope.clone(), atom)));
[INFO] [stdout]    |                                ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:91:28
[INFO] [stdout]    |
[INFO] [stdout] 91 |                 let atom = try!(self.parse_atom());
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:102:20
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let body = try!(self.parse_list_body());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/eval.rs:64:40
[INFO] [stdout]    |
[INFO] [stdout] 64 |                         evaluated.push(try!(eval_atom(scope.clone(), atom)));
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/eval.rs:82:39
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let (binding_list, expressions) = try!(split_let_body(cdr));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/eval.rs:84:20
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let bindings = try!(extract_bindings(binding_list.clone()));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/eval.rs:86:21
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let value = try!(eval_atom(scope.clone(), expression));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/eval.rs:96:39
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let (binding_list, expressions) = try!(split_let_body(cdr));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/eval.rs:98:20
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let bindings = try!(extract_bindings(binding_list.clone()));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/eval.rs:100:21
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let value = try!(eval_atom(new_scope.clone(), expression));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/eval.rs:113:29
[INFO] [stdout]     |
[INFO] [stdout] 113 |             let evaluated = try!(eval_atom(scope.clone(), cdr[1].clone()));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/eval.rs:129:37
[INFO] [stdout]     |
[INFO] [stdout] 129 |                     let evaluated = try!(eval_atom(scope.clone(), cdr[1].clone()));
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/eval.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let evaluated = try!(eval_atom(scope.clone(), arg.clone()));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/eval.rs:188:43
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 let evaluated_condition = try!(eval_atom(scope.clone(),
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/eval.rs:204:25
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let evaluated = try!(eval_atom(scope.clone(), arg.clone()));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/eval.rs:359:23
[INFO] [stdout]     |
[INFO] [stdout] 359 |         bindings.push(try!(extract_binding(atom)));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/tokenizer.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let token = try!(match_token(token));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 try!(fmt.write_str("( "));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 try!(fmt.write_str(")"));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |                     try!(atom.fmt(fmt));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     try!(fmt.write_char(' '));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 try!(fmt.write_str("' "));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:76:28
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 let atom = try!(self.parse_atom());
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:78:29
[INFO] [stdout]    |
[INFO] [stdout] 78 |                 let atoms = try!(self.parse_atoms());
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:91:28
[INFO] [stdout]    |
[INFO] [stdout] 91 |                 let atom = try!(self.parse_atom());
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:102:20
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let body = try!(self.parse_list_body());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/eval.rs:295:30
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn math(start: i64, reduce: &Fn(i64, &i64) -> i64, cdr: &[Atom])
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn math(start: i64, reduce: &dyn Fn(i64, &i64) -> i64, cdr: &[Atom])
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/eval.rs:295:30
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn math(start: i64, reduce: &Fn(i64, &i64) -> i64, cdr: &[Atom])
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn math(start: i64, reduce: &dyn Fn(i64, &i64) -> i64, cdr: &[Atom])
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/eval.rs:302:24
[INFO] [stdout]     |
[INFO] [stdout] 302 | fn math_first(reduce: &Fn(i64, &i64) -> i64, cdr: &[Atom]) 
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 302 | fn math_first(reduce: &dyn Fn(i64, &i64) -> i64, cdr: &[Atom]) 
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/eval.rs:325:45
[INFO] [stdout]     |
[INFO] [stdout] 325 | fn binary_int_predicate(args: &[Atom], op: &Fn(i64, i64) -> bool) -> BasicResult<Atom> {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 325 | fn binary_int_predicate(args: &[Atom], op: &dyn Fn(i64, i64) -> bool) -> BasicResult<Atom> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/eval.rs:302:24
[INFO] [stdout]     |
[INFO] [stdout] 302 | fn math_first(reduce: &Fn(i64, &i64) -> i64, cdr: &[Atom]) 
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 302 | fn math_first(reduce: &dyn Fn(i64, &i64) -> i64, cdr: &[Atom]) 
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/eval.rs:325:45
[INFO] [stdout]     |
[INFO] [stdout] 325 | fn binary_int_predicate(args: &[Atom], op: &Fn(i64, i64) -> bool) -> BasicResult<Atom> {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 325 | fn binary_int_predicate(args: &[Atom], op: &dyn Fn(i64, i64) -> bool) -> BasicResult<Atom> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_quoted` is never read
[INFO] [stdout]   --> src/parser.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Parser {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 11 |     tokens: Vec<Token>,
[INFO] [stdout] 12 |     is_quoted: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Parser` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_quoted` is never read
[INFO] [stdout]   --> src/parser.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Parser {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 11 |     tokens: Vec<Token>,
[INFO] [stdout] 12 |     is_quoted: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Parser` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.37s
[INFO] running `Command { std: "docker" "inspect" "00e04b0591b6c4739432a2d13f96acb3705cbcecfa3437c24f14e9d2eb40b3d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "00e04b0591b6c4739432a2d13f96acb3705cbcecfa3437c24f14e9d2eb40b3d4", kill_on_drop: false }`
[INFO] [stdout] 00e04b0591b6c4739432a2d13f96acb3705cbcecfa3437c24f14e9d2eb40b3d4
