[INFO] cloning repository https://github.com/npritchard9/interpreter
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/npritchard9/interpreter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnpritchard9%2Finterpreter", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnpritchard9%2Finterpreter'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 16020efdd8a00f3dea0b84a1942022475015ee84
[INFO] checking npritchard9/interpreter against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnpritchard9%2Finterpreter" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/npritchard9/interpreter
[INFO] finished tweaking git repo https://github.com/npritchard9/interpreter
[INFO] tweaked toml for git repo https://github.com/npritchard9/interpreter written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/npritchard9/interpreter on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/npritchard9/interpreter already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5697cb6165667386b911bdc5352d72124297c26d8b213e2484304d2842f82bfb
[INFO] running `Command { std: "docker" "start" "-a" "5697cb6165667386b911bdc5352d72124297c26d8b213e2484304d2842f82bfb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5697cb6165667386b911bdc5352d72124297c26d8b213e2484304d2842f82bfb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5697cb6165667386b911bdc5352d72124297c26d8b213e2484304d2842f82bfb", kill_on_drop: false }`
[INFO] [stdout] 5697cb6165667386b911bdc5352d72124297c26d8b213e2484304d2842f82bfb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bceb5c505673dd0ea0622aa0584853e8928c56f29061f2c39e03461de1de3891
[INFO] running `Command { std: "docker" "start" "-a" "bceb5c505673dd0ea0622aa0584853e8928c56f29061f2c39e03461de1de3891", kill_on_drop: false }`
[INFO] [stderr]     Checking interpreter v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `hle`
[INFO] [stdout]     --> src/parser.rs:1241:29
[INFO] [stdout]      |
[INFO] [stdout] 1241 |         Expression::HashLit(hle) => panic!("can't have a hashlit holding an int"),
[INFO] [stdout]      |                             ^^^ help: if this is intentional, prefix it with an underscore: `_hle`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hle`
[INFO] [stdout]     --> src/parser.rs:1241:29
[INFO] [stdout]      |
[INFO] [stdout] 1241 |         Expression::HashLit(hle) => panic!("can't have a hashlit holding an int"),
[INFO] [stdout]      |                             ^^^ help: if this is intentional, prefix it with an underscore: `_hle`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_eval_int_expression` is never used
[INFO] [stdout]    --> src/eval.rs:385:8
[INFO] [stdout]     |
[INFO] [stdout] 385 | pub fn test_eval_int_expression(_env: &mut Environment) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_eval` is never used
[INFO] [stdout]    --> src/eval.rs:412:8
[INFO] [stdout]     |
[INFO] [stdout] 412 | pub fn test_eval(input: String) -> Option<Object> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_int_object` is never used
[INFO] [stdout]    --> src/eval.rs:420:8
[INFO] [stdout]     |
[INFO] [stdout] 420 | pub fn test_int_object(obj: Object, expected: isize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_eval_bool_expression` is never used
[INFO] [stdout]    --> src/eval.rs:436:8
[INFO] [stdout]     |
[INFO] [stdout] 436 | pub fn test_eval_bool_expression(_env: &mut Environment) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_bool_object` is never used
[INFO] [stdout]    --> src/eval.rs:467:8
[INFO] [stdout]     |
[INFO] [stdout] 467 | pub fn test_bool_object(obj: Object, expected: bool) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_bang_operator` is never used
[INFO] [stdout]    --> src/eval.rs:483:8
[INFO] [stdout]     |
[INFO] [stdout] 483 | pub fn test_bang_operator(_env: &mut Environment) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_if_else_expression` is never used
[INFO] [stdout]    --> src/eval.rs:499:8
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub fn test_if_else_expression(_env: &mut Environment) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_null_object` is never used
[INFO] [stdout]    --> src/eval.rs:529:8
[INFO] [stdout]     |
[INFO] [stdout] 529 | pub fn test_null_object(obj: Object) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_return_statements` is never used
[INFO] [stdout]    --> src/eval.rs:536:8
[INFO] [stdout]     |
[INFO] [stdout] 536 | pub fn test_return_statements(_env: &mut Environment) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_error_handling` is never used
[INFO] [stdout]    --> src/eval.rs:562:8
[INFO] [stdout]     |
[INFO] [stdout] 562 | pub fn test_error_handling(_env: &mut Environment) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_let_statements` is never used
[INFO] [stdout]    --> src/eval.rs:608:8
[INFO] [stdout]     |
[INFO] [stdout] 608 | pub fn test_let_statements(_env: &mut Environment) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_function_object` is never used
[INFO] [stdout]    --> src/eval.rs:620:8
[INFO] [stdout]     |
[INFO] [stdout] 620 | pub fn test_function_object() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_function_application` is never used
[INFO] [stdout]    --> src/eval.rs:646:8
[INFO] [stdout]     |
[INFO] [stdout] 646 | pub fn test_function_application() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_closures` is never used
[INFO] [stdout]    --> src/eval.rs:661:8
[INFO] [stdout]     |
[INFO] [stdout] 661 | pub fn test_closures() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_string_literal` is never used
[INFO] [stdout]    --> src/eval.rs:673:8
[INFO] [stdout]     |
[INFO] [stdout] 673 | pub fn test_string_literal() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_string_concat` is never used
[INFO] [stdout]    --> src/eval.rs:689:8
[INFO] [stdout]     |
[INFO] [stdout] 689 | pub fn test_string_concat() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_builtin_fn` is never used
[INFO] [stdout]    --> src/eval.rs:705:8
[INFO] [stdout]     |
[INFO] [stdout] 705 | pub fn test_builtin_fn() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_array_literals` is never used
[INFO] [stdout]    --> src/eval.rs:740:8
[INFO] [stdout]     |
[INFO] [stdout] 740 | pub fn test_array_literals() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_array_index_expressions` is never used
[INFO] [stdout]    --> src/eval.rs:760:8
[INFO] [stdout]     |
[INFO] [stdout] 760 | pub fn test_array_index_expressions() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `get_type` is never used
[INFO] [stdout]   --> src/object.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl Bool {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 76 |     fn get_type() -> String {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `errors`, `check_errors`, and `parse_call_arguments` are never used
[INFO] [stdout]    --> src/parser.rs:94:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl Parser {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn errors(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     fn check_errors(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn parse_call_arguments(&mut self) -> Vec<Option<Box<Expression>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_full` is never used
[INFO] [stdout]    --> src/parser.rs:817:8
[INFO] [stdout]     |
[INFO] [stdout] 808 | impl LetStatement {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 817 |     fn new_full(token: Token, name: Token, value: Expression) -> Self {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_let_statements` is never used
[INFO] [stdout]    --> src/parser.rs:972:8
[INFO] [stdout]     |
[INFO] [stdout] 972 | pub fn test_let_statements() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_let_statement` is never used
[INFO] [stdout]     --> src/parser.rs:1004:4
[INFO] [stdout]      |
[INFO] [stdout] 1004 | fn test_let_statement(s: Statement, name: String) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_return_statements` is never used
[INFO] [stdout]     --> src/parser.rs:1011:8
[INFO] [stdout]      |
[INFO] [stdout] 1011 | pub fn test_return_statements() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_string` is never used
[INFO] [stdout]     --> src/parser.rs:1046:8
[INFO] [stdout]      |
[INFO] [stdout] 1046 | pub fn test_string() {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_identifier_expression` is never used
[INFO] [stdout]     --> src/parser.rs:1063:8
[INFO] [stdout]      |
[INFO] [stdout] 1063 | pub fn test_identifier_expression() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_integer_literal_expression` is never used
[INFO] [stdout]     --> src/parser.rs:1095:8
[INFO] [stdout]      |
[INFO] [stdout] 1095 | pub fn test_integer_literal_expression() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_boolean_literal_expression` is never used
[INFO] [stdout]     --> src/parser.rs:1128:8
[INFO] [stdout]      |
[INFO] [stdout] 1128 | pub fn test_boolean_literal_expression() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_prefix_expressions` is never used
[INFO] [stdout]     --> src/parser.rs:1162:8
[INFO] [stdout]      |
[INFO] [stdout] 1162 | pub fn test_prefix_expressions() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_integer_literal` is never used
[INFO] [stdout]     --> src/parser.rs:1203:8
[INFO] [stdout]      |
[INFO] [stdout] 1203 | pub fn test_integer_literal(il: Expression, value: isize) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_infix_expressions` is never used
[INFO] [stdout]     --> src/parser.rs:1247:8
[INFO] [stdout]      |
[INFO] [stdout] 1247 | pub fn test_infix_expressions() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_operator_precedence_parsing` is never used
[INFO] [stdout]     --> src/parser.rs:1300:8
[INFO] [stdout]      |
[INFO] [stdout] 1300 | pub fn test_operator_precedence_parsing() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_if_expression` is never used
[INFO] [stdout]     --> src/parser.rs:1371:8
[INFO] [stdout]      |
[INFO] [stdout] 1371 | pub fn test_if_expression() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_if_else_expression` is never used
[INFO] [stdout]     --> src/parser.rs:1427:8
[INFO] [stdout]      |
[INFO] [stdout] 1427 | pub fn test_if_else_expression() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_function_literal_parsing` is never used
[INFO] [stdout]     --> src/parser.rs:1483:8
[INFO] [stdout]      |
[INFO] [stdout] 1483 | pub fn test_function_literal_parsing() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_function_param_parsing` is never used
[INFO] [stdout]     --> src/parser.rs:1553:8
[INFO] [stdout]      |
[INFO] [stdout] 1553 | pub fn test_function_param_parsing() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_call_expression` is never used
[INFO] [stdout]     --> src/parser.rs:1601:8
[INFO] [stdout]      |
[INFO] [stdout] 1601 | pub fn test_call_expression() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_string_literal_expression` is never used
[INFO] [stdout]     --> src/parser.rs:1643:8
[INFO] [stdout]      |
[INFO] [stdout] 1643 | pub fn test_string_literal_expression() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_parsing_array_literal` is never used
[INFO] [stdout]     --> src/parser.rs:1673:8
[INFO] [stdout]      |
[INFO] [stdout] 1673 | pub fn test_parsing_array_literal() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_parsing_index_expressions` is never used
[INFO] [stdout]     --> src/parser.rs:1723:8
[INFO] [stdout]      |
[INFO] [stdout] 1723 | pub fn test_parsing_index_expressions() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_hash_literal_string_keys` is never used
[INFO] [stdout]     --> src/parser.rs:1760:8
[INFO] [stdout]      |
[INFO] [stdout] 1760 | pub fn test_hash_literal_string_keys() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_empty_hash_literal` is never used
[INFO] [stdout]     --> src/parser.rs:1804:8
[INFO] [stdout]      |
[INFO] [stdout] 1804 | pub fn test_empty_hash_literal() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/object.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout]  3 | #[derive(Debug, PartialEq, Eq, Clone)]
[INFO] [stdout]    |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 10 |     Builtin(BuiltinFn),
[INFO] [stdout]    |             ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_eval_int_expression` is never used
[INFO] [stdout]    --> src/eval.rs:385:8
[INFO] [stdout]     |
[INFO] [stdout] 385 | pub fn test_eval_int_expression(_env: &mut Environment) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_eval` is never used
[INFO] [stdout]    --> src/eval.rs:412:8
[INFO] [stdout]     |
[INFO] [stdout] 412 | pub fn test_eval(input: String) -> Option<Object> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_int_object` is never used
[INFO] [stdout]    --> src/eval.rs:420:8
[INFO] [stdout]     |
[INFO] [stdout] 420 | pub fn test_int_object(obj: Object, expected: isize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_eval_bool_expression` is never used
[INFO] [stdout]    --> src/eval.rs:436:8
[INFO] [stdout]     |
[INFO] [stdout] 436 | pub fn test_eval_bool_expression(_env: &mut Environment) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_bool_object` is never used
[INFO] [stdout]    --> src/eval.rs:467:8
[INFO] [stdout]     |
[INFO] [stdout] 467 | pub fn test_bool_object(obj: Object, expected: bool) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_bang_operator` is never used
[INFO] [stdout]    --> src/eval.rs:483:8
[INFO] [stdout]     |
[INFO] [stdout] 483 | pub fn test_bang_operator(_env: &mut Environment) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_if_else_expression` is never used
[INFO] [stdout]    --> src/eval.rs:499:8
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub fn test_if_else_expression(_env: &mut Environment) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_null_object` is never used
[INFO] [stdout]    --> src/eval.rs:529:8
[INFO] [stdout]     |
[INFO] [stdout] 529 | pub fn test_null_object(obj: Object) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_return_statements` is never used
[INFO] [stdout]    --> src/eval.rs:536:8
[INFO] [stdout]     |
[INFO] [stdout] 536 | pub fn test_return_statements(_env: &mut Environment) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_error_handling` is never used
[INFO] [stdout]    --> src/eval.rs:562:8
[INFO] [stdout]     |
[INFO] [stdout] 562 | pub fn test_error_handling(_env: &mut Environment) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_let_statements` is never used
[INFO] [stdout]    --> src/eval.rs:608:8
[INFO] [stdout]     |
[INFO] [stdout] 608 | pub fn test_let_statements(_env: &mut Environment) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_function_object` is never used
[INFO] [stdout]    --> src/eval.rs:620:8
[INFO] [stdout]     |
[INFO] [stdout] 620 | pub fn test_function_object() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_function_application` is never used
[INFO] [stdout]    --> src/eval.rs:646:8
[INFO] [stdout]     |
[INFO] [stdout] 646 | pub fn test_function_application() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_closures` is never used
[INFO] [stdout]    --> src/eval.rs:661:8
[INFO] [stdout]     |
[INFO] [stdout] 661 | pub fn test_closures() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_string_literal` is never used
[INFO] [stdout]    --> src/eval.rs:673:8
[INFO] [stdout]     |
[INFO] [stdout] 673 | pub fn test_string_literal() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_string_concat` is never used
[INFO] [stdout]    --> src/eval.rs:689:8
[INFO] [stdout]     |
[INFO] [stdout] 689 | pub fn test_string_concat() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_builtin_fn` is never used
[INFO] [stdout]    --> src/eval.rs:705:8
[INFO] [stdout]     |
[INFO] [stdout] 705 | pub fn test_builtin_fn() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_array_literals` is never used
[INFO] [stdout]    --> src/eval.rs:740:8
[INFO] [stdout]     |
[INFO] [stdout] 740 | pub fn test_array_literals() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_array_index_expressions` is never used
[INFO] [stdout]    --> src/eval.rs:760:8
[INFO] [stdout]     |
[INFO] [stdout] 760 | pub fn test_array_index_expressions() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `get_type` is never used
[INFO] [stdout]   --> src/object.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl Bool {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 76 |     fn get_type() -> String {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `errors`, `check_errors`, and `parse_call_arguments` are never used
[INFO] [stdout]    --> src/parser.rs:94:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl Parser {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn errors(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     fn check_errors(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn parse_call_arguments(&mut self) -> Vec<Option<Box<Expression>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_full` is never used
[INFO] [stdout]    --> src/parser.rs:817:8
[INFO] [stdout]     |
[INFO] [stdout] 808 | impl LetStatement {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 817 |     fn new_full(token: Token, name: Token, value: Expression) -> Self {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_let_statements` is never used
[INFO] [stdout]    --> src/parser.rs:972:8
[INFO] [stdout]     |
[INFO] [stdout] 972 | pub fn test_let_statements() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_let_statement` is never used
[INFO] [stdout]     --> src/parser.rs:1004:4
[INFO] [stdout]      |
[INFO] [stdout] 1004 | fn test_let_statement(s: Statement, name: String) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_return_statements` is never used
[INFO] [stdout]     --> src/parser.rs:1011:8
[INFO] [stdout]      |
[INFO] [stdout] 1011 | pub fn test_return_statements() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_string` is never used
[INFO] [stdout]     --> src/parser.rs:1046:8
[INFO] [stdout]      |
[INFO] [stdout] 1046 | pub fn test_string() {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_identifier_expression` is never used
[INFO] [stdout]     --> src/parser.rs:1063:8
[INFO] [stdout]      |
[INFO] [stdout] 1063 | pub fn test_identifier_expression() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_integer_literal_expression` is never used
[INFO] [stdout]     --> src/parser.rs:1095:8
[INFO] [stdout]      |
[INFO] [stdout] 1095 | pub fn test_integer_literal_expression() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_boolean_literal_expression` is never used
[INFO] [stdout]     --> src/parser.rs:1128:8
[INFO] [stdout]      |
[INFO] [stdout] 1128 | pub fn test_boolean_literal_expression() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_prefix_expressions` is never used
[INFO] [stdout]     --> src/parser.rs:1162:8
[INFO] [stdout]      |
[INFO] [stdout] 1162 | pub fn test_prefix_expressions() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_integer_literal` is never used
[INFO] [stdout]     --> src/parser.rs:1203:8
[INFO] [stdout]      |
[INFO] [stdout] 1203 | pub fn test_integer_literal(il: Expression, value: isize) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_infix_expressions` is never used
[INFO] [stdout]     --> src/parser.rs:1247:8
[INFO] [stdout]      |
[INFO] [stdout] 1247 | pub fn test_infix_expressions() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_operator_precedence_parsing` is never used
[INFO] [stdout]     --> src/parser.rs:1300:8
[INFO] [stdout]      |
[INFO] [stdout] 1300 | pub fn test_operator_precedence_parsing() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_if_expression` is never used
[INFO] [stdout]     --> src/parser.rs:1371:8
[INFO] [stdout]      |
[INFO] [stdout] 1371 | pub fn test_if_expression() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_if_else_expression` is never used
[INFO] [stdout]     --> src/parser.rs:1427:8
[INFO] [stdout]      |
[INFO] [stdout] 1427 | pub fn test_if_else_expression() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_function_literal_parsing` is never used
[INFO] [stdout]     --> src/parser.rs:1483:8
[INFO] [stdout]      |
[INFO] [stdout] 1483 | pub fn test_function_literal_parsing() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_function_param_parsing` is never used
[INFO] [stdout]     --> src/parser.rs:1553:8
[INFO] [stdout]      |
[INFO] [stdout] 1553 | pub fn test_function_param_parsing() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_call_expression` is never used
[INFO] [stdout]     --> src/parser.rs:1601:8
[INFO] [stdout]      |
[INFO] [stdout] 1601 | pub fn test_call_expression() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_string_literal_expression` is never used
[INFO] [stdout]     --> src/parser.rs:1643:8
[INFO] [stdout]      |
[INFO] [stdout] 1643 | pub fn test_string_literal_expression() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_parsing_array_literal` is never used
[INFO] [stdout]     --> src/parser.rs:1673:8
[INFO] [stdout]      |
[INFO] [stdout] 1673 | pub fn test_parsing_array_literal() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_parsing_index_expressions` is never used
[INFO] [stdout]     --> src/parser.rs:1723:8
[INFO] [stdout]      |
[INFO] [stdout] 1723 | pub fn test_parsing_index_expressions() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_hash_literal_string_keys` is never used
[INFO] [stdout]     --> src/parser.rs:1760:8
[INFO] [stdout]      |
[INFO] [stdout] 1760 | pub fn test_hash_literal_string_keys() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_empty_hash_literal` is never used
[INFO] [stdout]     --> src/parser.rs:1804:8
[INFO] [stdout]      |
[INFO] [stdout] 1804 | pub fn test_empty_hash_literal() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/object.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout]  3 | #[derive(Debug, PartialEq, Eq, Clone)]
[INFO] [stdout]    |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 10 |     Builtin(BuiltinFn),
[INFO] [stdout]    |             ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.04s
[INFO] running `Command { std: "docker" "inspect" "bceb5c505673dd0ea0622aa0584853e8928c56f29061f2c39e03461de1de3891", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bceb5c505673dd0ea0622aa0584853e8928c56f29061f2c39e03461de1de3891", kill_on_drop: false }`
[INFO] [stdout] bceb5c505673dd0ea0622aa0584853e8928c56f29061f2c39e03461de1de3891
