[INFO] cloning repository https://github.com/brianmacdonald/lodestone
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/brianmacdonald/lodestone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrianmacdonald%2Flodestone", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrianmacdonald%2Flodestone'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 94e2a10695d072fc561a8d36421a31eff05552c1
[INFO] testing brianmacdonald/lodestone against 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrianmacdonald%2Flodestone" "/workspace/builds/worker-8/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/brianmacdonald/lodestone on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/brianmacdonald/lodestone
[INFO] finished tweaking git repo https://github.com/brianmacdonald/lodestone
[INFO] tweaked toml for git repo https://github.com/brianmacdonald/lodestone written to /workspace/builds/worker-8/source/Cargo.toml
[INFO] crate git repo https://github.com/brianmacdonald/lodestone already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9c43c5cf8121763ab8afddb17b56daae6e55bc59c8309b3919f1b2f8337b5732
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "9c43c5cf8121763ab8afddb17b56daae6e55bc59c8309b3919f1b2f8337b5732", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9c43c5cf8121763ab8afddb17b56daae6e55bc59c8309b3919f1b2f8337b5732", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9c43c5cf8121763ab8afddb17b56daae6e55bc59c8309b3919f1b2f8337b5732", kill_on_drop: false }`
[INFO] [stdout] 9c43c5cf8121763ab8afddb17b56daae6e55bc59c8309b3919f1b2f8337b5732
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4f063c91caa481ea3f598995aa34c36212122cfda1ca2b89f9f8e4f18d2c2258
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "4f063c91caa481ea3f598995aa34c36212122cfda1ca2b89f9f8e4f18d2c2258", kill_on_drop: false }`
[INFO] [stderr]    Compiling lodestone v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ast.rs:304:30
[INFO] [stdout]     |
[INFO] [stdout] 304 |     pub fn as_any(&self) -> &Any {
[INFO] [stdout]     |                              ^^^ help: use `dyn`: `dyn Any`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/parser.rs:97:64
[INFO] [stdout]    |
[INFO] [stdout] 97 |                 return self.parse_infix_expression(expression);;
[INFO] [stdout]    |                                                                ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/parser.rs:100:64
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 return self.parse_infix_expression(expression);;
[INFO] [stdout]     |                                                                ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::ast::NodeKind`
[INFO] [stdout]  --> src/object.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::ast::NodeKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/evaluator.rs:499:5
[INFO] [stdout]     |
[INFO] [stdout] 483 | /     match left {
[INFO] [stdout] 484 | |         ObjectKind::StringObj{value: l_value, ..} => {
[INFO] [stdout] 485 | |             match right {
[INFO] [stdout] 486 | |                 ObjectKind::StringObj{value: r_value, ..} => {
[INFO] [stdout] ...   |
[INFO] [stdout] 497 | |         }
[INFO] [stdout] 498 | |     }
[INFO] [stdout]     | |_____- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout] 499 |       panic!("Non-valid string input.");
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/ast.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |             _ => {
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/evaluator.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 _ => {
[INFO] [stdout]    |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/evaluator.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |         _ => {
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/ast.rs:68:47
[INFO] [stdout]    |
[INFO] [stdout] 68 |             ExpressionKind::Identifier{token, value} => {
[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: `operator`
[INFO] [stdout]   --> src/ast.rs:71:53
[INFO] [stdout]    |
[INFO] [stdout] 71 |             ExpressionKind::PrefixExpression{token, operator, right} => {
[INFO] [stdout]    |                                                     ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> src/ast.rs:71:63
[INFO] [stdout]    |
[INFO] [stdout] 71 |             ExpressionKind::PrefixExpression{token, operator, right} => {
[INFO] [stdout]    |                                                               ^^^^^ help: try ignoring the field: `right: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]   --> src/ast.rs:74:52
[INFO] [stdout]    |
[INFO] [stdout] 74 |             ExpressionKind::InfixExpression{token, left, operator, right} => {
[INFO] [stdout]    |                                                    ^^^^ help: try ignoring the field: `left: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operator`
[INFO] [stdout]   --> src/ast.rs:74:58
[INFO] [stdout]    |
[INFO] [stdout] 74 |             ExpressionKind::InfixExpression{token, left, operator, right} => {
[INFO] [stdout]    |                                                          ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> src/ast.rs:74:68
[INFO] [stdout]    |
[INFO] [stdout] 74 |             ExpressionKind::InfixExpression{token, left, operator, right} => {
[INFO] [stdout]    |                                                                    ^^^^^ help: try ignoring the field: `right: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]   --> src/ast.rs:77:49
[INFO] [stdout]    |
[INFO] [stdout] 77 |             ExpressionKind::IfExpression{token, condition, consequence, alternative} => {
[INFO] [stdout]    |                                                 ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `consequence`
[INFO] [stdout]   --> src/ast.rs:77:60
[INFO] [stdout]    |
[INFO] [stdout] 77 |             ExpressionKind::IfExpression{token, condition, consequence, alternative} => {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^ help: try ignoring the field: `consequence: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alternative`
[INFO] [stdout]   --> src/ast.rs:77:73
[INFO] [stdout]    |
[INFO] [stdout] 77 |             ExpressionKind::IfExpression{token, condition, consequence, alternative} => {
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^ help: try ignoring the field: `alternative: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/ast.rs:80:54
[INFO] [stdout]    |
[INFO] [stdout] 80 |             ExpressionKind::BooleanExpression{token, value} => {
[INFO] [stdout]    |                                                      ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parameters`
[INFO] [stdout]   --> src/ast.rs:83:52
[INFO] [stdout]    |
[INFO] [stdout] 83 |             ExpressionKind::FunctionLiteral{token, parameters, body} => {
[INFO] [stdout]    |                                                    ^^^^^^^^^^ help: try ignoring the field: `parameters: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]   --> src/ast.rs:83:64
[INFO] [stdout]    |
[INFO] [stdout] 83 |             ExpressionKind::FunctionLiteral{token, parameters, body} => {
[INFO] [stdout]    |                                                                ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function`
[INFO] [stdout]   --> src/ast.rs:86:51
[INFO] [stdout]    |
[INFO] [stdout] 86 |             ExpressionKind::CallExpression{token, function, arguments} => {
[INFO] [stdout]    |                                                   ^^^^^^^^ help: try ignoring the field: `function: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arguments`
[INFO] [stdout]   --> src/ast.rs:86:61
[INFO] [stdout]    |
[INFO] [stdout] 86 |             ExpressionKind::CallExpression{token, function, arguments} => {
[INFO] [stdout]    |                                                             ^^^^^^^^^ help: try ignoring the field: `arguments: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/ast.rs:89:50
[INFO] [stdout]    |
[INFO] [stdout] 89 |             ExpressionKind::StringLiteral{token, value} => {
[INFO] [stdout]    |                                                  ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/ast.rs:92:51
[INFO] [stdout]    |
[INFO] [stdout] 92 |             ExpressionKind::IntegerLiteral{token, value} => {
[INFO] [stdout]    |                                                   ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]   --> src/ast.rs:95:49
[INFO] [stdout]    |
[INFO] [stdout] 95 |             ExpressionKind::WhileLiteral{token, condition, consequence} => {
[INFO] [stdout]    |                                                 ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `consequence`
[INFO] [stdout]   --> src/ast.rs:95:60
[INFO] [stdout]    |
[INFO] [stdout] 95 |             ExpressionKind::WhileLiteral{token, condition, consequence} => {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^ help: try ignoring the field: `consequence: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elements`
[INFO] [stdout]   --> src/ast.rs:98:49
[INFO] [stdout]    |
[INFO] [stdout] 98 |             ExpressionKind::ArrayLiteral{token, elements} => {
[INFO] [stdout]    |                                                 ^^^^^^^^ help: try ignoring the field: `elements: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> src/ast.rs:101:52
[INFO] [stdout]     |
[INFO] [stdout] 101 |             ExpressionKind::IndexExpression{token, left, index} => {
[INFO] [stdout]     |                                                    ^^^^ help: try ignoring the field: `left: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/ast.rs:101:58
[INFO] [stdout]     |
[INFO] [stdout] 101 |             ExpressionKind::IndexExpression{token, left, index} => {
[INFO] [stdout]     |                                                          ^^^^^ help: try ignoring the field: `index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/ast.rs:108:40
[INFO] [stdout]     |
[INFO] [stdout] 108 |             ExpressionKind::Identifier{token, value} => {
[INFO] [stdout]     |                                        ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/ast.rs:111:46
[INFO] [stdout]     |
[INFO] [stdout] 111 |             ExpressionKind::PrefixExpression{token, operator, right} => {
[INFO] [stdout]     |                                              ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/ast.rs:123:45
[INFO] [stdout]     |
[INFO] [stdout] 123 |             ExpressionKind::InfixExpression{token, left, operator, right} => {
[INFO] [stdout]     |                                             ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/ast.rs:143:54
[INFO] [stdout]     |
[INFO] [stdout] 143 |             ExpressionKind::BooleanExpression{token, value} => {
[INFO] [stdout]     |                                                      ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/ast.rs:146:42
[INFO] [stdout]     |
[INFO] [stdout] 146 |             ExpressionKind::IfExpression{token, condition, consequence, alternative} => {
[INFO] [stdout]     |                                          ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/ast.rs:183:44
[INFO] [stdout]     |
[INFO] [stdout] 183 |             ExpressionKind::CallExpression{token, function, arguments} => {
[INFO] [stdout]     |                                            ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/ast.rs:196:43
[INFO] [stdout]     |
[INFO] [stdout] 196 |             ExpressionKind::StringLiteral{token, value} => {
[INFO] [stdout]     |                                           ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/ast.rs:199:51
[INFO] [stdout]     |
[INFO] [stdout] 199 |             ExpressionKind::IntegerLiteral{token, value} => {
[INFO] [stdout]     |                                                   ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/ast.rs:211:42
[INFO] [stdout]     |
[INFO] [stdout] 211 |             ExpressionKind::ArrayLiteral{token, elements} => {
[INFO] [stdout]     |                                          ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/ast.rs:223:45
[INFO] [stdout]     |
[INFO] [stdout] 223 |             ExpressionKind::IndexExpression{token, left, index} => {
[INFO] [stdout]     |                                             ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/ast.rs:284:48
[INFO] [stdout]     |
[INFO] [stdout] 284 |             StatementKind::ExpressionStatement{token, expression} => {
[INFO] [stdout]     |                                                ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/ast.rs:294:43
[INFO] [stdout]     |
[INFO] [stdout] 294 |             StatementKind::BlockStatement{token, statements} => {
[INFO] [stdout]     |                                           ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]   --> src/evaluator.rs:17:45
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 StatementKind::LetStatement{token, name, value} => {
[INFO] [stdout]    |                                             ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]   --> src/evaluator.rs:27:68
[INFO] [stdout]    |
[INFO] [stdout] 27 | ...                   ExpressionKind::Identifier{token, value: name_value} => {
[INFO] [stdout]    |                                                  ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]   --> src/evaluator.rs:54:52
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 StatementKind::ExpressionStatement{token, expression} => {
[INFO] [stdout]    |                                                    ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]   --> src/evaluator.rs:77:50
[INFO] [stdout]    |
[INFO] [stdout] 77 |                 ExpressionKind::PrefixExpression{token, operator, right} => {
[INFO] [stdout]    |                                                  ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/evaluator.rs:121:51
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 ExpressionKind::BooleanExpression{token, value} => {
[INFO] [stdout]     |                                                   ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/evaluator.rs:127:49
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 ExpressionKind::FunctionLiteral{token, parameters, body} => {
[INFO] [stdout]     |                                                 ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/evaluator.rs:156:48
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 ExpressionKind::IntegerLiteral{token, value} => {
[INFO] [stdout]     |                                                ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slots`
[INFO] [stdout]    --> src/evaluator.rs:303:29
[INFO] [stdout]     |
[INFO] [stdout] 303 |         ObjectKind::Integer{slots, value} => {
[INFO] [stdout]     |                             ^^^^^ help: try ignoring the field: `slots: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/evaluator.rs:303:36
[INFO] [stdout]     |
[INFO] [stdout] 303 |         ObjectKind::Integer{slots, value} => {
[INFO] [stdout]     |                                    ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lslots`
[INFO] [stdout]    --> src/evaluator.rs:316:36
[INFO] [stdout]     |
[INFO] [stdout] 316 |         ObjectKind::Integer{slots: lslots, value: lvalue} => {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lslots`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rslots`
[INFO] [stdout]    --> src/evaluator.rs:318:44
[INFO] [stdout]     |
[INFO] [stdout] 318 |                 ObjectKind::Integer{slots: rslots, value: rvalue} => {
[INFO] [stdout]     |                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_rslots`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/evaluator.rs:360:38
[INFO] [stdout]     |
[INFO] [stdout] 360 |         ExpressionKind::IfExpression{token, condition, consequence, alternative} => {
[INFO] [stdout]     |                                      ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/evaluator.rs:400:36
[INFO] [stdout]     |
[INFO] [stdout] 400 |         ExpressionKind::Identifier{token, value} => {
[INFO] [stdout]     |                                    ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/evaluator.rs:449:40
[INFO] [stdout]     |
[INFO] [stdout] 449 |             ExpressionKind::Identifier{token, value} => {
[INFO] [stdout]     |                                        ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `peek_token`
[INFO] [stdout]    --> src/parser.rs:281:13
[INFO] [stdout]     |
[INFO] [stdout] 281 |         let peek_token = self.peek_token.clone();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_peek_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/repl.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut program = p.parse_program();
[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/parser.rs:282:13
[INFO] [stdout]     |
[INFO] [stdout] 282 |         let mut prefix = self.prefix_parse_call(cur_token.clone());
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `token_literal`
[INFO] [stdout]   --> src/ast.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn token_literal(self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `string`
[INFO] [stdout]   --> src/ast.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn string(self) -> String {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `WhileLiteral`
[INFO] [stdout]   --> src/ast.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     WhileLiteral{token: token::Token, condition: Box<ExpressionKind>, consequence: Box<StatementKind>},
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `token_literal`
[INFO] [stdout]   --> src/ast.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn token_literal(self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `string`
[INFO] [stdout]    --> src/ast.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn string(self) -> String {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `token_literal`
[INFO] [stdout]    --> src/ast.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout] 251 |     fn token_literal(self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `string`
[INFO] [stdout]    --> src/ast.rs:255:8
[INFO] [stdout]     |
[INFO] [stdout] 255 |     fn string(self) -> String {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `as_any`
[INFO] [stdout]    --> src/ast.rs:304:12
[INFO] [stdout]     |
[INFO] [stdout] 304 |     pub fn as_any(&self) -> &Any {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `remove`
[INFO] [stdout]   --> src/environment.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn remove(&mut self, key: String) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `parse_call_arguments`
[INFO] [stdout]    --> src/parser.rs:485:8
[INFO] [stdout]     |
[INFO] [stdout] 485 |     fn parse_call_arguments(&mut self) -> Option<Vec<Option<Box<ExpressionKind>>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `prase_index_expression`
[INFO] [stdout]    --> src/parser.rs:534:8
[INFO] [stdout]     |
[INFO] [stdout] 534 |     fn prase_index_expression(&mut self, left: Box<ExpressionKind>) -> Option<Box<ExpressionKind>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `BuiltIn`
[INFO] [stdout]   --> src/object.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     BuiltIn,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Array`
[INFO] [stdout]   --> src/object.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Array{slots: HashMap<String, ObjectKind>, elements: Vec<ObjectKind>}
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_from_slots`
[INFO] [stdout]   --> src/object.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn get_from_slots(self, key: String) -> ObjectKind {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `remove_from_slots`
[INFO] [stdout]   --> src/object.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn remove_from_slots(&mut self, key: String) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_to_slots`
[INFO] [stdout]   --> src/object.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn add_to_slots(&mut self, key: String, value: ObjectKind) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `expressionKind` should have a snake case name
[INFO] [stdout]  --> src/ast.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     ExpressionNode{expressionKind: ExpressionKind},
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expression_kind`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `statementKind` should have a snake case name
[INFO] [stdout]  --> src/ast.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 |     StatementNode{statementKind: StatementKind},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^ help: convert the identifier to snake case: `statement_kind`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `argsVec` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:187:25
[INFO] [stdout]     |
[INFO] [stdout] 187 |                 let mut argsVec = vec![];
[INFO] [stdout]     |                         ^^^^^^^ help: convert the identifier to snake case: `args_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `elesVec` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:214:25
[INFO] [stdout]     |
[INFO] [stdout] 214 |                 let mut elesVec = vec![];
[INFO] [stdout]     |                         ^^^^^^^ help: convert the identifier to snake case: `eles_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `return_value:` in this pattern is redundant
[INFO] [stdout]   --> src/evaluator.rs:38:48
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 StatementKind::ReturnStatement{return_value: return_value, ..} => {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `return_value`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_shorthand_field_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `operator:` in this pattern is redundant
[INFO] [stdout]   --> src/evaluator.rs:94:49
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 ExpressionKind::InfixExpression{operator: operator, left: left, right: right, ..} => {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `operator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `left:` in this pattern is redundant
[INFO] [stdout]   --> src/evaluator.rs:94:69
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 ExpressionKind::InfixExpression{operator: operator, left: left, right: right, ..} => {
[INFO] [stdout]    |                                                                     ^^^^^^^^^^ help: use shorthand field pattern: `left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `right:` in this pattern is redundant
[INFO] [stdout]   --> src/evaluator.rs:94:81
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 ExpressionKind::InfixExpression{operator: operator, left: left, right: right, ..} => {
[INFO] [stdout]    |                                                                                 ^^^^^^^^^^^^ help: use shorthand field pattern: `right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `function:` in this pattern is redundant
[INFO] [stdout]    --> src/evaluator.rs:130:48
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 ExpressionKind::CallExpression{function: function, arguments, ..} => {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `value:` in this pattern is redundant
[INFO] [stdout]    --> src/evaluator.rs:153:47
[INFO] [stdout]     |
[INFO] [stdout] 153 |                 ExpressionKind::StringLiteral{value: value, ..} => {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^ help: use shorthand field pattern: `value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sNode` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let sNode = NodeKind::StatementNode{statementKind: s};
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case: `s_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `statements:` in this pattern is redundant
[INFO] [stdout]    --> src/evaluator.rs:271:39
[INFO] [stdout]     |
[INFO] [stdout] 271 |         StatementKind::BlockStatement{statements: statements, ..} => {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `statements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expressioNode` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:417:13
[INFO] [stdout]     |
[INFO] [stdout] 417 |         let expressioNode = NodeKind::ExpressionNode{expressionKind: *e};
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `expressio_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `parameters:` in this pattern is redundant
[INFO] [stdout]    --> src/evaluator.rs:432:30
[INFO] [stdout]     |
[INFO] [stdout] 432 |         ObjectKind::Function{parameters: parameters, body: body, env: env, ..} => {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `parameters`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `body:` in this pattern is redundant
[INFO] [stdout]    --> src/evaluator.rs:432:54
[INFO] [stdout]     |
[INFO] [stdout] 432 |         ObjectKind::Function{parameters: parameters, body: body, env: env, ..} => {
[INFO] [stdout]     |                                                      ^^^^^^^^^^ help: use shorthand field pattern: `body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `env:` in this pattern is redundant
[INFO] [stdout]    --> src/evaluator.rs:432:66
[INFO] [stdout]     |
[INFO] [stdout] 432 |         ObjectKind::Function{parameters: parameters, body: body, env: env, ..} => {
[INFO] [stdout]     |                                                                  ^^^^^^^^ help: use shorthand field pattern: `env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `argsUnwrapped` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:471:26
[INFO] [stdout]     |
[INFO] [stdout] 471 |                     Some(argsUnwrapped) => {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ help: convert the identifier to snake case: `args_unwrapped`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `value:` in this pattern is redundant
[INFO] [stdout]   --> src/object.rs:75:33
[INFO] [stdout]    |
[INFO] [stdout] 75 |             ObjectKind::Integer{value: value, ..} => {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^ help: use shorthand field pattern: `value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `message:` in this pattern is redundant
[INFO] [stdout]   --> src/object.rs:78:31
[INFO] [stdout]    |
[INFO] [stdout] 78 |             ObjectKind::Error{message: message, ..} => {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `value:` in this pattern is redundant
[INFO] [stdout]   --> src/object.rs:84:35
[INFO] [stdout]    |
[INFO] [stdout] 84 |             ObjectKind::StringObj{value: value, ..} => {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^ help: use shorthand field pattern: `value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 94 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1.46s
[INFO] running `Command { std: "docker" "inspect" "4f063c91caa481ea3f598995aa34c36212122cfda1ca2b89f9f8e4f18d2c2258", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4f063c91caa481ea3f598995aa34c36212122cfda1ca2b89f9f8e4f18d2c2258", kill_on_drop: false }`
[INFO] [stdout] 4f063c91caa481ea3f598995aa34c36212122cfda1ca2b89f9f8e4f18d2c2258
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 35c1fd5bcda20bd9cf0aa77fe11e9f5a6ac27f24071273e4bfdc1eae0224b8ff
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "35c1fd5bcda20bd9cf0aa77fe11e9f5a6ac27f24071273e4bfdc1eae0224b8ff", kill_on_drop: false }`
[INFO] [stderr]    Compiling lodestone v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ast.rs:304:30
[INFO] [stdout]     |
[INFO] [stdout] 304 |     pub fn as_any(&self) -> &Any {
[INFO] [stdout]     |                              ^^^ help: use `dyn`: `dyn Any`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/parser.rs:97:64
[INFO] [stdout]    |
[INFO] [stdout] 97 |                 return self.parse_infix_expression(expression);;
[INFO] [stdout]    |                                                                ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/parser.rs:100:64
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 return self.parse_infix_expression(expression);;
[INFO] [stdout]     |                                                                ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::ast::NodeKind`
[INFO] [stdout]  --> src/object.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::ast::NodeKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/evaluator.rs:499:5
[INFO] [stdout]     |
[INFO] [stdout] 483 | /     match left {
[INFO] [stdout] 484 | |         ObjectKind::StringObj{value: l_value, ..} => {
[INFO] [stdout] 485 | |             match right {
[INFO] [stdout] 486 | |                 ObjectKind::StringObj{value: r_value, ..} => {
[INFO] [stdout] ...   |
[INFO] [stdout] 497 | |         }
[INFO] [stdout] 498 | |     }
[INFO] [stdout]     | |_____- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout] 499 |       panic!("Non-valid string input.");
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/ast.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |             _ => {
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/evaluator.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 _ => {
[INFO] [stdout]    |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/evaluator.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |         _ => {
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/ast.rs:68:47
[INFO] [stdout]    |
[INFO] [stdout] 68 |             ExpressionKind::Identifier{token, value} => {
[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: `operator`
[INFO] [stdout]   --> src/ast.rs:71:53
[INFO] [stdout]    |
[INFO] [stdout] 71 |             ExpressionKind::PrefixExpression{token, operator, right} => {
[INFO] [stdout]    |                                                     ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> src/ast.rs:71:63
[INFO] [stdout]    |
[INFO] [stdout] 71 |             ExpressionKind::PrefixExpression{token, operator, right} => {
[INFO] [stdout]    |                                                               ^^^^^ help: try ignoring the field: `right: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]   --> src/ast.rs:74:52
[INFO] [stdout]    |
[INFO] [stdout] 74 |             ExpressionKind::InfixExpression{token, left, operator, right} => {
[INFO] [stdout]    |                                                    ^^^^ help: try ignoring the field: `left: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operator`
[INFO] [stdout]   --> src/ast.rs:74:58
[INFO] [stdout]    |
[INFO] [stdout] 74 |             ExpressionKind::InfixExpression{token, left, operator, right} => {
[INFO] [stdout]    |                                                          ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> src/ast.rs:74:68
[INFO] [stdout]    |
[INFO] [stdout] 74 |             ExpressionKind::InfixExpression{token, left, operator, right} => {
[INFO] [stdout]    |                                                                    ^^^^^ help: try ignoring the field: `right: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]   --> src/ast.rs:77:49
[INFO] [stdout]    |
[INFO] [stdout] 77 |             ExpressionKind::IfExpression{token, condition, consequence, alternative} => {
[INFO] [stdout]    |                                                 ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `consequence`
[INFO] [stdout]   --> src/ast.rs:77:60
[INFO] [stdout]    |
[INFO] [stdout] 77 |             ExpressionKind::IfExpression{token, condition, consequence, alternative} => {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^ help: try ignoring the field: `consequence: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alternative`
[INFO] [stdout]   --> src/ast.rs:77:73
[INFO] [stdout]    |
[INFO] [stdout] 77 |             ExpressionKind::IfExpression{token, condition, consequence, alternative} => {
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^ help: try ignoring the field: `alternative: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/ast.rs:80:54
[INFO] [stdout]    |
[INFO] [stdout] 80 |             ExpressionKind::BooleanExpression{token, value} => {
[INFO] [stdout]    |                                                      ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parameters`
[INFO] [stdout]   --> src/ast.rs:83:52
[INFO] [stdout]    |
[INFO] [stdout] 83 |             ExpressionKind::FunctionLiteral{token, parameters, body} => {
[INFO] [stdout]    |                                                    ^^^^^^^^^^ help: try ignoring the field: `parameters: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]   --> src/ast.rs:83:64
[INFO] [stdout]    |
[INFO] [stdout] 83 |             ExpressionKind::FunctionLiteral{token, parameters, body} => {
[INFO] [stdout]    |                                                                ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function`
[INFO] [stdout]   --> src/ast.rs:86:51
[INFO] [stdout]    |
[INFO] [stdout] 86 |             ExpressionKind::CallExpression{token, function, arguments} => {
[INFO] [stdout]    |                                                   ^^^^^^^^ help: try ignoring the field: `function: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arguments`
[INFO] [stdout]   --> src/ast.rs:86:61
[INFO] [stdout]    |
[INFO] [stdout] 86 |             ExpressionKind::CallExpression{token, function, arguments} => {
[INFO] [stdout]    |                                                             ^^^^^^^^^ help: try ignoring the field: `arguments: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/ast.rs:89:50
[INFO] [stdout]    |
[INFO] [stdout] 89 |             ExpressionKind::StringLiteral{token, value} => {
[INFO] [stdout]    |                                                  ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/ast.rs:92:51
[INFO] [stdout]    |
[INFO] [stdout] 92 |             ExpressionKind::IntegerLiteral{token, value} => {
[INFO] [stdout]    |                                                   ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]   --> src/ast.rs:95:49
[INFO] [stdout]    |
[INFO] [stdout] 95 |             ExpressionKind::WhileLiteral{token, condition, consequence} => {
[INFO] [stdout]    |                                                 ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `consequence`
[INFO] [stdout]   --> src/ast.rs:95:60
[INFO] [stdout]    |
[INFO] [stdout] 95 |             ExpressionKind::WhileLiteral{token, condition, consequence} => {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^ help: try ignoring the field: `consequence: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elements`
[INFO] [stdout]   --> src/ast.rs:98:49
[INFO] [stdout]    |
[INFO] [stdout] 98 |             ExpressionKind::ArrayLiteral{token, elements} => {
[INFO] [stdout]    |                                                 ^^^^^^^^ help: try ignoring the field: `elements: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> src/ast.rs:101:52
[INFO] [stdout]     |
[INFO] [stdout] 101 |             ExpressionKind::IndexExpression{token, left, index} => {
[INFO] [stdout]     |                                                    ^^^^ help: try ignoring the field: `left: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/ast.rs:101:58
[INFO] [stdout]     |
[INFO] [stdout] 101 |             ExpressionKind::IndexExpression{token, left, index} => {
[INFO] [stdout]     |                                                          ^^^^^ help: try ignoring the field: `index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/ast.rs:108:40
[INFO] [stdout]     |
[INFO] [stdout] 108 |             ExpressionKind::Identifier{token, value} => {
[INFO] [stdout]     |                                        ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/ast.rs:111:46
[INFO] [stdout]     |
[INFO] [stdout] 111 |             ExpressionKind::PrefixExpression{token, operator, right} => {
[INFO] [stdout]     |                                              ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/ast.rs:123:45
[INFO] [stdout]     |
[INFO] [stdout] 123 |             ExpressionKind::InfixExpression{token, left, operator, right} => {
[INFO] [stdout]     |                                             ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/ast.rs:143:54
[INFO] [stdout]     |
[INFO] [stdout] 143 |             ExpressionKind::BooleanExpression{token, value} => {
[INFO] [stdout]     |                                                      ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/ast.rs:146:42
[INFO] [stdout]     |
[INFO] [stdout] 146 |             ExpressionKind::IfExpression{token, condition, consequence, alternative} => {
[INFO] [stdout]     |                                          ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/ast.rs:183:44
[INFO] [stdout]     |
[INFO] [stdout] 183 |             ExpressionKind::CallExpression{token, function, arguments} => {
[INFO] [stdout]     |                                            ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/ast.rs:196:43
[INFO] [stdout]     |
[INFO] [stdout] 196 |             ExpressionKind::StringLiteral{token, value} => {
[INFO] [stdout]     |                                           ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/ast.rs:199:51
[INFO] [stdout]     |
[INFO] [stdout] 199 |             ExpressionKind::IntegerLiteral{token, value} => {
[INFO] [stdout]     |                                                   ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/ast.rs:211:42
[INFO] [stdout]     |
[INFO] [stdout] 211 |             ExpressionKind::ArrayLiteral{token, elements} => {
[INFO] [stdout]     |                                          ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/ast.rs:223:45
[INFO] [stdout]     |
[INFO] [stdout] 223 |             ExpressionKind::IndexExpression{token, left, index} => {
[INFO] [stdout]     |                                             ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/ast.rs:284:48
[INFO] [stdout]     |
[INFO] [stdout] 284 |             StatementKind::ExpressionStatement{token, expression} => {
[INFO] [stdout]     |                                                ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/ast.rs:294:43
[INFO] [stdout]     |
[INFO] [stdout] 294 |             StatementKind::BlockStatement{token, statements} => {
[INFO] [stdout]     |                                           ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]   --> src/evaluator.rs:17:45
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 StatementKind::LetStatement{token, name, value} => {
[INFO] [stdout]    |                                             ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]   --> src/evaluator.rs:27:68
[INFO] [stdout]    |
[INFO] [stdout] 27 | ...                   ExpressionKind::Identifier{token, value: name_value} => {
[INFO] [stdout]    |                                                  ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]   --> src/evaluator.rs:54:52
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 StatementKind::ExpressionStatement{token, expression} => {
[INFO] [stdout]    |                                                    ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]   --> src/evaluator.rs:77:50
[INFO] [stdout]    |
[INFO] [stdout] 77 |                 ExpressionKind::PrefixExpression{token, operator, right} => {
[INFO] [stdout]    |                                                  ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/evaluator.rs:121:51
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 ExpressionKind::BooleanExpression{token, value} => {
[INFO] [stdout]     |                                                   ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/evaluator.rs:127:49
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 ExpressionKind::FunctionLiteral{token, parameters, body} => {
[INFO] [stdout]     |                                                 ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/evaluator.rs:156:48
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 ExpressionKind::IntegerLiteral{token, value} => {
[INFO] [stdout]     |                                                ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slots`
[INFO] [stdout]    --> src/evaluator.rs:303:29
[INFO] [stdout]     |
[INFO] [stdout] 303 |         ObjectKind::Integer{slots, value} => {
[INFO] [stdout]     |                             ^^^^^ help: try ignoring the field: `slots: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/evaluator.rs:303:36
[INFO] [stdout]     |
[INFO] [stdout] 303 |         ObjectKind::Integer{slots, value} => {
[INFO] [stdout]     |                                    ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lslots`
[INFO] [stdout]    --> src/evaluator.rs:316:36
[INFO] [stdout]     |
[INFO] [stdout] 316 |         ObjectKind::Integer{slots: lslots, value: lvalue} => {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lslots`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rslots`
[INFO] [stdout]    --> src/evaluator.rs:318:44
[INFO] [stdout]     |
[INFO] [stdout] 318 |                 ObjectKind::Integer{slots: rslots, value: rvalue} => {
[INFO] [stdout]     |                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_rslots`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/evaluator.rs:360:38
[INFO] [stdout]     |
[INFO] [stdout] 360 |         ExpressionKind::IfExpression{token, condition, consequence, alternative} => {
[INFO] [stdout]     |                                      ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/evaluator.rs:400:36
[INFO] [stdout]     |
[INFO] [stdout] 400 |         ExpressionKind::Identifier{token, value} => {
[INFO] [stdout]     |                                    ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/evaluator.rs:449:40
[INFO] [stdout]     |
[INFO] [stdout] 449 |             ExpressionKind::Identifier{token, value} => {
[INFO] [stdout]     |                                        ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `peek_token`
[INFO] [stdout]    --> src/parser.rs:281:13
[INFO] [stdout]     |
[INFO] [stdout] 281 |         let peek_token = self.peek_token.clone();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_peek_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/repl.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut program = p.parse_program();
[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/parser.rs:282:13
[INFO] [stdout]     |
[INFO] [stdout] 282 |         let mut prefix = self.prefix_parse_call(cur_token.clone());
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `token_literal`
[INFO] [stdout]   --> src/ast.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn token_literal(self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `string`
[INFO] [stdout]   --> src/ast.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn string(self) -> String {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `WhileLiteral`
[INFO] [stdout]   --> src/ast.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     WhileLiteral{token: token::Token, condition: Box<ExpressionKind>, consequence: Box<StatementKind>},
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `token_literal`
[INFO] [stdout]   --> src/ast.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn token_literal(self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `token_literal`
[INFO] [stdout]    --> src/ast.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout] 251 |     fn token_literal(self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `as_any`
[INFO] [stdout]    --> src/ast.rs:304:12
[INFO] [stdout]     |
[INFO] [stdout] 304 |     pub fn as_any(&self) -> &Any {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `remove`
[INFO] [stdout]   --> src/environment.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn remove(&mut self, key: String) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `parse_call_arguments`
[INFO] [stdout]    --> src/parser.rs:485:8
[INFO] [stdout]     |
[INFO] [stdout] 485 |     fn parse_call_arguments(&mut self) -> Option<Vec<Option<Box<ExpressionKind>>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `prase_index_expression`
[INFO] [stdout]    --> src/parser.rs:534:8
[INFO] [stdout]     |
[INFO] [stdout] 534 |     fn prase_index_expression(&mut self, left: Box<ExpressionKind>) -> Option<Box<ExpressionKind>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `BuiltIn`
[INFO] [stdout]   --> src/object.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     BuiltIn,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Array`
[INFO] [stdout]   --> src/object.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Array{slots: HashMap<String, ObjectKind>, elements: Vec<ObjectKind>}
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_from_slots`
[INFO] [stdout]   --> src/object.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn get_from_slots(self, key: String) -> ObjectKind {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `remove_from_slots`
[INFO] [stdout]   --> src/object.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn remove_from_slots(&mut self, key: String) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_to_slots`
[INFO] [stdout]   --> src/object.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn add_to_slots(&mut self, key: String, value: ObjectKind) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added.
[INFO] [stdout]    --> src/lexer.rs:487:32
[INFO] [stdout]     |
[INFO] [stdout] 487 |         for output in expected.into_iter() {
[INFO] [stdout]     |                                ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #66145 <https://github.com/rust-lang/rust/issues/66145>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `expressionKind` should have a snake case name
[INFO] [stdout]  --> src/ast.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     ExpressionNode{expressionKind: ExpressionKind},
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expression_kind`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `statementKind` should have a snake case name
[INFO] [stdout]  --> src/ast.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 |     StatementNode{statementKind: StatementKind},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^ help: convert the identifier to snake case: `statement_kind`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `argsVec` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:187:25
[INFO] [stdout]     |
[INFO] [stdout] 187 |                 let mut argsVec = vec![];
[INFO] [stdout]     |                         ^^^^^^^ help: convert the identifier to snake case: `args_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `elesVec` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:214:25
[INFO] [stdout]     |
[INFO] [stdout] 214 |                 let mut elesVec = vec![];
[INFO] [stdout]     |                         ^^^^^^^ help: convert the identifier to snake case: `eles_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `return_value:` in this pattern is redundant
[INFO] [stdout]   --> src/evaluator.rs:38:48
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 StatementKind::ReturnStatement{return_value: return_value, ..} => {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `return_value`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_shorthand_field_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `operator:` in this pattern is redundant
[INFO] [stdout]   --> src/evaluator.rs:94:49
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 ExpressionKind::InfixExpression{operator: operator, left: left, right: right, ..} => {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `operator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `left:` in this pattern is redundant
[INFO] [stdout]   --> src/evaluator.rs:94:69
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 ExpressionKind::InfixExpression{operator: operator, left: left, right: right, ..} => {
[INFO] [stdout]    |                                                                     ^^^^^^^^^^ help: use shorthand field pattern: `left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `right:` in this pattern is redundant
[INFO] [stdout]   --> src/evaluator.rs:94:81
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 ExpressionKind::InfixExpression{operator: operator, left: left, right: right, ..} => {
[INFO] [stdout]    |                                                                                 ^^^^^^^^^^^^ help: use shorthand field pattern: `right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `function:` in this pattern is redundant
[INFO] [stdout]    --> src/evaluator.rs:130:48
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 ExpressionKind::CallExpression{function: function, arguments, ..} => {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `value:` in this pattern is redundant
[INFO] [stdout]    --> src/evaluator.rs:153:47
[INFO] [stdout]     |
[INFO] [stdout] 153 |                 ExpressionKind::StringLiteral{value: value, ..} => {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^ help: use shorthand field pattern: `value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sNode` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let sNode = NodeKind::StatementNode{statementKind: s};
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case: `s_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `statements:` in this pattern is redundant
[INFO] [stdout]    --> src/evaluator.rs:271:39
[INFO] [stdout]     |
[INFO] [stdout] 271 |         StatementKind::BlockStatement{statements: statements, ..} => {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `statements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expressioNode` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:417:13
[INFO] [stdout]     |
[INFO] [stdout] 417 |         let expressioNode = NodeKind::ExpressionNode{expressionKind: *e};
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `expressio_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `parameters:` in this pattern is redundant
[INFO] [stdout]    --> src/evaluator.rs:432:30
[INFO] [stdout]     |
[INFO] [stdout] 432 |         ObjectKind::Function{parameters: parameters, body: body, env: env, ..} => {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `parameters`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `body:` in this pattern is redundant
[INFO] [stdout]    --> src/evaluator.rs:432:54
[INFO] [stdout]     |
[INFO] [stdout] 432 |         ObjectKind::Function{parameters: parameters, body: body, env: env, ..} => {
[INFO] [stdout]     |                                                      ^^^^^^^^^^ help: use shorthand field pattern: `body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `env:` in this pattern is redundant
[INFO] [stdout]    --> src/evaluator.rs:432:66
[INFO] [stdout]     |
[INFO] [stdout] 432 |         ObjectKind::Function{parameters: parameters, body: body, env: env, ..} => {
[INFO] [stdout]     |                                                                  ^^^^^^^^ help: use shorthand field pattern: `env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `argsUnwrapped` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:471:26
[INFO] [stdout]     |
[INFO] [stdout] 471 |                     Some(argsUnwrapped) => {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ help: convert the identifier to snake case: `args_unwrapped`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `value:` in this pattern is redundant
[INFO] [stdout]   --> src/object.rs:75:33
[INFO] [stdout]    |
[INFO] [stdout] 75 |             ObjectKind::Integer{value: value, ..} => {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^ help: use shorthand field pattern: `value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `message:` in this pattern is redundant
[INFO] [stdout]   --> src/object.rs:78:31
[INFO] [stdout]    |
[INFO] [stdout] 78 |             ObjectKind::Error{message: message, ..} => {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `value:` in this pattern is redundant
[INFO] [stdout]   --> src/object.rs:84:35
[INFO] [stdout]    |
[INFO] [stdout] 84 |             ObjectKind::StringObj{value: value, ..} => {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^ help: use shorthand field pattern: `value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 93 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.32s
[INFO] running `Command { std: "docker" "inspect" "35c1fd5bcda20bd9cf0aa77fe11e9f5a6ac27f24071273e4bfdc1eae0224b8ff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "35c1fd5bcda20bd9cf0aa77fe11e9f5a6ac27f24071273e4bfdc1eae0224b8ff", kill_on_drop: false }`
[INFO] [stdout] 35c1fd5bcda20bd9cf0aa77fe11e9f5a6ac27f24071273e4bfdc1eae0224b8ff
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c367ccb05b1ddfd41dadadc75f96596d3c93f3b73f6447a3b1d9dac627d7b699
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "c367ccb05b1ddfd41dadadc75f96596d3c93f3b73f6447a3b1d9dac627d7b699", kill_on_drop: false }`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ast.rs:304:30
[INFO] [stderr]     |
[INFO] [stderr] 304 |     pub fn as_any(&self) -> &Any {
[INFO] [stderr]     |                              ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> src/parser.rs:97:64
[INFO] [stderr]    |
[INFO] [stderr] 97 |                 return self.parse_infix_expression(expression);;
[INFO] [stderr]    |                                                                ^ help: remove this semicolon
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/parser.rs:100:64
[INFO] [stderr]     |
[INFO] [stderr] 100 |                 return self.parse_infix_expression(expression);;
[INFO] [stderr]     |                                                                ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::ast::NodeKind`
[INFO] [stderr]  --> src/object.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use super::ast::NodeKind;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable statement
[INFO] [stderr]    --> src/evaluator.rs:499:5
[INFO] [stderr]     |
[INFO] [stderr] 483 | /     match left {
[INFO] [stderr] 484 | |         ObjectKind::StringObj{value: l_value, ..} => {
[INFO] [stderr] 485 | |             match right {
[INFO] [stderr] 486 | |                 ObjectKind::StringObj{value: r_value, ..} => {
[INFO] [stderr] ...   |
[INFO] [stderr] 497 | |         }
[INFO] [stderr] 498 | |     }
[INFO] [stderr]     | |_____- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stderr] 499 |       panic!("Non-valid string input.");
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/ast.rs:42:13
[INFO] [stderr]    |
[INFO] [stderr] 42 |             _ => {
[INFO] [stderr]    |             ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/evaluator.rs:67:17
[INFO] [stderr]    |
[INFO] [stderr] 67 |                 _ => {
[INFO] [stderr]    |                 ^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/evaluator.rs:164:9
[INFO] [stderr]     |
[INFO] [stderr] 164 |         _ => {
[INFO] [stderr]     |         ^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> src/ast.rs:68:47
[INFO] [stderr]    |
[INFO] [stderr] 68 |             ExpressionKind::Identifier{token, value} => {
[INFO] [stderr]    |                                               ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `operator`
[INFO] [stderr]   --> src/ast.rs:71:53
[INFO] [stderr]    |
[INFO] [stderr] 71 |             ExpressionKind::PrefixExpression{token, operator, right} => {
[INFO] [stderr]    |                                                     ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `right`
[INFO] [stderr]   --> src/ast.rs:71:63
[INFO] [stderr]    |
[INFO] [stderr] 71 |             ExpressionKind::PrefixExpression{token, operator, right} => {
[INFO] [stderr]    |                                                               ^^^^^ help: try ignoring the field: `right: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `left`
[INFO] [stderr]   --> src/ast.rs:74:52
[INFO] [stderr]    |
[INFO] [stderr] 74 |             ExpressionKind::InfixExpression{token, left, operator, right} => {
[INFO] [stderr]    |                                                    ^^^^ help: try ignoring the field: `left: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `operator`
[INFO] [stderr]   --> src/ast.rs:74:58
[INFO] [stderr]    |
[INFO] [stderr] 74 |             ExpressionKind::InfixExpression{token, left, operator, right} => {
[INFO] [stderr]    |                                                          ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `right`
[INFO] [stderr]   --> src/ast.rs:74:68
[INFO] [stderr]    |
[INFO] [stderr] 74 |             ExpressionKind::InfixExpression{token, left, operator, right} => {
[INFO] [stderr]    |                                                                    ^^^^^ help: try ignoring the field: `right: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `condition`
[INFO] [stderr]   --> src/ast.rs:77:49
[INFO] [stderr]    |
[INFO] [stderr] 77 |             ExpressionKind::IfExpression{token, condition, consequence, alternative} => {
[INFO] [stderr]    |                                                 ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `consequence`
[INFO] [stderr]   --> src/ast.rs:77:60
[INFO] [stderr]    |
[INFO] [stderr] 77 |             ExpressionKind::IfExpression{token, condition, consequence, alternative} => {
[INFO] [stderr]    |                                                            ^^^^^^^^^^^ help: try ignoring the field: `consequence: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `alternative`
[INFO] [stderr]   --> src/ast.rs:77:73
[INFO] [stderr]    |
[INFO] [stderr] 77 |             ExpressionKind::IfExpression{token, condition, consequence, alternative} => {
[INFO] [stderr]    |                                                                         ^^^^^^^^^^^ help: try ignoring the field: `alternative: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> src/ast.rs:80:54
[INFO] [stderr]    |
[INFO] [stderr] 80 |             ExpressionKind::BooleanExpression{token, value} => {
[INFO] [stderr]    |                                                      ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parameters`
[INFO] [stderr]   --> src/ast.rs:83:52
[INFO] [stderr]    |
[INFO] [stderr] 83 |             ExpressionKind::FunctionLiteral{token, parameters, body} => {
[INFO] [stderr]    |                                                    ^^^^^^^^^^ help: try ignoring the field: `parameters: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `body`
[INFO] [stderr]   --> src/ast.rs:83:64
[INFO] [stderr]    |
[INFO] [stderr] 83 |             ExpressionKind::FunctionLiteral{token, parameters, body} => {
[INFO] [stderr]    |                                                                ^^^^ help: try ignoring the field: `body: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `function`
[INFO] [stderr]   --> src/ast.rs:86:51
[INFO] [stderr]    |
[INFO] [stderr] 86 |             ExpressionKind::CallExpression{token, function, arguments} => {
[INFO] [stderr]    |                                                   ^^^^^^^^ help: try ignoring the field: `function: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `arguments`
[INFO] [stderr]   --> src/ast.rs:86:61
[INFO] [stderr]    |
[INFO] [stderr] 86 |             ExpressionKind::CallExpression{token, function, arguments} => {
[INFO] [stderr]    |                                                             ^^^^^^^^^ help: try ignoring the field: `arguments: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> src/ast.rs:89:50
[INFO] [stderr]    |
[INFO] [stderr] 89 |             ExpressionKind::StringLiteral{token, value} => {
[INFO] [stderr]    |                                                  ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> src/ast.rs:92:51
[INFO] [stderr]    |
[INFO] [stderr] 92 |             ExpressionKind::IntegerLiteral{token, value} => {
[INFO] [stderr]    |                                                   ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `condition`
[INFO] [stderr]   --> src/ast.rs:95:49
[INFO] [stderr]    |
[INFO] [stderr] 95 |             ExpressionKind::WhileLiteral{token, condition, consequence} => {
[INFO] [stderr]    |                                                 ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `consequence`
[INFO] [stderr]   --> src/ast.rs:95:60
[INFO] [stderr]    |
[INFO] [stderr] 95 |             ExpressionKind::WhileLiteral{token, condition, consequence} => {
[INFO] [stderr]    |                                                            ^^^^^^^^^^^ help: try ignoring the field: `consequence: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `elements`
[INFO] [stderr]   --> src/ast.rs:98:49
[INFO] [stderr]    |
[INFO] [stderr] 98 |             ExpressionKind::ArrayLiteral{token, elements} => {
[INFO] [stderr]    |                                                 ^^^^^^^^ help: try ignoring the field: `elements: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `left`
[INFO] [stderr]    --> src/ast.rs:101:52
[INFO] [stderr]     |
[INFO] [stderr] 101 |             ExpressionKind::IndexExpression{token, left, index} => {
[INFO] [stderr]     |                                                    ^^^^ help: try ignoring the field: `left: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> src/ast.rs:101:58
[INFO] [stderr]     |
[INFO] [stderr] 101 |             ExpressionKind::IndexExpression{token, left, index} => {
[INFO] [stderr]     |                                                          ^^^^^ help: try ignoring the field: `index: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/ast.rs:108:40
[INFO] [stderr]     |
[INFO] [stderr] 108 |             ExpressionKind::Identifier{token, value} => {
[INFO] [stderr]     |                                        ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/ast.rs:111:46
[INFO] [stderr]     |
[INFO] [stderr] 111 |             ExpressionKind::PrefixExpression{token, operator, right} => {
[INFO] [stderr]     |                                              ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/ast.rs:123:45
[INFO] [stderr]     |
[INFO] [stderr] 123 |             ExpressionKind::InfixExpression{token, left, operator, right} => {
[INFO] [stderr]     |                                             ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/ast.rs:143:54
[INFO] [stderr]     |
[INFO] [stderr] 143 |             ExpressionKind::BooleanExpression{token, value} => {
[INFO] [stderr]     |                                                      ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/ast.rs:146:42
[INFO] [stderr]     |
[INFO] [stderr] 146 |             ExpressionKind::IfExpression{token, condition, consequence, alternative} => {
[INFO] [stderr]     |                                          ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/ast.rs:183:44
[INFO] [stderr]     |
[INFO] [stderr] 183 |             ExpressionKind::CallExpression{token, function, arguments} => {
[INFO] [stderr]     |                                            ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/ast.rs:196:43
[INFO] [stderr]     |
[INFO] [stderr] 196 |             ExpressionKind::StringLiteral{token, value} => {
[INFO] [stderr]     |                                           ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/ast.rs:199:51
[INFO] [stderr]     |
[INFO] [stderr] 199 |             ExpressionKind::IntegerLiteral{token, value} => {
[INFO] [stderr]     |                                                   ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/ast.rs:211:42
[INFO] [stderr]     |
[INFO] [stderr] 211 |             ExpressionKind::ArrayLiteral{token, elements} => {
[INFO] [stderr]     |                                          ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/ast.rs:223:45
[INFO] [stderr]     |
[INFO] [stderr] 223 |             ExpressionKind::IndexExpression{token, left, index} => {
[INFO] [stderr]     |                                             ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/ast.rs:284:48
[INFO] [stderr]     |
[INFO] [stderr] 284 |             StatementKind::ExpressionStatement{token, expression} => {
[INFO] [stderr]     |                                                ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/ast.rs:294:43
[INFO] [stderr]     |
[INFO] [stderr] 294 |             StatementKind::BlockStatement{token, statements} => {
[INFO] [stderr]     |                                           ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]   --> src/evaluator.rs:17:45
[INFO] [stderr]    |
[INFO] [stderr] 17 |                 StatementKind::LetStatement{token, name, value} => {
[INFO] [stderr]    |                                             ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]   --> src/evaluator.rs:27:68
[INFO] [stderr]    |
[INFO] [stderr] 27 | ...                   ExpressionKind::Identifier{token, value: name_value} => {
[INFO] [stderr]    |                                                  ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]   --> src/evaluator.rs:54:52
[INFO] [stderr]    |
[INFO] [stderr] 54 |                 StatementKind::ExpressionStatement{token, expression} => {
[INFO] [stderr]    |                                                    ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]   --> src/evaluator.rs:77:50
[INFO] [stderr]    |
[INFO] [stderr] 77 |                 ExpressionKind::PrefixExpression{token, operator, right} => {
[INFO] [stderr]    |                                                  ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/evaluator.rs:121:51
[INFO] [stderr]     |
[INFO] [stderr] 121 |                 ExpressionKind::BooleanExpression{token, value} => {
[INFO] [stderr]     |                                                   ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/evaluator.rs:127:49
[INFO] [stderr]     |
[INFO] [stderr] 127 |                 ExpressionKind::FunctionLiteral{token, parameters, body} => {
[INFO] [stderr]     |                                                 ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/evaluator.rs:156:48
[INFO] [stderr]     |
[INFO] [stderr] 156 |                 ExpressionKind::IntegerLiteral{token, value} => {
[INFO] [stderr]     |                                                ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `slots`
[INFO] [stderr]    --> src/evaluator.rs:303:29
[INFO] [stderr]     |
[INFO] [stderr] 303 |         ObjectKind::Integer{slots, value} => {
[INFO] [stderr]     |                             ^^^^^ help: try ignoring the field: `slots: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/evaluator.rs:303:36
[INFO] [stderr]     |
[INFO] [stderr] 303 |         ObjectKind::Integer{slots, value} => {
[INFO] [stderr]     |                                    ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lslots`
[INFO] [stderr]    --> src/evaluator.rs:316:36
[INFO] [stderr]     |
[INFO] [stderr] 316 |         ObjectKind::Integer{slots: lslots, value: lvalue} => {
[INFO] [stderr]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lslots`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rslots`
[INFO] [stderr]    --> src/evaluator.rs:318:44
[INFO] [stderr]     |
[INFO] [stderr] 318 |                 ObjectKind::Integer{slots: rslots, value: rvalue} => {
[INFO] [stderr]     |                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_rslots`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/evaluator.rs:360:38
[INFO] [stderr]     |
[INFO] [stderr] 360 |         ExpressionKind::IfExpression{token, condition, consequence, alternative} => {
[INFO] [stderr]     |                                      ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/evaluator.rs:400:36
[INFO] [stderr]     |
[INFO] [stderr] 400 |         ExpressionKind::Identifier{token, value} => {
[INFO] [stderr]     |                                    ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/evaluator.rs:449:40
[INFO] [stderr]     |
[INFO] [stderr] 449 |             ExpressionKind::Identifier{token, value} => {
[INFO] [stderr]     |                                        ^^^^^ help: try ignoring the field: `token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `peek_token`
[INFO] [stderr]    --> src/parser.rs:281:13
[INFO] [stderr]     |
[INFO] [stderr] 281 |         let peek_token = self.peek_token.clone();
[INFO] [stderr]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_peek_token`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/repl.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 |     let mut program = p.parse_program();
[INFO] [stderr]    |         ----^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/parser.rs:282:13
[INFO] [stderr]     |
[INFO] [stderr] 282 |         let mut prefix = self.prefix_parse_call(cur_token.clone());
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `token_literal`
[INFO] [stderr]   --> src/ast.rs:13:8
[INFO] [stderr]    |
[INFO] [stderr] 13 |     fn token_literal(self) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `string`
[INFO] [stderr]   --> src/ast.rs:27:8
[INFO] [stderr]    |
[INFO] [stderr] 27 |     fn string(self) -> String {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `WhileLiteral`
[INFO] [stderr]   --> src/ast.rs:60:5
[INFO] [stderr]    |
[INFO] [stderr] 60 |     WhileLiteral{token: token::Token, condition: Box<ExpressionKind>, consequence: Box<StatementKind>},
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `token_literal`
[INFO] [stderr]   --> src/ast.rs:66:8
[INFO] [stderr]    |
[INFO] [stderr] 66 |     fn token_literal(self) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `token_literal`
[INFO] [stderr]    --> src/ast.rs:251:8
[INFO] [stderr]     |
[INFO] [stderr] 251 |     fn token_literal(self) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `as_any`
[INFO] [stderr]    --> src/ast.rs:304:12
[INFO] [stderr]     |
[INFO] [stderr] 304 |     pub fn as_any(&self) -> &Any {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `remove`
[INFO] [stderr]   --> src/environment.rs:21:12
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub fn remove(&mut self, key: String) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `parse_call_arguments`
[INFO] [stderr]    --> src/parser.rs:485:8
[INFO] [stderr]     |
[INFO] [stderr] 485 |     fn parse_call_arguments(&mut self) -> Option<Vec<Option<Box<ExpressionKind>>>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `prase_index_expression`
[INFO] [stderr]    --> src/parser.rs:534:8
[INFO] [stderr]     |
[INFO] [stderr] 534 |     fn prase_index_expression(&mut self, left: Box<ExpressionKind>) -> Option<Box<ExpressionKind>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `BuiltIn`
[INFO] [stderr]   --> src/object.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 |     BuiltIn,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Array`
[INFO] [stderr]   --> src/object.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     Array{slots: HashMap<String, ObjectKind>, elements: Vec<ObjectKind>}
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `get_from_slots`
[INFO] [stderr]   --> src/object.rs:30:8
[INFO] [stderr]    |
[INFO] [stderr] 30 |     fn get_from_slots(self, key: String) -> ObjectKind {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `remove_from_slots`
[INFO] [stderr]   --> src/object.rs:49:8
[INFO] [stderr]    |
[INFO] [stderr] 49 |     fn remove_from_slots(&mut self, key: String) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `add_to_slots`
[INFO] [stderr]   --> src/object.rs:60:8
[INFO] [stderr]    |
[INFO] [stderr] 60 |     fn add_to_slots(&mut self, key: String, value: ObjectKind) {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added.
[INFO] [stderr]    --> src/lexer.rs:487:32
[INFO] [stderr]     |
[INFO] [stderr] 487 |         for output in expected.into_iter() {
[INFO] [stderr]     |                                ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(array_into_iter)]` on by default
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #66145 <https://github.com/rust-lang/rust/issues/66145>
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `expressionKind` should have a snake case name
[INFO] [stderr]  --> src/ast.rs:7:20
[INFO] [stderr]   |
[INFO] [stderr] 7 |     ExpressionNode{expressionKind: ExpressionKind},
[INFO] [stderr]   |                    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expression_kind`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `statementKind` should have a snake case name
[INFO] [stderr]  --> src/ast.rs:8:19
[INFO] [stderr]   |
[INFO] [stderr] 8 |     StatementNode{statementKind: StatementKind},
[INFO] [stderr]   |                   ^^^^^^^^^^^^^ help: convert the identifier to snake case: `statement_kind`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `argsVec` should have a snake case name
[INFO] [stderr]    --> src/ast.rs:187:25
[INFO] [stderr]     |
[INFO] [stderr] 187 |                 let mut argsVec = vec![];
[INFO] [stderr]     |                         ^^^^^^^ help: convert the identifier to snake case: `args_vec`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `elesVec` should have a snake case name
[INFO] [stderr]    --> src/ast.rs:214:25
[INFO] [stderr]     |
[INFO] [stderr] 214 |                 let mut elesVec = vec![];
[INFO] [stderr]     |                         ^^^^^^^ help: convert the identifier to snake case: `eles_vec`
[INFO] [stderr] 
[INFO] [stderr] warning: the `return_value:` in this pattern is redundant
[INFO] [stderr]   --> src/evaluator.rs:38:48
[INFO] [stderr]    |
[INFO] [stderr] 38 |                 StatementKind::ReturnStatement{return_value: return_value, ..} => {
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `return_value`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_shorthand_field_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the `operator:` in this pattern is redundant
[INFO] [stderr]   --> src/evaluator.rs:94:49
[INFO] [stderr]    |
[INFO] [stderr] 94 |                 ExpressionKind::InfixExpression{operator: operator, left: left, right: right, ..} => {
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `operator`
[INFO] [stderr] 
[INFO] [stderr] warning: the `left:` in this pattern is redundant
[INFO] [stderr]   --> src/evaluator.rs:94:69
[INFO] [stderr]    |
[INFO] [stderr] 94 |                 ExpressionKind::InfixExpression{operator: operator, left: left, right: right, ..} => {
[INFO] [stderr]    |                                                                     ^^^^^^^^^^ help: use shorthand field pattern: `left`
[INFO] [stderr] 
[INFO] [stderr] warning: the `right:` in this pattern is redundant
[INFO] [stderr]   --> src/evaluator.rs:94:81
[INFO] [stderr]    |
[INFO] [stderr] 94 |                 ExpressionKind::InfixExpression{operator: operator, left: left, right: right, ..} => {
[INFO] [stderr]    |                                                                                 ^^^^^^^^^^^^ help: use shorthand field pattern: `right`
[INFO] [stderr] 
[INFO] [stderr] warning: the `function:` in this pattern is redundant
[INFO] [stderr]    --> src/evaluator.rs:130:48
[INFO] [stderr]     |
[INFO] [stderr] 130 |                 ExpressionKind::CallExpression{function: function, arguments, ..} => {
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `function`
[INFO] [stderr] 
[INFO] [stderr] warning: the `value:` in this pattern is redundant
[INFO] [stderr]    --> src/evaluator.rs:153:47
[INFO] [stderr]     |
[INFO] [stderr] 153 |                 ExpressionKind::StringLiteral{value: value, ..} => {
[INFO] [stderr]     |                                               ^^^^^^^^^^^^ help: use shorthand field pattern: `value`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `sNode` should have a snake case name
[INFO] [stderr]    --> src/evaluator.rs:174:13
[INFO] [stderr]     |
[INFO] [stderr] 174 |         let sNode = NodeKind::StatementNode{statementKind: s};
[INFO] [stderr]     |             ^^^^^ help: convert the identifier to snake case: `s_node`
[INFO] [stderr] 
[INFO] [stderr] warning: the `statements:` in this pattern is redundant
[INFO] [stderr]    --> src/evaluator.rs:271:39
[INFO] [stderr]     |
[INFO] [stderr] 271 |         StatementKind::BlockStatement{statements: statements, ..} => {
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `statements`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `expressioNode` should have a snake case name
[INFO] [stderr]    --> src/evaluator.rs:417:13
[INFO] [stderr]     |
[INFO] [stderr] 417 |         let expressioNode = NodeKind::ExpressionNode{expressionKind: *e};
[INFO] [stderr]     |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `expressio_node`
[INFO] [stderr] 
[INFO] [stderr] warning: the `parameters:` in this pattern is redundant
[INFO] [stderr]    --> src/evaluator.rs:432:30
[INFO] [stderr]     |
[INFO] [stderr] 432 |         ObjectKind::Function{parameters: parameters, body: body, env: env, ..} => {
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `parameters`
[INFO] [stderr] 
[INFO] [stderr] warning: the `body:` in this pattern is redundant
[INFO] [stderr]    --> src/evaluator.rs:432:54
[INFO] [stderr]     |
[INFO] [stderr] 432 |         ObjectKind::Function{parameters: parameters, body: body, env: env, ..} => {
[INFO] [stderr]     |                                                      ^^^^^^^^^^ help: use shorthand field pattern: `body`
[INFO] [stderr] 
[INFO] [stderr] warning: the `env:` in this pattern is redundant
[INFO] [stderr]    --> src/evaluator.rs:432:66
[INFO] [stderr]     |
[INFO] [stderr] 432 |         ObjectKind::Function{parameters: parameters, body: body, env: env, ..} => {
[INFO] [stderr]     |                                                                  ^^^^^^^^ help: use shorthand field pattern: `env`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `argsUnwrapped` should have a snake case name
[INFO] [stderr]    --> src/parser.rs:471:26
[INFO] [stderr]     |
[INFO] [stderr] 471 |                     Some(argsUnwrapped) => {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^ help: convert the identifier to snake case: `args_unwrapped`
[INFO] [stderr] 
[INFO] [stderr] warning: the `value:` in this pattern is redundant
[INFO] [stderr]   --> src/object.rs:75:33
[INFO] [stderr]    |
[INFO] [stderr] 75 |             ObjectKind::Integer{value: value, ..} => {
[INFO] [stderr]    |                                 ^^^^^^^^^^^^ help: use shorthand field pattern: `value`
[INFO] [stderr] 
[INFO] [stderr] warning: the `message:` in this pattern is redundant
[INFO] [stderr]   --> src/object.rs:78:31
[INFO] [stderr]    |
[INFO] [stderr] 78 |             ObjectKind::Error{message: message, ..} => {
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `message`
[INFO] [stderr] 
[INFO] [stderr] warning: the `value:` in this pattern is redundant
[INFO] [stderr]   --> src/object.rs:84:35
[INFO] [stderr]    |
[INFO] [stderr] 84 |             ObjectKind::StringObj{value: value, ..} => {
[INFO] [stderr]    |                                   ^^^^^^^^^^^^ help: use shorthand field pattern: `value`
[INFO] [stderr] 
[INFO] [stderr] warning: 93 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/lodestone-1646af5c2608a68b
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test lexer::tests::test_is_digit ... ok
[INFO] [stdout] test lexer::tests::test_is_letter ... ok
[INFO] [stdout] test lexer::tests::test_lexer_sets_input ... ok
[INFO] [stdout] test lexer::tests::test_lexer_sets_char ... ok
[INFO] [stdout] test ast::tests::test_indentifer_string ... ok
[INFO] [stdout] test lexer::tests::test_is_not_digit ... ok
[INFO] [stdout] test ast::tests::test_prefix_expression_string ... ok
[INFO] [stdout] test token::tests::test_lookup_ident ... ok
[INFO] [stdout] test lexer::tests::test_skip_whitespace ... ok
[INFO] [stdout] test lexer::tests::test_next_token ... ok
[INFO] [stdout] test lexer::tests::test_peek_char ... ok
[INFO] [stdout] test lexer::tests::test_skip_whitespace_newline ... ok
[INFO] [stdout] test lexer::tests::test_read_char ... ok
[INFO] [stdout] test token::tests::test_keywords ... ok
[INFO] [stdout] test token::tests::test_lookup_ident_not_found ... ok
[INFO] [stdout] test lexer::tests::test_next_tokens ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c367ccb05b1ddfd41dadadc75f96596d3c93f3b73f6447a3b1d9dac627d7b699", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c367ccb05b1ddfd41dadadc75f96596d3c93f3b73f6447a3b1d9dac627d7b699", kill_on_drop: false }`
[INFO] [stdout] c367ccb05b1ddfd41dadadc75f96596d3c93f3b73f6447a3b1d9dac627d7b699
