[INFO] cloning repository https://github.com/xnoe/rust-calc
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/xnoe/rust-calc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxnoe%2Frust-calc", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxnoe%2Frust-calc'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 056ddab0af375776307d7f858e71defa63891c25
[INFO] checking xnoe/rust-calc against master#9bfa31f632912180dc742809bcc51a97f2d7079d for pr-140151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxnoe%2Frust-calc" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/xnoe/rust-calc on toolchain 9bfa31f632912180dc742809bcc51a97f2d7079d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9bfa31f632912180dc742809bcc51a97f2d7079d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/xnoe/rust-calc
[INFO] finished tweaking git repo https://github.com/xnoe/rust-calc
[INFO] tweaked toml for git repo https://github.com/xnoe/rust-calc written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/xnoe/rust-calc 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" "+9bfa31f632912180dc742809bcc51a97f2d7079d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+9bfa31f632912180dc742809bcc51a97f2d7079d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fa1746ee646a69ba6e43332c2023414297e3f56da457227284ad3b83c8083b5c
[INFO] running `Command { std: "docker" "start" "-a" "fa1746ee646a69ba6e43332c2023414297e3f56da457227284ad3b83c8083b5c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fa1746ee646a69ba6e43332c2023414297e3f56da457227284ad3b83c8083b5c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fa1746ee646a69ba6e43332c2023414297e3f56da457227284ad3b83c8083b5c", kill_on_drop: false }`
[INFO] [stdout] fa1746ee646a69ba6e43332c2023414297e3f56da457227284ad3b83c8083b5c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+9bfa31f632912180dc742809bcc51a97f2d7079d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 23f6de2dc40cde2df8aa9ae2364f46559efda0e2124b5a089f09fedb92c556dc
[INFO] running `Command { std: "docker" "start" "-a" "23f6de2dc40cde2df8aa9ae2364f46559efda0e2124b5a089f09fedb92c556dc", kill_on_drop: false }`
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking itertools v0.10.3
[INFO] [stderr]     Checking calculator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/main.rs:665:38
[INFO] [stdout]     |
[INFO] [stdout] 665 |             AST::FunctionDef(symbol, params, block) => {
[INFO] [stdout]     |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/main.rs:665:38
[INFO] [stdout]     |
[INFO] [stdout] 665 |             AST::FunctionDef(symbol, params, block) => {
[INFO] [stdout]     |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:687:21
[INFO] [stdout]     |
[INFO] [stdout] 687 |                 let mut rval = None;
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:687:21
[INFO] [stdout]     |
[INFO] [stdout] 687 |                 let mut rval = None;
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NotEquals` is never constructed
[INFO] [stdout]   --> src/main.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | enum Token {
[INFO] [stdout]    |      ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 77 |     NotEquals,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_tokens` is never used
[INFO] [stdout]    --> src/main.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn print_tokens(tokens: &Vec<Token>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/main.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |     Dot(Box<AST>, Box<AST>),
[INFO] [stdout]     |     --- ^^^^^^^^  ^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AST` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 225 -     Dot(Box<AST>, Box<AST>),
[INFO] [stdout] 225 +     Dot((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/main.rs:230:20
[INFO] [stdout]     |
[INFO] [stdout] 230 |     WhileStatement(Box<AST>, Box<AST>),
[INFO] [stdout]     |     -------------- ^^^^^^^^  ^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AST` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 230 -     WhileStatement(Box<AST>, Box<AST>),
[INFO] [stdout] 230 +     WhileStatement((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, `2`, and `3` are never read
[INFO] [stdout]    --> src/main.rs:231:18
[INFO] [stdout]     |
[INFO] [stdout] 231 |     ForStatement(Box<AST>, Box<AST>, Box<AST>, Box<AST>),
[INFO] [stdout]     |     ------------ ^^^^^^^^  ^^^^^^^^  ^^^^^^^^  ^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AST` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 231 -     ForStatement(Box<AST>, Box<AST>, Box<AST>, Box<AST>),
[INFO] [stdout] 231 +     ForStatement((), (), (), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/main.rs:232:17
[INFO] [stdout]     |
[INFO] [stdout] 232 |     IfStatement(Box<AST>, Box<AST>),
[INFO] [stdout]     |     ----------- ^^^^^^^^  ^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AST` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 232 -     IfStatement(Box<AST>, Box<AST>),
[INFO] [stdout] 232 +     IfStatement((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `String` is never constructed
[INFO] [stdout]    --> src/main.rs:502:5
[INFO] [stdout]     |
[INFO] [stdout] 498 | enum Value {
[INFO] [stdout]     |      ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 502 |     String(String)
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Value` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NotEquals` is never constructed
[INFO] [stdout]   --> src/main.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | enum Token {
[INFO] [stdout]    |      ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 77 |     NotEquals,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_tokens` is never used
[INFO] [stdout]    --> src/main.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn print_tokens(tokens: &Vec<Token>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/main.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |     Dot(Box<AST>, Box<AST>),
[INFO] [stdout]     |     --- ^^^^^^^^  ^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AST` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 225 -     Dot(Box<AST>, Box<AST>),
[INFO] [stdout] 225 +     Dot((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/main.rs:230:20
[INFO] [stdout]     |
[INFO] [stdout] 230 |     WhileStatement(Box<AST>, Box<AST>),
[INFO] [stdout]     |     -------------- ^^^^^^^^  ^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AST` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 230 -     WhileStatement(Box<AST>, Box<AST>),
[INFO] [stdout] 230 +     WhileStatement((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, `2`, and `3` are never read
[INFO] [stdout]    --> src/main.rs:231:18
[INFO] [stdout]     |
[INFO] [stdout] 231 |     ForStatement(Box<AST>, Box<AST>, Box<AST>, Box<AST>),
[INFO] [stdout]     |     ------------ ^^^^^^^^  ^^^^^^^^  ^^^^^^^^  ^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AST` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 231 -     ForStatement(Box<AST>, Box<AST>, Box<AST>, Box<AST>),
[INFO] [stdout] 231 +     ForStatement((), (), (), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/main.rs:232:17
[INFO] [stdout]     |
[INFO] [stdout] 232 |     IfStatement(Box<AST>, Box<AST>),
[INFO] [stdout]     |     ----------- ^^^^^^^^  ^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AST` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 232 -     IfStatement(Box<AST>, Box<AST>),
[INFO] [stdout] 232 +     IfStatement((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `String` is never constructed
[INFO] [stdout]    --> src/main.rs:502:5
[INFO] [stdout]     |
[INFO] [stdout] 498 | enum Value {
[INFO] [stdout]     |      ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 502 |     String(String)
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Value` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `truthy` is never used
[INFO] [stdout]    --> src/main.rs:527:8
[INFO] [stdout]     |
[INFO] [stdout] 509 | impl<'a> Interpreter<'a> {
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 527 |     fn truthy(v : Value) -> bool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `truthy` is never used
[INFO] [stdout]    --> src/main.rs:527:8
[INFO] [stdout]     |
[INFO] [stdout] 509 | impl<'a> Interpreter<'a> {
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 527 |     fn truthy(v : Value) -> bool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:737:13
[INFO] [stdout]     |
[INFO] [stdout] 737 |             std::io::stdout().flush();
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 737 |             let _ = std::io::stdout().flush();
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:737:13
[INFO] [stdout]     |
[INFO] [stdout] 737 |             std::io::stdout().flush();
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 737 |             let _ = std::io::stdout().flush();
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.12s
[INFO] running `Command { std: "docker" "inspect" "23f6de2dc40cde2df8aa9ae2364f46559efda0e2124b5a089f09fedb92c556dc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "23f6de2dc40cde2df8aa9ae2364f46559efda0e2124b5a089f09fedb92c556dc", kill_on_drop: false }`
[INFO] [stdout] 23f6de2dc40cde2df8aa9ae2364f46559efda0e2124b5a089f09fedb92c556dc
