[INFO] cloning repository https://github.com/MrVintage710/libretto
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MrVintage710/libretto" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMrVintage710%2Flibretto", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMrVintage710%2Flibretto'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 390322e9c64fd8a83387cd8d85fe47cf96522402
[INFO] checking MrVintage710/libretto against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMrVintage710%2Flibretto" "/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/MrVintage710/libretto
[INFO] finished tweaking git repo https://github.com/MrVintage710/libretto
[INFO] tweaked toml for git repo https://github.com/MrVintage710/libretto written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/MrVintage710/libretto on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/MrVintage710/libretto 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded logos-derive v0.12.1
[INFO] [stderr]   Downloaded beef v0.5.2
[INFO] [stderr]   Downloaded logos v0.12.1
[INFO] [stderr]   Downloaded proc-macro2 v1.0.50
[INFO] [stderr]   Downloaded peekmore v1.0.0
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3df9199cb256cbade2bd2cfbf554dd0e0dc259b09cc9eb893444f08d1cd0aa1c
[INFO] running `Command { std: "docker" "start" "-a" "3df9199cb256cbade2bd2cfbf554dd0e0dc259b09cc9eb893444f08d1cd0aa1c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3df9199cb256cbade2bd2cfbf554dd0e0dc259b09cc9eb893444f08d1cd0aa1c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3df9199cb256cbade2bd2cfbf554dd0e0dc259b09cc9eb893444f08d1cd0aa1c", kill_on_drop: false }`
[INFO] [stdout] 3df9199cb256cbade2bd2cfbf554dd0e0dc259b09cc9eb893444f08d1cd0aa1c
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 13a4af7d060d8175fa63c3423d7705eea6cca84c06cd598b0273ced414fa12b1
[INFO] running `Command { std: "docker" "start" "-a" "13a4af7d060d8175fa63c3423d7705eea6cca84c06cd598b0273ced414fa12b1", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.50
[INFO] [stderr]    Compiling unicode-ident v1.0.6
[INFO] [stderr]    Compiling quote v1.0.23
[INFO] [stderr]    Compiling syn v1.0.107
[INFO] [stderr]    Compiling rustversion v1.0.11
[INFO] [stderr]    Compiling regex-syntax v0.6.28
[INFO] [stderr]    Compiling thiserror v1.0.38
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]    Compiling serde v1.0.152
[INFO] [stderr]     Checking peekmore v1.0.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.38
[INFO] [stderr]    Compiling logos-derive v0.12.1
[INFO] [stderr]    Compiling strum_macros v0.24.3
[INFO] [stderr]     Checking strum v0.24.1
[INFO] [stderr]     Checking logos v0.12.1
[INFO] [stderr]     Checking libretto v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]    --> src/lexer.rs:160:15
[INFO] [stdout]     |
[INFO] [stdout] 160 |         while (!self.next_is(ordinal_group.clone())) {
[INFO] [stdout]     |               ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 160 -         while (!self.next_is(ordinal_group.clone())) {
[INFO] [stdout] 160 +         while !self.next_is(ordinal_group.clone())  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/lson.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fmt::{Debug, Display},
[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 import: `std::collections::HashMap`
[INFO] [stdout]  --> src/parse/logic_let_stmt.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `logic_assignment_stmt::LogicAssignmentStatement`, `logic_equality_expr::LogicEqualityExpr`, and `util::KeyValuePair`
[INFO] [stdout]  --> src/parse/logic_let_stmt.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | ...::{logic_equality_expr::LogicEqualityExpr, LibrettoParsable, logic_assignment_stmt::LogicAssignmentStatement, util::KeyValuePair, l...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/parse/logic_let_stmt.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     use std::collections::HashMap;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/parse/logic_assignment_stmt.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Lson`
[INFO] [stdout]  --> src/parse/logic_assignment_stmt.rs:3:93
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{lexer::{LibrettoTokenQueue, LibrettoLogicToken, LogicOrdinal}, lson::{LsonType, Lson}, parse_ast, compiler::{LibrettoComp...
[INFO] [stdout]   |                                                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `logic_equality_expr::LogicEqualityExpr`
[INFO] [stdout]  --> src/parse/logic_assignment_stmt.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{logic_equality_expr::LogicEqualityExpr, LibrettoParsable, logic_expr::LogicExpr};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/parse/logic_assignment_stmt.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     use std::collections::HashMap;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Lson`
[INFO] [stdout]   --> src/parse/logic_assignment_stmt.rs:57:16
[INFO] [stdout]    |
[INFO] [stdout] 57 |         lson::{Lson, LsonType},
[INFO] [stdout]    |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `logic_equality_expr::LogicEqualityExpr`
[INFO] [stdout]  --> src/parse/logic_value.rs:4:65
[INFO] [stdout]   |
[INFO] [stdout] 4 |     util::{CommaSeparatedList, KeyValuePair}, LibrettoParsable, logic_equality_expr::LogicEqualityExpr, logic_expr::LogicExpr,
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/parse/logic_expr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/parse/logic_expr.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     use std::collections::HashMap;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/parse/logic_unary_expr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lson::Lson`
[INFO] [stdout]  --> src/parse/logic_unary_expr.rs:3:87
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{lexer::{LibrettoLogicToken, LibrettoTokenQueue, LogicOrdinal}, parse_ast, lson::Lson, runtime::{LibrettoRuntime, Libretto...
[INFO] [stdout]   |                                                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/parse/logic_term_expr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Lson`
[INFO] [stdout]  --> src/parse/logic_term_expr.rs:5:29
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::lson::{LsonType, Lson};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `logic_value::LogicValue`
[INFO] [stdout]    --> src/parse/logic_term_expr.rs:132:31
[INFO] [stdout]     |
[INFO] [stdout] 132 |         parse::{test_util::*, logic_value::LogicValue, logic_factor_expr::LogicFactorExpr},
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/parse/logic_factor_expr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lson::Lson`
[INFO] [stdout]  --> src/parse/logic_factor_expr.rs:3:87
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{lexer::{LibrettoLogicToken, LibrettoTokenQueue, LogicOrdinal}, parse_ast, lson::Lson, runtime::{LibrettoRuntime, Libretto...
[INFO] [stdout]   |                                                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/parse/logic_comparison_expr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/parse/logic_equality_expr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]   --> src/parse.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fmt::Debug, collections::HashMap,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thiserror::Error`
[INFO] [stdout]   --> src/parse.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use thiserror::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Lson` and `runtime::LibrettoRuntime`
[INFO] [stdout]   --> src/parse.rs:19:22
[INFO] [stdout]    |
[INFO] [stdout] 19 |     lson::{LsonType, Lson},
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 20 |     lexer::{LibrettoTokenQueue, Ordinal}, runtime::LibrettoRuntime, compiler::LibrettoCompiletime,
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/parse.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     use std::collections::HashMap;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LsonType`
[INFO] [stdout]   --> src/runtime.rs:74:22
[INFO] [stdout]    |
[INFO] [stdout] 74 |         lson::{Lson, LsonType},
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Lson`
[INFO] [stdout]  --> src/compiler.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::lson::{Lson, LsonType};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]    --> src/lexer.rs:160:15
[INFO] [stdout]     |
[INFO] [stdout] 160 |         while (!self.next_is(ordinal_group.clone())) {
[INFO] [stdout]     |               ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 160 -         while (!self.next_is(ordinal_group.clone())) {
[INFO] [stdout] 160 +         while !self.next_is(ordinal_group.clone())  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/lson.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fmt::{Debug, Display},
[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 import: `std::collections::HashMap`
[INFO] [stdout]  --> src/parse/logic_let_stmt.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `logic_assignment_stmt::LogicAssignmentStatement`, `logic_equality_expr::LogicEqualityExpr`, and `util::KeyValuePair`
[INFO] [stdout]  --> src/parse/logic_let_stmt.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | ...::{logic_equality_expr::LogicEqualityExpr, LibrettoParsable, logic_assignment_stmt::LogicAssignmentStatement, util::KeyValuePair, l...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/parse/logic_assignment_stmt.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Lson`
[INFO] [stdout]  --> src/parse/logic_assignment_stmt.rs:3:93
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{lexer::{LibrettoTokenQueue, LibrettoLogicToken, LogicOrdinal}, lson::{LsonType, Lson}, parse_ast, compiler::{LibrettoComp...
[INFO] [stdout]   |                                                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `logic_equality_expr::LogicEqualityExpr`
[INFO] [stdout]  --> src/parse/logic_assignment_stmt.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{logic_equality_expr::LogicEqualityExpr, LibrettoParsable, logic_expr::LogicExpr};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `logic_equality_expr::LogicEqualityExpr`
[INFO] [stdout]  --> src/parse/logic_value.rs:4:65
[INFO] [stdout]   |
[INFO] [stdout] 4 |     util::{CommaSeparatedList, KeyValuePair}, LibrettoParsable, logic_equality_expr::LogicEqualityExpr, logic_expr::LogicExpr,
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/parse/logic_expr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/parse/logic_unary_expr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lson::Lson`
[INFO] [stdout]  --> src/parse/logic_unary_expr.rs:3:87
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{lexer::{LibrettoLogicToken, LibrettoTokenQueue, LogicOrdinal}, parse_ast, lson::Lson, runtime::{LibrettoRuntime, Libretto...
[INFO] [stdout]   |                                                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/parse/logic_term_expr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Lson`
[INFO] [stdout]  --> src/parse/logic_term_expr.rs:5:29
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::lson::{LsonType, Lson};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/parse/logic_factor_expr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lson::Lson`
[INFO] [stdout]  --> src/parse/logic_factor_expr.rs:3:87
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{lexer::{LibrettoLogicToken, LibrettoTokenQueue, LogicOrdinal}, parse_ast, lson::Lson, runtime::{LibrettoRuntime, Libretto...
[INFO] [stdout]   |                                                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/parse/logic_comparison_expr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/parse/logic_equality_expr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]   --> src/parse.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fmt::Debug, collections::HashMap,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thiserror::Error`
[INFO] [stdout]   --> src/parse.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use thiserror::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Lson` and `runtime::LibrettoRuntime`
[INFO] [stdout]   --> src/parse.rs:19:22
[INFO] [stdout]    |
[INFO] [stdout] 19 |     lson::{LsonType, Lson},
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 20 |     lexer::{LibrettoTokenQueue, Ordinal}, runtime::LibrettoRuntime, compiler::LibrettoCompiletime,
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/parse.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     use std::collections::HashMap;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Lson`
[INFO] [stdout]  --> src/compiler.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::lson::{Lson, LsonType};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/lexer.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn eq(&self, other: &Self) -> bool {
[INFO] [stdout]    |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l0`
[INFO] [stdout]    --> src/lson.rs:238:29
[INFO] [stdout]     |
[INFO] [stdout] 238 |             (Self::Function(l0, l1), Self::Function(r0, r1)) => false,
[INFO] [stdout]     |                             ^^ help: if this is intentional, prefix it with an underscore: `_l0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l1`
[INFO] [stdout]    --> src/lson.rs:238:33
[INFO] [stdout]     |
[INFO] [stdout] 238 |             (Self::Function(l0, l1), Self::Function(r0, r1)) => false,
[INFO] [stdout]     |                                 ^^ help: if this is intentional, prefix it with an underscore: `_l1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r0`
[INFO] [stdout]    --> src/lson.rs:238:53
[INFO] [stdout]     |
[INFO] [stdout] 238 |             (Self::Function(l0, l1), Self::Function(r0, r1)) => false,
[INFO] [stdout]     |                                                     ^^ help: if this is intentional, prefix it with an underscore: `_r0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]    --> src/lson.rs:238:57
[INFO] [stdout]     |
[INFO] [stdout] 238 |             (Self::Function(l0, l1), Self::Function(r0, r1)) => false,
[INFO] [stdout]     |                                                         ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/lexer.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn eq(&self, other: &Self) -> bool {
[INFO] [stdout]    |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg0`
[INFO] [stdout]    --> src/lson.rs:448:28
[INFO] [stdout]     |
[INFO] [stdout] 448 |             Self::Function(arg0, arg1) => f.write_str(format!("Function() -> {}", arg1.to_string()).as_str()),
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_arg0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]   --> src/parse/logic_let_stmt.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let first = queue.next_is(LogicOrdinal::Let) && TypedIdentifier::raw_check(queue);
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `runtime`
[INFO] [stdout]   --> src/parse/logic_assignment_stmt.rs:47:24
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn evaluate(&self, runtime: &mut LibrettoRuntime) -> LibrettoRuntimeResult {
[INFO] [stdout]    |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ast`
[INFO] [stdout]   --> src/parse/logic_assignment_stmt.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let ast = parse_expr::<LogicAssignmentStatement>("test = 2");
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_ast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compile_time`
[INFO] [stdout]    --> src/parse/logic_value.rs:182:70
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn parse(queue: &mut LibrettoTokenQueue<'a, LibrettoLogicToken>, compile_time : &mut LibrettoCompiletime) -> Option<Self> {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compile_time`
[INFO] [stdout]    --> src/parse/logic_value.rs:191:24
[INFO] [stdout]     |
[INFO] [stdout] 191 |     fn validate(&self, compile_time : &mut LibrettoCompiletime) -> LsonType {
[INFO] [stdout]     |                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parse/logic_term_expr.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |             let mut expected_type = get_term_type(&lhs, op, &rhs);
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parse/logic_factor_expr.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |             let mut expected_type = get_factor_type(&lhs, op, &rhs);
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]   --> src/parse/logic_comparison_expr.rs:89:41
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn get_comaprison_type(lhs : &LsonType, op : &ComparisonOperator, rhs : &LsonType) -> LsonType {
[INFO] [stdout]    |                                         ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]   --> src/parse/logic_equality_expr.rs:84:39
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn get_equality_type(lhs : &LsonType, op : &EqualityOperator, rhs : &LsonType) -> LsonType {
[INFO] [stdout]    |                                       ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compile_time`
[INFO] [stdout]   --> src/parse/util.rs:56:24
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn validate(&self, compile_time : &mut LibrettoCompiletime) -> LsonType {
[INFO] [stdout]    |                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ast`
[INFO] [stdout]    --> src/parse/util.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let ast = parse_expr::<CommaSeparatedList<Lson, LibrettoLogicToken>>("false");
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_ast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l0`
[INFO] [stdout]    --> src/lson.rs:238:29
[INFO] [stdout]     |
[INFO] [stdout] 238 |             (Self::Function(l0, l1), Self::Function(r0, r1)) => false,
[INFO] [stdout]     |                             ^^ help: if this is intentional, prefix it with an underscore: `_l0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l1`
[INFO] [stdout]    --> src/lson.rs:238:33
[INFO] [stdout]     |
[INFO] [stdout] 238 |             (Self::Function(l0, l1), Self::Function(r0, r1)) => false,
[INFO] [stdout]     |                                 ^^ help: if this is intentional, prefix it with an underscore: `_l1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r0`
[INFO] [stdout]    --> src/lson.rs:238:53
[INFO] [stdout]     |
[INFO] [stdout] 238 |             (Self::Function(l0, l1), Self::Function(r0, r1)) => false,
[INFO] [stdout]     |                                                     ^^ help: if this is intentional, prefix it with an underscore: `_r0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]    --> src/lson.rs:238:57
[INFO] [stdout]     |
[INFO] [stdout] 238 |             (Self::Function(l0, l1), Self::Function(r0, r1)) => false,
[INFO] [stdout]     |                                                         ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg0`
[INFO] [stdout]    --> src/lson.rs:448:28
[INFO] [stdout]     |
[INFO] [stdout] 448 |             Self::Function(arg0, arg1) => f.write_str(format!("Function() -> {}", arg1.to_string()).as_str()),
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_arg0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `length`, `next_nth_is`, and `pop_until` are never used
[INFO] [stdout]    --> src/lexer.rs:84:12
[INFO] [stdout]     |
[INFO] [stdout]  60 | / impl<'a, T> LibrettoTokenQueue<'a, T>
[INFO] [stdout]  61 | | where
[INFO] [stdout]  62 | |     T: Logos<'a> + PartialEq + Clone + Ordinal + Debug + Debug + 'a,
[INFO] [stdout]  63 | |     T::Extras: Clone,
[INFO] [stdout]     | |_____________________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  84 |       pub fn length(&self) -> usize {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |       pub fn next_nth_is<D: From<T> + PartialEq + Copy>(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |       pub fn pop_until<D: From<T> + PartialEq + Copy>(
[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 `content_after_first` is never used
[INFO] [stdout]    --> src/lexer.rs:249:4
[INFO] [stdout]     |
[INFO] [stdout] 249 | fn content_after_first<'a>(lex: &mut Lexer<'a, LibrettoToken<'a>>) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `content_except_first_and_last` is never used
[INFO] [stdout]    --> src/lexer.rs:253:4
[INFO] [stdout]     |
[INFO] [stdout] 253 | fn content_except_first_and_last<'a>(lex: &mut Lexer<'a, LibrettoToken<'a>>) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `as_logic_for_top` is never used
[INFO] [stdout]    --> src/lexer.rs:258:4
[INFO] [stdout]     |
[INFO] [stdout] 258 | fn as_logic_for_top<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LibrettoToken` is never used
[INFO] [stdout]    --> src/lexer.rs:271:10
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub enum LibrettoToken<'a> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `as_logic_for_quote` is never used
[INFO] [stdout]    --> src/lexer.rs:484:4
[INFO] [stdout]     |
[INFO] [stdout] 484 | fn as_logic_for_quote<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LibrettoQuoteToken` is never used
[INFO] [stdout]    --> src/lexer.rs:497:10
[INFO] [stdout]     |
[INFO] [stdout] 497 | pub enum LibrettoQuoteToken<'a> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Function` is never constructed
[INFO] [stdout]   --> src/lson.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum Lson {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Function(LibrettoFunction, LsonType),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Lson` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/lson.rs:34:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl Lson {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout]  34 |     pub fn is_i64(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  42 |     pub fn is_f64(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  50 |     pub fn is_bool(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |     pub fn is_string(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub fn is_array(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn is_struct(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn matches_type(&self, t : LsonType) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_equality_type` is never used
[INFO] [stdout]    --> src/lson.rs:510:12
[INFO] [stdout]     |
[INFO] [stdout] 457 | impl LsonType {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 510 |     pub fn get_equality_type(&self, other : LsonType) -> LsonType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `index_into_mut` is never used
[INFO] [stdout]    --> src/lson.rs:554:8
[INFO] [stdout]     |
[INFO] [stdout] 551 | pub trait LsonIndex {
[INFO] [stdout]     |           --------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 554 |     fn index_into_mut<'l>(&self, value: &'l mut Lson) -> Option<&'l mut Lson>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `FunctionParams` is never used
[INFO] [stdout]   --> src/parse/logic_value.rs:69:6
[INFO] [stdout]    |
[INFO] [stdout] 69 | type FunctionParams<'a> = CommaSeparatedList<'a, KeyValuePair<'a, LsonType, LibrettoLogicToken>, LibrettoLogicToken>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_comaprison_type` is never used
[INFO] [stdout]   --> src/parse/logic_comparison_expr.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn get_comaprison_type(lhs : &LsonType, op : &ComparisonOperator, rhs : &LsonType) -> LsonType {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_equality_type` is never used
[INFO] [stdout]   --> src/parse/logic_equality_expr.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn get_equality_type(lhs : &LsonType, op : &EqualityOperator, rhs : &LsonType) -> LsonType {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `implicit_type` is never used
[INFO] [stdout]   --> src/parse/util.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl TypedIdentifier {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 21 |     pub fn implicit_type(&self) -> Option<LsonType> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]   --> src/parse/logic_let_stmt.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let first = queue.next_is(LogicOrdinal::Let) && TypedIdentifier::raw_check(queue);
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `event_listeners` is never read
[INFO] [stdout]   --> src/runtime.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct LibrettoRuntime {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 11 |     current_scope: LibrettoScope<Lson>,
[INFO] [stdout] 12 |     event_listeners: Vec<Box<dyn LibrettoEventListener>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `VariableNotDefined` is never constructed
[INFO] [stdout]   --> src/runtime.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub enum LibrettoRuntimeError {
[INFO] [stdout]    |          -------------------- variant in this enum
[INFO] [stdout] 64 |     #[error("There is no assignable variable with the identifier '{0}'")]
[INFO] [stdout] 65 |     VariableNotDefined(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LibrettoRuntimeError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `on_event` is never used
[INFO] [stdout]  --> src/runtime/event.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait LibrettoEventListener {
[INFO] [stdout]   |           --------------------- method in this trait
[INFO] [stdout] 4 |     fn on_event(&mut self, event_id: &str, data: Vec<Lson>);
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `replace_data`, `data_depth`, and `check_depth` are never used
[INFO] [stdout]   --> src/scope.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl <T> LibrettoScope<T> where T: Clone + Default {
[INFO] [stdout]    | -------------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn replace_data(&mut self, ident : &str, value : T) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn data_depth(&self, ident : &str) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn check_depth(&self, ident : &str, current_depth : i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push_scope`, `pop_scope`, `has_variable_type`, and `variable_depth` are never used
[INFO] [stdout]   --> src/compiler.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl LibrettoCompiletime {
[INFO] [stdout]    | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn push_scope(&mut self, data : impl Into<HashMap<String, LsonType>>) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn pop_scope(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn has_variable_type(&self, ident : &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn variable_depth(&self, ident : &str) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NullValueError` and `ParseCheckNotThoroughError` are never constructed
[INFO] [stdout]   --> src/compiler.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub enum LibrettoCompileError {
[INFO] [stdout]    |          -------------------- variants in this enum
[INFO] [stdout] 68 |     #[error("Values are not allowed to be set to null.")]
[INFO] [stdout] 69 |     NullValueError,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     ParseCheckNotThoroughError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LibrettoCompileError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `runtime`
[INFO] [stdout]   --> src/parse/logic_assignment_stmt.rs:47:24
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn evaluate(&self, runtime: &mut LibrettoRuntime) -> LibrettoRuntimeResult {
[INFO] [stdout]    |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused logical operation that must be used
[INFO] [stdout]   --> src/parse/util.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |             queue.next_is(LogicOrdinal::Colon) && LsonType::raw_check(queue);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the logical operation produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 33 |             let _ = queue.next_is(LogicOrdinal::Colon) && LsonType::raw_check(queue);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compile_time`
[INFO] [stdout]    --> src/parse/logic_value.rs:182:70
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn parse(queue: &mut LibrettoTokenQueue<'a, LibrettoLogicToken>, compile_time : &mut LibrettoCompiletime) -> Option<Self> {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compile_time`
[INFO] [stdout]    --> src/parse/logic_value.rs:191:24
[INFO] [stdout]     |
[INFO] [stdout] 191 |     fn validate(&self, compile_time : &mut LibrettoCompiletime) -> LsonType {
[INFO] [stdout]     |                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parse/logic_term_expr.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |             let mut expected_type = get_term_type(&lhs, op, &rhs);
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parse/logic_factor_expr.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |             let mut expected_type = get_factor_type(&lhs, op, &rhs);
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]   --> src/parse/logic_comparison_expr.rs:89:41
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn get_comaprison_type(lhs : &LsonType, op : &ComparisonOperator, rhs : &LsonType) -> LsonType {
[INFO] [stdout]    |                                         ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]   --> src/parse/logic_equality_expr.rs:84:39
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn get_equality_type(lhs : &LsonType, op : &EqualityOperator, rhs : &LsonType) -> LsonType {
[INFO] [stdout]    |                                       ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compile_time`
[INFO] [stdout]   --> src/parse/util.rs:56:24
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn validate(&self, compile_time : &mut LibrettoCompiletime) -> LsonType {
[INFO] [stdout]    |                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LibrettoTokenQueue` is never constructed
[INFO] [stdout]   --> src/lexer.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct LibrettoTokenQueue<'a, T>
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/lexer.rs:65:12
[INFO] [stdout]     |
[INFO] [stdout]  60 | / impl<'a, T> LibrettoTokenQueue<'a, T>
[INFO] [stdout]  61 | | where
[INFO] [stdout]  62 | |     T: Logos<'a> + PartialEq + Clone + Ordinal + Debug + Debug + 'a,
[INFO] [stdout]  63 | |     T::Extras: Clone,
[INFO] [stdout]     | |_____________________- methods in this implementation
[INFO] [stdout]  64 |   {
[INFO] [stdout]  65 |       pub fn rewind(&mut self) {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |       pub fn mark(&mut self) {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |       pub fn reset(&mut self) {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |       pub fn cursor(&self) -> usize {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |       pub fn length(&self) -> usize {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |       pub fn next_is<D: From<T> + PartialEq + Copy>(
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |       pub fn next_nth_is<D: From<T> + PartialEq + Copy>(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |       pub fn pop(&mut self) -> Option<T> {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |       pub fn pop_if_next_is<D: From<T> + PartialEq + Copy>(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |       pub fn pop_and_check_if<D: From<T> + PartialEq + Copy>(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |       pub fn pop_until<D: From<T> + PartialEq + Copy>(
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Ordinal` is never used
[INFO] [stdout]    --> src/lexer.rs:173:11
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub trait Ordinal: Sized + Clone {
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OrdinalGroup` is never constructed
[INFO] [stdout]    --> src/lexer.rs:188:12
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub struct OrdinalGroup<'a, T, D>
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `check_ordinal` is never used
[INFO] [stdout]    --> src/lexer.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 228 | / impl<'a, D, T> OrdinalGroup<'a, T, D>
[INFO] [stdout] 229 | | where
[INFO] [stdout] 230 | |     T: Logos<'a> + PartialEq + Clone + Ordinal,
[INFO] [stdout] 231 | |     T::Extras: Clone,
[INFO] [stdout] 232 | |     D: From<T> + PartialEq + Copy,
[INFO] [stdout]     | |__________________________________- method in this implementation
[INFO] [stdout] 233 |   {
[INFO] [stdout] 234 |       fn check_ordinal(&self, token: &T) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `content_after_first` is never used
[INFO] [stdout]    --> src/lexer.rs:249:4
[INFO] [stdout]     |
[INFO] [stdout] 249 | fn content_after_first<'a>(lex: &mut Lexer<'a, LibrettoToken<'a>>) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `content_except_first_and_last` is never used
[INFO] [stdout]    --> src/lexer.rs:253:4
[INFO] [stdout]     |
[INFO] [stdout] 253 | fn content_except_first_and_last<'a>(lex: &mut Lexer<'a, LibrettoToken<'a>>) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `as_logic_for_top` is never used
[INFO] [stdout]    --> src/lexer.rs:258:4
[INFO] [stdout]     |
[INFO] [stdout] 258 | fn as_logic_for_top<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LibrettoToken` is never used
[INFO] [stdout]    --> src/lexer.rs:271:10
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub enum LibrettoToken<'a> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lex_string` is never used
[INFO] [stdout]    --> src/lexer.rs:316:4
[INFO] [stdout]     |
[INFO] [stdout] 316 | fn lex_string(lex: &mut Lexer<LibrettoLogicToken>) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lex_text` is never used
[INFO] [stdout]    --> src/lexer.rs:321:4
[INFO] [stdout]     |
[INFO] [stdout] 321 | fn lex_text(lex: &mut Lexer<LibrettoLogicToken>) -> String {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lex_int` is never used
[INFO] [stdout]    --> src/lexer.rs:325:4
[INFO] [stdout]     |
[INFO] [stdout] 325 | fn lex_int(lex: &mut Lexer<LibrettoLogicToken>) -> i64 {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lex_float` is never used
[INFO] [stdout]    --> src/lexer.rs:330:4
[INFO] [stdout]     |
[INFO] [stdout] 330 | fn lex_float(lex: &mut Lexer<LibrettoLogicToken>) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lex_bool` is never used
[INFO] [stdout]    --> src/lexer.rs:335:4
[INFO] [stdout]     |
[INFO] [stdout] 335 | fn lex_bool(lex: &mut Lexer<LibrettoLogicToken>) -> bool {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lex_type` is never used
[INFO] [stdout]    --> src/lexer.rs:341:4
[INFO] [stdout]     |
[INFO] [stdout] 341 | fn lex_type(lex: &mut Lexer<LibrettoLogicToken>) -> LsonType {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LibrettoLogicToken` is never used
[INFO] [stdout]    --> src/lexer.rs:358:10
[INFO] [stdout]     |
[INFO] [stdout] 358 | pub enum LibrettoLogicToken {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `as_logic_for_quote` is never used
[INFO] [stdout]    --> src/lexer.rs:484:4
[INFO] [stdout]     |
[INFO] [stdout] 484 | fn as_logic_for_quote<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LibrettoQuoteToken` is never used
[INFO] [stdout]    --> src/lexer.rs:497:10
[INFO] [stdout]     |
[INFO] [stdout] 497 | pub enum LibrettoQuoteToken<'a> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `LibrettoFunction` is never used
[INFO] [stdout]   --> src/lson.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub type LibrettoFunction = Rc<dyn Fn(Vec<Lson>, &mut LibrettoRuntime) -> Lson>;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Lson` is never used
[INFO] [stdout]   --> src/lson.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum Lson {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/lson.rs:34:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl Lson {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout]  34 |     pub fn is_i64(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  42 |     pub fn is_f64(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  50 |     pub fn is_bool(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |     pub fn is_string(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub fn is_array(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn is_struct(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn as_i64(&self) -> Option<i64> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn as_f64(&self) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn as_bool(&self) -> Option<bool> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn as_string(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn as_str(&self) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn matches_type(&self, t : LsonType) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn get_type(&self) -> LsonType {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_sum_type`, `get_difference_type`, `get_product_type`, `get_quotient_type`, `get_comparison_type`, and `get_equality_type` are never used
[INFO] [stdout]    --> src/lson.rs:458:12
[INFO] [stdout]     |
[INFO] [stdout] 457 | impl LsonType {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 458 |     pub fn get_sum_type(&self, other : LsonType) -> LsonType {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 470 |     pub fn get_difference_type(&self, other : LsonType) -> LsonType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 480 |     pub fn get_product_type(&self, other : LsonType) -> LsonType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 490 |     pub fn get_quotient_type(&self, other : LsonType) -> LsonType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 500 |     pub fn get_comparison_type(&self, other : LsonType) -> LsonType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 510 |     pub fn get_equality_type(&self, other : LsonType) -> LsonType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LsonIndex` is never used
[INFO] [stdout]    --> src/lson.rs:551:11
[INFO] [stdout]     |
[INFO] [stdout] 551 | pub trait LsonIndex {
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LibrettoParsable` is never used
[INFO] [stdout]   --> src/parse.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub trait LibrettoParsable<'a, T>
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogicLetStatement` is never constructed
[INFO] [stdout]  --> src/parse/logic_let_stmt.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct LogicLetStatement {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogicAssignmentStatement` is never constructed
[INFO] [stdout]  --> src/parse/logic_assignment_stmt.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct LogicAssignmentStatement {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LogicValue` is never used
[INFO] [stdout]   --> src/parse/logic_value.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum LogicValue {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ObjectTerm` is never used
[INFO] [stdout]   --> src/parse/logic_value.rs:68:6
[INFO] [stdout]    |
[INFO] [stdout] 68 | type ObjectTerm<'a> = CommaSeparatedList<'a, KeyValuePair<'a, Lson, LibrettoLogicToken>, LibrettoLogicToken>;
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `FunctionParams` is never used
[INFO] [stdout]   --> src/parse/logic_value.rs:69:6
[INFO] [stdout]    |
[INFO] [stdout] 69 | type FunctionParams<'a> = CommaSeparatedList<'a, KeyValuePair<'a, LsonType, LibrettoLogicToken>, LibrettoLogicToken>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ArrayTerm` is never used
[INFO] [stdout]   --> src/parse/logic_value.rs:70:6
[INFO] [stdout]    |
[INFO] [stdout] 70 | type ArrayTerm<'a> = CommaSeparatedList<'a, Lson, LibrettoLogicToken>;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogicExpr` is never constructed
[INFO] [stdout]  --> src/parse/logic_expr.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct LogicExpr {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UnaryOperator` is never used
[INFO] [stdout]   --> src/parse/logic_unary_expr.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum UnaryOperator {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogicUnaryExpr` is never constructed
[INFO] [stdout]   --> src/parse/logic_unary_expr.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct LogicUnaryExpr {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TermOperator` is never used
[INFO] [stdout]   --> src/parse/logic_term_expr.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum TermOperator {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogicTermExpr` is never constructed
[INFO] [stdout]   --> src/parse/logic_term_expr.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct LogicTermExpr {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_term_type` is never used
[INFO] [stdout]    --> src/parse/logic_term_expr.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn get_term_type(lhs : &LsonType, op : &TermOperator, rhs : &LsonType) -> LsonType {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FactorOperator` is never used
[INFO] [stdout]   --> src/parse/logic_factor_expr.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum FactorOperator {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogicFactorExpr` is never constructed
[INFO] [stdout]   --> src/parse/logic_factor_expr.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct LogicFactorExpr {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_factor_type` is never used
[INFO] [stdout]   --> src/parse/logic_factor_expr.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn get_factor_type(lhs : &LsonType, op : &FactorOperator, rhs : &LsonType) -> LsonType {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogicComparisonExpr` is never constructed
[INFO] [stdout]   --> src/parse/logic_comparison_expr.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct LogicComparisonExpr {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ComparisonOperator` is never used
[INFO] [stdout]   --> src/parse/logic_comparison_expr.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum ComparisonOperator {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_comaprison_type` is never used
[INFO] [stdout]   --> src/parse/logic_comparison_expr.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn get_comaprison_type(lhs : &LsonType, op : &ComparisonOperator, rhs : &LsonType) -> LsonType {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogicEqualityExpr` is never constructed
[INFO] [stdout]   --> src/parse/logic_equality_expr.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct LogicEqualityExpr {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EqualityOperator` is never used
[INFO] [stdout]   --> src/parse/logic_equality_expr.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum EqualityOperator {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_equality_type` is never used
[INFO] [stdout]   --> src/parse/logic_equality_expr.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn get_equality_type(lhs : &LsonType, op : &EqualityOperator, rhs : &LsonType) -> LsonType {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TypedIdentifier` is never constructed
[INFO] [stdout]   --> src/parse/util.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct TypedIdentifier {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `implicit_type` and `ident` are never used
[INFO] [stdout]   --> src/parse/util.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl TypedIdentifier {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] 21 |     pub fn implicit_type(&self) -> Option<LsonType> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn ident(&self) -> &str {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeyValuePair` is never constructed
[INFO] [stdout]   --> src/parse/util.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct KeyValuePair<'a, P, T>
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `key` and `value` are never used
[INFO] [stdout]   --> src/parse/util.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | / impl <'a, P, T> KeyValuePair<'a, P, T>
[INFO] [stdout] 79 | | where
[INFO] [stdout] 80 | |     P: LibrettoParsable<'a, T> + Sized,
[INFO] [stdout] 81 | |     T: Logos<'a> + PartialEq + Ordinal + Clone + Debug + 'a,
[INFO] [stdout] 82 | |     T::Extras: Clone,
[INFO] [stdout] 83 | |     Self: Sized,
[INFO] [stdout]    | |________________- methods in this implementation
[INFO] [stdout] 84 |   {
[INFO] [stdout] 85 |       pub fn key(&self) -> &str {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |       pub fn value(&self) -> &P {
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommaSeparatedList` is never constructed
[INFO] [stdout]    --> src/parse/util.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct CommaSeparatedList<'a, P, T>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `values` is never used
[INFO] [stdout]    --> src/parse/util.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | / impl<'a, P, T> CommaSeparatedList<'a, P, T>
[INFO] [stdout] 146 | | where
[INFO] [stdout] 147 | |     P: LibrettoParsable<'a, T> + Sized,
[INFO] [stdout] 148 | |     T: Logos<'a> + PartialEq + Ordinal + Clone + Debug + 'a,
[INFO] [stdout] 149 | |     T::Extras: Clone,
[INFO] [stdout] 150 | |     Self: Sized,
[INFO] [stdout]     | |________________- method in this implementation
[INFO] [stdout] 151 |   {
[INFO] [stdout] 152 |       pub fn values(&self) -> &Vec<P> {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_expr` is never used
[INFO] [stdout]   --> src/parse.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn check_expr<'a, T: LibrettoParsable<'a, LibrettoLogicToken>>(
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_expr` is never used
[INFO] [stdout]    --> src/parse.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub fn parse_expr<'a, T: LibrettoParsable<'a, LibrettoLogicToken>>(source: &'a str) -> T {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_expr` is never used
[INFO] [stdout]    --> src/parse.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn validate_expr<'a, T: LibrettoParsable<'a, LibrettoLogicToken>>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate_expr` is never used
[INFO] [stdout]    --> src/parse.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn evaluate_expr<'a, T : LibrettoParsable<'a, LibrettoLogicToken> + LibrettoEvaluator>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LibrettoRuntime` is never constructed
[INFO] [stdout]   --> src/runtime.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct LibrettoRuntime {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_data`, `get_data`, `push_scope`, `pop_scope`, `insert_data`, and `has_data` are never used
[INFO] [stdout]   --> src/runtime.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl LibrettoRuntime {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 25 |
[INFO] [stdout] 26 |     pub fn with_data(data : impl Into<HashMap<String, Lson>>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn get_data(&self, key : &str) -> Lson {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn push_scope(&mut self, data : impl Into<HashMap<String, Lson>>) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn pop_scope(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn insert_data(&mut self, ident : &str, value : Lson) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn has_data(&self, ident : &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LibrettoEvaluator` is never used
[INFO] [stdout]   --> src/runtime.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub trait LibrettoEvaluator {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LibrettoRuntimeError` is never used
[INFO] [stdout]   --> src/runtime.rs:63:10
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub enum LibrettoRuntimeError {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `LibrettoRuntimeResult` is never used
[INFO] [stdout]   --> src/runtime.rs:68:10
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub type LibrettoRuntimeResult = Result<Lson, LibrettoRuntimeError>;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LibrettoEventListener` is never used
[INFO] [stdout]  --> src/runtime/event.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait LibrettoEventListener {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LibrettoScope` is never constructed
[INFO] [stdout]  --> src/scope.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub(crate) struct LibrettoScope<T> {
[INFO] [stdout]   |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/scope.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl <T> LibrettoScope<T> where T: Clone + Default {
[INFO] [stdout]    | -------------------------------------------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(data : impl Into<HashMap<String, T>> ) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn get_data(&self, ident : &str) -> T {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn replace_data(&mut self, ident : &str, value : T) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn has_data(&self, ident : &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn data_depth(&self, ident : &str) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn check_depth(&self, ident : &str, current_depth : i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn depth(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LibrettoCompiletime` is never constructed
[INFO] [stdout]  --> src/compiler.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct LibrettoCompiletime {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/compiler.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl LibrettoCompiletime {
[INFO] [stdout]    | ------------------------ associated items in this implementation
[INFO] [stdout] 21 |
[INFO] [stdout] 22 |     pub fn with_data(data : impl Into<HashMap<String, LsonType>>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn get_variable_type(&self, key : &str) -> LsonType {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn push_scope(&mut self, data : impl Into<HashMap<String, LsonType>>) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn pop_scope(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn insert_variable_type(&mut self, ident : &str, value : LsonType) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn error_count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn push_error(&mut self, value: LibrettoCompileError) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn has_variable_type(&self, ident : &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn variable_depth(&self, ident : &str) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LibrettoCompileError` is never used
[INFO] [stdout]   --> src/compiler.rs:67:10
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub enum LibrettoCompileError {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused logical operation that must be used
[INFO] [stdout]   --> src/parse/util.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |             queue.next_is(LogicOrdinal::Colon) && LsonType::raw_check(queue);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the logical operation produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 33 |             let _ = queue.next_is(LogicOrdinal::Colon) && LsonType::raw_check(queue);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.96s
[INFO] running `Command { std: "docker" "inspect" "13a4af7d060d8175fa63c3423d7705eea6cca84c06cd598b0273ced414fa12b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "13a4af7d060d8175fa63c3423d7705eea6cca84c06cd598b0273ced414fa12b1", kill_on_drop: false }`
[INFO] [stdout] 13a4af7d060d8175fa63c3423d7705eea6cca84c06cd598b0273ced414fa12b1
