[INFO] cloning repository https://github.com/Sk3pz/matador
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Sk3pz/matador" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSk3pz%2Fmatador", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSk3pz%2Fmatador'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dcf2d9e470198150b76b98e742034d9db8f83e7a
[INFO] checking Sk3pz/matador against try#c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f for 2025-12-16-next-solver-global
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSk3pz%2Fmatador" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Sk3pz/matador
[INFO] finished tweaking git repo https://github.com/Sk3pz/matador
[INFO] tweaked toml for git repo https://github.com/Sk3pz/matador written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Sk3pz/matador on toolchain c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Sk3pz/matador 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" "+c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded better_term v1.4.61
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 301c48d81e562f337900bfc9b33d2e41d4bf5764bf9e2349068bf8b2f6237699
[INFO] running `Command { std: "docker" "start" "-a" "301c48d81e562f337900bfc9b33d2e41d4bf5764bf9e2349068bf8b2f6237699", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "301c48d81e562f337900bfc9b33d2e41d4bf5764bf9e2349068bf8b2f6237699", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "301c48d81e562f337900bfc9b33d2e41d4bf5764bf9e2349068bf8b2f6237699", kill_on_drop: false }`
[INFO] [stdout] 301c48d81e562f337900bfc9b33d2e41d4bf5764bf9e2349068bf8b2f6237699
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a9958c9d230759abca90f9521c6e5bfb341896630dcc0ce9593b3edcaf7ba821
[INFO] running `Command { std: "docker" "start" "-a" "a9958c9d230759abca90f9521c6e5bfb341896630dcc0ce9593b3edcaf7ba821", kill_on_drop: false }`
[INFO] [stderr]     Checking better_term v1.4.61
[INFO] [stderr]     Checking matador v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: value assigned to `last_was_lit` is never read
[INFO] [stdout]    --> src/parser.rs:410:29
[INFO] [stdout]     |
[INFO] [stdout] 410 | ...                   last_was_lit = false;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_was_lit` is never read
[INFO] [stdout]    --> src/parser.rs:410:29
[INFO] [stdout]     |
[INFO] [stdout] 410 | ...                   last_was_lit = false;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/node.rs:149:13
[INFO] [stdout]     |
[INFO] [stdout] 149 |             _ => { "???".to_string() }
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/node.rs:149:13
[INFO] [stdout]     |
[INFO] [stdout]  56 |             Node::Variable(v) => { format!("Variable: {}", v) }
[INFO] [stdout]     |             ----------------- matches some of the same values
[INFO] [stdout]  57 |             Node::Ident(ident) => { format!("Ident: {}", ident) }
[INFO] [stdout]     |             ------------------ matches some of the same values
[INFO] [stdout]  58 |             Node::Negative => { "Negative".to_string() }
[INFO] [stdout]     |             -------------- matches some of the same values
[INFO] [stdout]  59 |             Node::Not => { "Not".to_string() }
[INFO] [stdout]     |             --------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 149 |             _ => { "???".to_string() }
[INFO] [stdout]     |             ^ ...and 23 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/node.rs:149:13
[INFO] [stdout]     |
[INFO] [stdout] 149 |             _ => { "???".to_string() }
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/node.rs:149:13
[INFO] [stdout]     |
[INFO] [stdout]  56 |             Node::Variable(v) => { format!("Variable: {}", v) }
[INFO] [stdout]     |             ----------------- matches some of the same values
[INFO] [stdout]  57 |             Node::Ident(ident) => { format!("Ident: {}", ident) }
[INFO] [stdout]     |             ------------------ matches some of the same values
[INFO] [stdout]  58 |             Node::Negative => { "Negative".to_string() }
[INFO] [stdout]     |             -------------- matches some of the same values
[INFO] [stdout]  59 |             Node::Not => { "Not".to_string() }
[INFO] [stdout]     |             --------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 149 |             _ => { "???".to_string() }
[INFO] [stdout]     |             ^ ...and 23 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Map` is never constructed
[INFO] [stdout]   --> src/node.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub(crate) enum Node {
[INFO] [stdout]    |                 ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Map(Vec<(Box<Node>, Box<Variable>)>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `to_display_string`, `display`, and `prgm_display` are never used
[INFO] [stdout]    --> src/node.rs:53:8
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Node {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout]  53 |     fn to_display_string(&self, depth: &u32) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn display(&self, depth: u32) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn prgm_display(nodes: &Vec<Node>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `register_native_function` is never used
[INFO] [stdout]   --> src/interpreter.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Interpreter {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn register_native_function<S: Into<String>>(&mut self, name: S, f: NativeFunction) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `source` is never read
[INFO] [stdout]   --> src/lexer.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct Lexer<'a> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 69 |     source: &'a str,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Range` and `Map` are never constructed
[INFO] [stdout]   --> src/variable.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub(crate) enum Variable {
[INFO] [stdout]    |                 -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 40 |     Range(i64, i64),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 41 |     Array(Vec<Box<Variable>>),
[INFO] [stdout] 42 |     Map(Vec<(Box<Variable>, Box<Variable>)>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Variable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `function_exists` and `get_or_else` are never used
[INFO] [stdout]   --> src/scope.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Scope {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn function_exists(&self, ident: String) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     fn get_or_else(&self, ident: &str) -> Variable {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get` and `function_exists` are never used
[INFO] [stdout]    --> src/scope.rs:90:19
[INFO] [stdout]     |
[INFO] [stdout]  62 | impl ScopeHandler {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub(crate) fn get(&self, ident: &str) -> Option<&Variable> {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub(crate) fn function_exists(&self, ident: String) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `timed` is never used
[INFO] [stdout]  --> src/debug.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) fn timed<F: FnOnce() -> R, R>(f: F) -> (R, Duration) {
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Native` is never constructed
[INFO] [stdout]  --> src/function.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) enum Function {
[INFO] [stdout]   |                 -------- variant in this enum
[INFO] [stdout] 8 |     // native rust functions
[INFO] [stdout] 9 |     Native(NativeFunction),
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Function` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `attach_std` is never used
[INFO] [stdout]  --> src/matador_std.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn attach_std(interpreter: &mut Interpreter) {
[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/function.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, PartialEq, Clone)]
[INFO] [stdout]   |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 9 |     Native(NativeFunction),
[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: variant `Map` is never constructed
[INFO] [stdout]   --> src/node.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub(crate) enum Node {
[INFO] [stdout]    |                 ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Map(Vec<(Box<Node>, Box<Variable>)>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `to_display_string`, `display`, and `prgm_display` are never used
[INFO] [stdout]    --> src/node.rs:53:8
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Node {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout]  53 |     fn to_display_string(&self, depth: &u32) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn display(&self, depth: u32) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn prgm_display(nodes: &Vec<Node>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `register_native_function` is never used
[INFO] [stdout]   --> src/interpreter.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Interpreter {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn register_native_function<S: Into<String>>(&mut self, name: S, f: NativeFunction) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `source` is never read
[INFO] [stdout]   --> src/lexer.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct Lexer<'a> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 69 |     source: &'a str,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Range` and `Map` are never constructed
[INFO] [stdout]   --> src/variable.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub(crate) enum Variable {
[INFO] [stdout]    |                 -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 40 |     Range(i64, i64),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 41 |     Array(Vec<Box<Variable>>),
[INFO] [stdout] 42 |     Map(Vec<(Box<Variable>, Box<Variable>)>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Variable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `function_exists` and `get_or_else` are never used
[INFO] [stdout]   --> src/scope.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Scope {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn function_exists(&self, ident: String) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     fn get_or_else(&self, ident: &str) -> Variable {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get` and `function_exists` are never used
[INFO] [stdout]    --> src/scope.rs:90:19
[INFO] [stdout]     |
[INFO] [stdout]  62 | impl ScopeHandler {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub(crate) fn get(&self, ident: &str) -> Option<&Variable> {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub(crate) fn function_exists(&self, ident: String) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `timed` is never used
[INFO] [stdout]  --> src/debug.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) fn timed<F: FnOnce() -> R, R>(f: F) -> (R, Duration) {
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Native` is never constructed
[INFO] [stdout]  --> src/function.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) enum Function {
[INFO] [stdout]   |                 -------- variant in this enum
[INFO] [stdout] 8 |     // native rust functions
[INFO] [stdout] 9 |     Native(NativeFunction),
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Function` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `attach_std` is never used
[INFO] [stdout]  --> src/matador_std.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn attach_std(interpreter: &mut Interpreter) {
[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/function.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, PartialEq, Clone)]
[INFO] [stdout]   |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 9 |     Native(NativeFunction),
[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: value assigned to `last_was_lit` is never read
[INFO] [stdout]    --> src/parser.rs:410:29
[INFO] [stdout]     |
[INFO] [stdout] 410 | ...                   last_was_lit = false;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/node.rs:149:13
[INFO] [stdout]     |
[INFO] [stdout] 149 |             _ => { "???".to_string() }
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/node.rs:149:13
[INFO] [stdout]     |
[INFO] [stdout]  56 |             Node::Variable(v) => { format!("Variable: {}", v) }
[INFO] [stdout]     |             ----------------- matches some of the same values
[INFO] [stdout]  57 |             Node::Ident(ident) => { format!("Ident: {}", ident) }
[INFO] [stdout]     |             ------------------ matches some of the same values
[INFO] [stdout]  58 |             Node::Negative => { "Negative".to_string() }
[INFO] [stdout]     |             -------------- matches some of the same values
[INFO] [stdout]  59 |             Node::Not => { "Not".to_string() }
[INFO] [stdout]     |             --------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 149 |             _ => { "???".to_string() }
[INFO] [stdout]     |             ^ ...and 23 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Map` is never constructed
[INFO] [stdout]   --> src/node.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub(crate) enum Node {
[INFO] [stdout]    |                 ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Map(Vec<(Box<Node>, Box<Variable>)>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `source` is never read
[INFO] [stdout]   --> src/lexer.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct Lexer<'a> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 69 |     source: &'a str,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Range` and `Map` are never constructed
[INFO] [stdout]   --> src/variable.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub(crate) enum Variable {
[INFO] [stdout]    |                 -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 40 |     Range(i64, i64),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 41 |     Array(Vec<Box<Variable>>),
[INFO] [stdout] 42 |     Map(Vec<(Box<Variable>, Box<Variable>)>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Variable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `function_exists` and `get_or_else` are never used
[INFO] [stdout]   --> src/scope.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Scope {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn function_exists(&self, ident: String) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     fn get_or_else(&self, ident: &str) -> Variable {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get` and `function_exists` are never used
[INFO] [stdout]    --> src/scope.rs:90:19
[INFO] [stdout]     |
[INFO] [stdout]  62 | impl ScopeHandler {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub(crate) fn get(&self, ident: &str) -> Option<&Variable> {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub(crate) fn function_exists(&self, ident: String) -> bool {
[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/function.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, PartialEq, Clone)]
[INFO] [stdout]   |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 9 |     Native(NativeFunction),
[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: value assigned to `last_was_lit` is never read
[INFO] [stdout]    --> src/parser.rs:410:29
[INFO] [stdout]     |
[INFO] [stdout] 410 | ...                   last_was_lit = false;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/node.rs:149:13
[INFO] [stdout]     |
[INFO] [stdout] 149 |             _ => { "???".to_string() }
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/node.rs:149:13
[INFO] [stdout]     |
[INFO] [stdout]  56 |             Node::Variable(v) => { format!("Variable: {}", v) }
[INFO] [stdout]     |             ----------------- matches some of the same values
[INFO] [stdout]  57 |             Node::Ident(ident) => { format!("Ident: {}", ident) }
[INFO] [stdout]     |             ------------------ matches some of the same values
[INFO] [stdout]  58 |             Node::Negative => { "Negative".to_string() }
[INFO] [stdout]     |             -------------- matches some of the same values
[INFO] [stdout]  59 |             Node::Not => { "Not".to_string() }
[INFO] [stdout]     |             --------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 149 |             _ => { "???".to_string() }
[INFO] [stdout]     |             ^ ...and 23 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Map` is never constructed
[INFO] [stdout]   --> src/node.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub(crate) enum Node {
[INFO] [stdout]    |                 ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Map(Vec<(Box<Node>, Box<Variable>)>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `source` is never read
[INFO] [stdout]   --> src/lexer.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct Lexer<'a> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 69 |     source: &'a str,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Range` and `Map` are never constructed
[INFO] [stdout]   --> src/variable.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub(crate) enum Variable {
[INFO] [stdout]    |                 -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 40 |     Range(i64, i64),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 41 |     Array(Vec<Box<Variable>>),
[INFO] [stdout] 42 |     Map(Vec<(Box<Variable>, Box<Variable>)>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Variable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `function_exists` and `get_or_else` are never used
[INFO] [stdout]   --> src/scope.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Scope {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn function_exists(&self, ident: String) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     fn get_or_else(&self, ident: &str) -> Variable {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get` and `function_exists` are never used
[INFO] [stdout]    --> src/scope.rs:90:19
[INFO] [stdout]     |
[INFO] [stdout]  62 | impl ScopeHandler {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub(crate) fn get(&self, ident: &str) -> Option<&Variable> {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub(crate) fn function_exists(&self, ident: String) -> bool {
[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/function.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, PartialEq, Clone)]
[INFO] [stdout]   |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 9 |     Native(NativeFunction),
[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.18s
[INFO] running `Command { std: "docker" "inspect" "a9958c9d230759abca90f9521c6e5bfb341896630dcc0ce9593b3edcaf7ba821", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a9958c9d230759abca90f9521c6e5bfb341896630dcc0ce9593b3edcaf7ba821", kill_on_drop: false }`
[INFO] [stdout] a9958c9d230759abca90f9521c6e5bfb341896630dcc0ce9593b3edcaf7ba821
