[INFO] cloning repository https://github.com/ikws4/rust-projects
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ikws4/rust-projects" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fikws4%2Frust-projects", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fikws4%2Frust-projects'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7ea6ec2f72c15e5070857c2653c5f2c9311523ef
[INFO] testing ikws4/rust-projects against 1.97.0-beta.6 for beta-1.98-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fikws4%2Frust-projects" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ikws4/rust-projects
[INFO] finished tweaking git repo https://github.com/ikws4/rust-projects
[INFO] tweaked toml for git repo https://github.com/ikws4/rust-projects written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ikws4/rust-projects on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ikws4/rust-projects 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" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ab19b5564b5d1191ef24d91dbdad04bc09667d81808194093619e4328892221b
[INFO] running `Command { std: "docker" "start" "ab19b5564b5d1191ef24d91dbdad04bc09667d81808194093619e4328892221b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ab19b5564b5d1191ef24d91dbdad04bc09667d81808194093619e4328892221b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ab19b5564b5d1191ef24d91dbdad04bc09667d81808194093619e4328892221b" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ab19b5564b5d1191ef24d91dbdad04bc09667d81808194093619e4328892221b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ab19b5564b5d1191ef24d91dbdad04bc09667d81808194093619e4328892221b" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling juice v0.1.0 (/opt/rustwide/workdir/juice)
[INFO] [stdout] warning: unused import: `std::env::args`
[INFO] [stdout]  --> juice/src/parser.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::env::args;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `values`
[INFO] [stdout]   --> juice/src/juice/array.rs:69:33
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn length(this: &Value, values: &Vec<Value>) -> Result<Value, Flow> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `values`
[INFO] [stdout]    --> juice/src/juice/array.rs:109:32
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn clear(this: &Value, values: &Vec<Value>) -> Result<Value, Flow> {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_annotation`
[INFO] [stdout]    --> juice/src/juice/interpreter.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         type_annotation: &Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_annotation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> juice/src/juice/interpreter.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |         name: &String,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_annotation`
[INFO] [stdout]    --> juice/src/juice/interpreter.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         type_annotation: &Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_annotation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_signatures`
[INFO] [stdout]    --> juice/src/juice/interpreter.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         method_signatures: &Vec<MethodSignature>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_signatures`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_annotation`
[INFO] [stdout]    --> juice/src/juice/interpreter.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         type_annotation: &Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_annotation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string`
[INFO] [stdout]    --> juice/src/juice/interpreter.rs:293:27
[INFO] [stdout]     |
[INFO] [stdout] 293 |             Value::String(string) => {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string`
[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]  --> juice/src/juice/native_function.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Clone, PartialEq)]
[INFO] [stdout]   |                 --------- in this derive macro expansion
[INFO] [stdout] 4 | pub struct NativeFunction {
[INFO] [stdout] 5 |     pub function: fn(&Vec<Value>) -> Result<Value, Flow>,
[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 pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]  --> juice/src/juice/native_method.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Clone, PartialEq)]
[INFO] [stdout]   |                 --------- in this derive macro expansion
[INFO] [stdout] 5 | pub struct NativeMethod {
[INFO] [stdout] 6 |     pub function: fn(this: &Value, &Vec<Value>) -> Result<Value, Flow>,
[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] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.16s
[INFO] running `Command { std: "docker" "inspect" "ab19b5564b5d1191ef24d91dbdad04bc09667d81808194093619e4328892221b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ab19b5564b5d1191ef24d91dbdad04bc09667d81808194093619e4328892221b" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling juice v0.1.0 (/opt/rustwide/workdir/juice)
[INFO] [stdout] warning: unused import: `std::env::args`
[INFO] [stdout]  --> juice/src/parser.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::env::args;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `values`
[INFO] [stdout]   --> juice/src/juice/array.rs:69:33
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn length(this: &Value, values: &Vec<Value>) -> Result<Value, Flow> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `values`
[INFO] [stdout]    --> juice/src/juice/array.rs:109:32
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn clear(this: &Value, values: &Vec<Value>) -> Result<Value, Flow> {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_annotation`
[INFO] [stdout]    --> juice/src/juice/interpreter.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         type_annotation: &Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_annotation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> juice/src/juice/interpreter.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |         name: &String,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_annotation`
[INFO] [stdout]    --> juice/src/juice/interpreter.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         type_annotation: &Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_annotation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_signatures`
[INFO] [stdout]    --> juice/src/juice/interpreter.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         method_signatures: &Vec<MethodSignature>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_signatures`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_annotation`
[INFO] [stdout]    --> juice/src/juice/interpreter.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         type_annotation: &Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_annotation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string`
[INFO] [stdout]    --> juice/src/juice/interpreter.rs:293:27
[INFO] [stdout]     |
[INFO] [stdout] 293 |             Value::String(string) => {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `methods`
[INFO] [stdout]    --> juice/src/parser.rs:930:17
[INFO] [stdout]     |
[INFO] [stdout] 930 |                 methods,
[INFO] [stdout]     |                 ^^^^^^^ help: try ignoring the field: `methods: _`
[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]  --> juice/src/juice/native_function.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Clone, PartialEq)]
[INFO] [stdout]   |                 --------- in this derive macro expansion
[INFO] [stdout] 4 | pub struct NativeFunction {
[INFO] [stdout] 5 |     pub function: fn(&Vec<Value>) -> Result<Value, Flow>,
[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 pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]  --> juice/src/juice/native_method.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Clone, PartialEq)]
[INFO] [stdout]   |                 --------- in this derive macro expansion
[INFO] [stdout] 5 | pub struct NativeMethod {
[INFO] [stdout] 6 |     pub function: fn(this: &Value, &Vec<Value>) -> Result<Value, Flow>,
[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] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.28s
[INFO] running `Command { std: "docker" "inspect" "ab19b5564b5d1191ef24d91dbdad04bc09667d81808194093619e4328892221b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ab19b5564b5d1191ef24d91dbdad04bc09667d81808194093619e4328892221b" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::env::args`
[INFO] [stderr]  --> juice/src/parser.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::env::args;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `values`
[INFO] [stderr]   --> juice/src/juice/array.rs:69:33
[INFO] [stderr]    |
[INFO] [stderr] 69 |     pub fn length(this: &Value, values: &Vec<Value>) -> Result<Value, Flow> {
[INFO] [stderr]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `values`
[INFO] [stderr]    --> juice/src/juice/array.rs:109:32
[INFO] [stderr]     |
[INFO] [stderr] 109 |     pub fn clear(this: &Value, values: &Vec<Value>) -> Result<Value, Flow> {
[INFO] [stderr]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `type_annotation`
[INFO] [stderr]    --> juice/src/juice/interpreter.rs:102:9
[INFO] [stderr]     |
[INFO] [stderr] 102 |         type_annotation: &Option<Vec<String>>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_annotation`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> juice/src/juice/interpreter.rs:118:9
[INFO] [stderr]     |
[INFO] [stderr] 118 |         name: &String,
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `type_annotation`
[INFO] [stderr]    --> juice/src/juice/interpreter.rs:119:9
[INFO] [stderr]     |
[INFO] [stderr] 119 |         type_annotation: &Option<Vec<String>>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_annotation`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `method_signatures`
[INFO] [stderr]    --> juice/src/juice/interpreter.rs:120:9
[INFO] [stderr]     |
[INFO] [stderr] 120 |         method_signatures: &Vec<MethodSignature>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_signatures`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `type_annotation`
[INFO] [stderr]    --> juice/src/juice/interpreter.rs:129:9
[INFO] [stderr]     |
[INFO] [stderr] 129 |         type_annotation: &Option<Vec<String>>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_annotation`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `string`
[INFO] [stderr]    --> juice/src/juice/interpreter.rs:293:27
[INFO] [stderr]     |
[INFO] [stderr] 293 |             Value::String(string) => {
[INFO] [stderr]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `methods`
[INFO] [stderr]    --> juice/src/parser.rs:930:17
[INFO] [stderr]     |
[INFO] [stderr] 930 |                 methods,
[INFO] [stderr]     |                 ^^^^^^^ help: try ignoring the field: `methods: _`
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]  --> juice/src/juice/native_function.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(Clone, PartialEq)]
[INFO] [stderr]   |                 --------- in this derive macro expansion
[INFO] [stderr] 4 | pub struct NativeFunction {
[INFO] [stderr] 5 |     pub function: fn(&Vec<Value>) -> Result<Value, Flow>,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: the address of the same function can vary between different codegen units
[INFO] [stderr]   = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]   = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr]   = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]  --> juice/src/juice/native_method.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[derive(Clone, PartialEq)]
[INFO] [stderr]   |                 --------- in this derive macro expansion
[INFO] [stderr] 5 | pub struct NativeMethod {
[INFO] [stderr] 6 |     pub function: fn(this: &Value, &Vec<Value>) -> Result<Value, Flow>,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: the address of the same function can vary between different codegen units
[INFO] [stderr]   = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]   = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `juice` (bin "juice" test) generated 12 warnings (run `cargo fix --bin "juice" -p juice --tests` to apply 10 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/juice-e05cbdbfacca2383)
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stdout] test juice::interpreter::tests::test_array ... ok
[INFO] [stdout] test juice::interpreter::tests::test_object_field ... ok
[INFO] [stdout] test juice::interpreter::tests::test_break_continue ... ok
[INFO] [stdout] test lexer::tests::test_basic_tokens ... ok
[INFO] [stdout] test lexer::tests::test_comments ... ok
[INFO] [stdout] test juice::interpreter::tests::test_game_loop ... ok
[INFO] [stdout] test juice::interpreter::tests::test_method_return ... ok
[INFO] [stdout] test lexer::tests::test_identifiers ... ok
[INFO] [stdout] test lexer::tests::test_complex_expression ... ok
[INFO] [stdout] test lexer::tests::test_line_column_tracking ... ok
[INFO] [stdout] test lexer::tests::test_keywords ... ok
[INFO] [stdout] test lexer::tests::test_operators ... ok
[INFO] [stdout] test lexer::tests::test_numbers ... ok
[INFO] [stdout] test lexer::tests::test_string_literal ... ok
[INFO] [stdout] test parser::tests::test_complex_expression ... ok
[INFO] [stdout] test parser::tests::test_if_statement ... ok
[INFO] [stdout] test parser::tests::test_object_declaration ... ok
[INFO] [stdout] test parser::tests::test_var_declaration ... ok
[INFO] [stdout] test parser::tests::test_var_declaration_with_type_annotation ... ok
[INFO] [stdout] test parser::tests::test_game_program ... ok
[INFO] [stdout] test parser::tests::test_var_declaration_with_object_creation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ab19b5564b5d1191ef24d91dbdad04bc09667d81808194093619e4328892221b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ab19b5564b5d1191ef24d91dbdad04bc09667d81808194093619e4328892221b", kill_on_drop: false }`
[INFO] [stdout] ab19b5564b5d1191ef24d91dbdad04bc09667d81808194093619e4328892221b
