[INFO] cloning repository https://github.com/Breijen/recolon
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Breijen/recolon" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBreijen%2Frecolon", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBreijen%2Frecolon'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0bf1e2601b95764e34ddcd057da0ae59fe4030e6
[INFO] checking Breijen/recolon against try#44f3504e96c944ae54fc72b5f5008f53f7eda001 for pr-136776
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBreijen%2Frecolon" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Breijen/recolon on toolchain 44f3504e96c944ae54fc72b5f5008f53f7eda001
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+44f3504e96c944ae54fc72b5f5008f53f7eda001" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Breijen/recolon
[INFO] finished tweaking git repo https://github.com/Breijen/recolon
[INFO] tweaked toml for git repo https://github.com/Breijen/recolon written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/Breijen/recolon 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" "+44f3504e96c944ae54fc72b5f5008f53f7eda001" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+44f3504e96c944ae54fc72b5f5008f53f7eda001" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9218272d641659240b266b2c3ab84d7d8ecdeac8866c816c351bb231a214b663
[INFO] running `Command { std: "docker" "start" "-a" "9218272d641659240b266b2c3ab84d7d8ecdeac8866c816c351bb231a214b663", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9218272d641659240b266b2c3ab84d7d8ecdeac8866c816c351bb231a214b663", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9218272d641659240b266b2c3ab84d7d8ecdeac8866c816c351bb231a214b663", kill_on_drop: false }`
[INFO] [stdout] 9218272d641659240b266b2c3ab84d7d8ecdeac8866c816c351bb231a214b663
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+44f3504e96c944ae54fc72b5f5008f53f7eda001" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 79cc097e8e6dcb2c6c6969a71f1d73d75f2134ea028982a8065361cae221a59a
[INFO] running `Command { std: "docker" "start" "-a" "79cc097e8e6dcb2c6c6969a71f1d73d75f2134ea028982a8065361cae221a59a", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling syn v2.0.73
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_core v0.9.0-alpha.2
[INFO] [stderr]     Checking rand_chacha v0.9.0-alpha.2
[INFO] [stderr]     Checking rand v0.9.0-alpha.2
[INFO] [stderr]     Checking recolon v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/parser.rs:536:9
[INFO] [stdout]     |
[INFO] [stdout] 536 |         while true {
[INFO] [stdout]     |         ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/parser.rs:536:9
[INFO] [stdout]     |
[INFO] [stdout] 536 |         while true {
[INFO] [stdout]     |         ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/expr.rs:69:33
[INFO] [stdout]    |
[INFO] [stdout] 69 |             Expr::Const { name, value } => format!("(const {})", name),
[INFO] [stdout]    |                                 ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/expr.rs:69:33
[INFO] [stdout]    |
[INFO] [stdout] 69 |             Expr::Const { name, value } => format!("(const {})", name),
[INFO] [stdout]    |                                 ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/expr.rs:452:13
[INFO] [stdout]     |
[INFO] [stdout] 452 |             _ => todo!()
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/expr.rs:452:13
[INFO] [stdout]     |
[INFO] [stdout] 77  |             Expr::Array { elements } => {
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 86  |             Expr::Assign { name, value } => {
[INFO] [stdout]     |             ---------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 120 |             Expr::FieldAccess { object, field } => {
[INFO] [stdout]     |             ----------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 151 |             Expr::FieldAssign { object, field, value } => {
[INFO] [stdout]     |             ------------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 452 |             _ => todo!()
[INFO] [stdout]     |             ^ ...and 12 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/expr.rs:452:13
[INFO] [stdout]     |
[INFO] [stdout] 452 |             _ => todo!()
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/expr.rs:452:13
[INFO] [stdout]     |
[INFO] [stdout] 77  |             Expr::Array { elements } => {
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 86  |             Expr::Assign { name, value } => {
[INFO] [stdout]     |             ---------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 120 |             Expr::FieldAccess { object, field } => {
[INFO] [stdout]     |             ----------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 151 |             Expr::FieldAssign { object, field, value } => {
[INFO] [stdout]     |             ------------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 452 |             _ => todo!()
[INFO] [stdout]     |             ^ ...and 12 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/interpreter.rs:233:17
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 _ => todo!()
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/interpreter.rs:233:17
[INFO] [stdout]     |
[INFO] [stdout] 68  |                 Stmt::Expression { expression} => {
[INFO] [stdout]     |                 ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 72  |                 Stmt::Log { expression } => {
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 76  |                 Stmt::Err { expression } => {
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 80  |                 Stmt::Print { expression } => {
[INFO] [stdout]     |                 -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 233 |                 _ => todo!()
[INFO] [stdout]     |                 ^ ...and 10 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/interpreter.rs:69:25
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     let value = expression.evaluate(&self.environment)?;
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `call_env`
[INFO] [stdout]    --> src/interpreter.rs:165:42
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     let fun_impl = move |call_env, args: &Vec<LiteralValue>| {
[INFO] [stdout]     |                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_call_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/interpreter.rs:233:17
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 _ => todo!()
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/interpreter.rs:233:17
[INFO] [stdout]     |
[INFO] [stdout] 68  |                 Stmt::Expression { expression} => {
[INFO] [stdout]     |                 ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 72  |                 Stmt::Log { expression } => {
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 76  |                 Stmt::Err { expression } => {
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 80  |                 Stmt::Print { expression } => {
[INFO] [stdout]     |                 -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 233 |                 _ => todo!()
[INFO] [stdout]     |                 ^ ...and 10 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/interpreter.rs:69:25
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     let value = expression.evaluate(&self.environment)?;
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `call_env`
[INFO] [stdout]    --> src/interpreter.rs:165:42
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     let fun_impl = move |call_env, args: &Vec<LiteralValue>| {
[INFO] [stdout]     |                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_call_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/literal_value.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |             _ => todo!()
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/literal_value.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |             LiteralValue::Number(x) => x.to_string(),
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] 74 |             LiteralValue::StringValue(x) => x.clone(),
[INFO] [stdout]    |             ---------------------------- matches some of the same values
[INFO] [stdout] 75 |             LiteralValue::True => "true".to_string(),
[INFO] [stdout]    |             ------------------ matches some of the same values
[INFO] [stdout] 76 |             LiteralValue::False => "false".to_string(),
[INFO] [stdout]    |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 85 |             _ => todo!()
[INFO] [stdout]    |             ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/literal_value.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |             _ => todo!()
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/literal_value.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |             LiteralValue::Number(x) => x.to_string(),
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] 74 |             LiteralValue::StringValue(x) => x.clone(),
[INFO] [stdout]    |             ---------------------------- matches some of the same values
[INFO] [stdout] 75 |             LiteralValue::True => "true".to_string(),
[INFO] [stdout]    |             ------------------ matches some of the same values
[INFO] [stdout] 76 |             LiteralValue::False => "false".to_string(),
[INFO] [stdout]    |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 85 |             _ => todo!()
[INFO] [stdout]    |             ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `IntValue` and `IdentifierValue` are never constructed
[INFO] [stdout]    --> src/scanner.rs:318:5
[INFO] [stdout]     |
[INFO] [stdout] 317 | pub enum LiteralValue {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] 318 |     IntValue(i64),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     IdentifierValue(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LiteralValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/scanner.rs:333:12
[INFO] [stdout]     |
[INFO] [stdout] 332 | impl Token {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] 333 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `paren` is never read
[INFO] [stdout]   --> src/expr.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Call { callee: Box<Expr>, paren: Token, arguments: Vec<Expr>,  }, // Function calls
[INFO] [stdout]    |     ----                      ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` 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 `MethodCall` is never constructed
[INFO] [stdout]   --> src/expr.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum Expr {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 25 |     MethodCall { object: Box<Expr>, method_name: String, arguments: Vec<Expr> },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print` is never used
[INFO] [stdout]    --> src/expr.rs:456:12
[INFO] [stdout]     |
[INFO] [stdout] 42  | impl Expr {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 456 |     pub fn print(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `keyword` is never read
[INFO] [stdout]   --> src/stmt.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     ReturnStmt {
[INFO] [stdout]    |     ---------- field in this variant
[INFO] [stdout] 29 |         keyword: Token,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Stmt` 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: method `to_string` is never used
[INFO] [stdout]   --> src/stmt.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl Stmt {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 47 |     pub fn to_string(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StructDefinition` is never constructed
[INFO] [stdout]   --> src/parser.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct StructDefinition {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StructDefinition` 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: struct `StructInstance` is never constructed
[INFO] [stdout]   --> src/parser.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct StructInstance {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StructInstance` 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: method `method_call` is never used
[INFO] [stdout]    --> src/parser.rs:574:8
[INFO] [stdout]     |
[INFO] [stdout] 29  | impl Parser {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 574 |     fn method_call(&mut self, name: String, object: Expr) -> Result<Expr, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_field` is never used
[INFO] [stdout]    --> src/literal_value.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 70  | impl LiteralValue {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn get_field(&self, field_name: &str) -> Option<LiteralValue> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `IdentifierValue` is never constructed
[INFO] [stdout]    --> src/scanner.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 317 | pub enum LiteralValue {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 321 |     IdentifierValue(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LiteralValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/scanner.rs:333:12
[INFO] [stdout]     |
[INFO] [stdout] 332 | impl Token {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] 333 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `paren` is never read
[INFO] [stdout]   --> src/expr.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Call { callee: Box<Expr>, paren: Token, arguments: Vec<Expr>,  }, // Function calls
[INFO] [stdout]    |     ----                      ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` 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 `MethodCall` is never constructed
[INFO] [stdout]   --> src/expr.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum Expr {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 25 |     MethodCall { object: Box<Expr>, method_name: String, arguments: Vec<Expr> },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print` is never used
[INFO] [stdout]    --> src/expr.rs:456:12
[INFO] [stdout]     |
[INFO] [stdout] 42  | impl Expr {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 456 |     pub fn print(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `keyword` is never read
[INFO] [stdout]   --> src/stmt.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     ReturnStmt {
[INFO] [stdout]    |     ---------- field in this variant
[INFO] [stdout] 29 |         keyword: Token,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Stmt` 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: struct `StructDefinition` is never constructed
[INFO] [stdout]   --> src/parser.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct StructDefinition {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StructDefinition` 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: struct `StructInstance` is never constructed
[INFO] [stdout]   --> src/parser.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct StructInstance {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StructInstance` 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: method `method_call` is never used
[INFO] [stdout]    --> src/parser.rs:574:8
[INFO] [stdout]     |
[INFO] [stdout] 29  | impl Parser {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 574 |     fn method_call(&mut self, name: String, object: Expr) -> Result<Expr, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_field` is never used
[INFO] [stdout]    --> src/literal_value.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 70  | impl LiteralValue {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn get_field(&self, field_name: &str) -> Option<LiteralValue> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.67s
[INFO] running `Command { std: "docker" "inspect" "79cc097e8e6dcb2c6c6969a71f1d73d75f2134ea028982a8065361cae221a59a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "79cc097e8e6dcb2c6c6969a71f1d73d75f2134ea028982a8065361cae221a59a", kill_on_drop: false }`
[INFO] [stdout] 79cc097e8e6dcb2c6c6969a71f1d73d75f2134ea028982a8065361cae221a59a
