[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] testing MrVintage710/libretto against beta-2025-02-18 for beta-1.86-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMrVintage710%2Flibretto" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/MrVintage710/libretto on toolchain beta-2025-02-18 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-02-18" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-7-tc2/source/Cargo.toml [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" "+beta-2025-02-18" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded peekmore v1.0.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-02-18" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e66bcabc813db73f2617a792542387a21b863dacad7b442d5079784915a880dd [INFO] running `Command { std: "docker" "start" "-a" "e66bcabc813db73f2617a792542387a21b863dacad7b442d5079784915a880dd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e66bcabc813db73f2617a792542387a21b863dacad7b442d5079784915a880dd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e66bcabc813db73f2617a792542387a21b863dacad7b442d5079784915a880dd", kill_on_drop: false }` [INFO] [stdout] e66bcabc813db73f2617a792542387a21b863dacad7b442d5079784915a880dd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-02-18" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a9885fe43b1ec84ed4515440a4e3e2d91dd17b1762808e2c1e44a3ca30901cc5 [INFO] running `Command { std: "docker" "start" "-a" "a9885fe43b1ec84ed4515440a4e3e2d91dd17b1762808e2c1e44a3ca30901cc5", 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 beef v0.5.2 [INFO] [stderr] Compiling thiserror v1.0.38 [INFO] [stderr] Compiling serde v1.0.152 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling peekmore v1.0.0 [INFO] [stderr] Compiling logos-derive v0.12.1 [INFO] [stderr] Compiling strum_macros v0.24.3 [INFO] [stderr] Compiling thiserror-impl v1.0.38 [INFO] [stderr] Compiling strum v0.24.1 [INFO] [stderr] Compiling logos v0.12.1 [INFO] [stderr] Compiling 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)]` 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)]` 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 | ...r::{logic_equality_expr::LogicEqualityExpr, LibrettoParsable, logic_assignment_stmt::LogicAssignmentStatement, util::KeyValuePair, log... [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::{LibrettoCompileE... [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, LibrettoEval... [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, LibrettoEval... [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)]` 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: `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: `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 { [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)]` 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: methods `rewind`, `mark`, `cursor`, `length`, `next_nth_is`, and `pop_until` 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] 79 | pub fn cursor(&self) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn length(&self) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn next_nth_is + PartialEq + Copy>( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn pop_until + PartialEq + Copy>( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [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] 98 | pub fn as_bool(&self) -> Option { [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: associated functions `check` and `checked_parse` are never used [INFO] [stdout] --> src/parse.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub trait LibrettoParsable<'a, T> [INFO] [stdout] | ---------------- associated functions in this trait [INFO] [stdout] ... [INFO] [stdout] 40 | fn check(queue: &mut LibrettoTokenQueue<'a, T>) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | fn checked_parse(queue: &mut LibrettoTokenQueue<'a, T>, compile_time : &mut LibrettoCompiletime) -> Option { [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 { [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: 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, [INFO] [stdout] 12 | event_listeners: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_data`, `push_scope`, `pop_scope`, 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>) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn push_scope(&mut self, data : impl Into>) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn pop_scope(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn has_data(&self, ident : &str) -> bool { [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); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `replace_data`, `has_data`, `data_depth`, `check_depth`, and `depth` are never used [INFO] [stdout] --> src/scope.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl LibrettoScope where T: Clone + Default { [INFO] [stdout] | -------------------------------------------------- associated items in this implementation [INFO] [stdout] 9 | pub fn new(data : impl Into> ) -> Self { [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: associated items `with_data`, `push_scope`, `pop_scope`, `error_count`, `has_variable_type`, and `variable_depth` 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>) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn push_scope(&mut self, data : impl Into>) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn pop_scope(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn error_count(&self) -> usize { [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 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)]` 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 13.03s [INFO] running `Command { std: "docker" "inspect" "a9885fe43b1ec84ed4515440a4e3e2d91dd17b1762808e2c1e44a3ca30901cc5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a9885fe43b1ec84ed4515440a4e3e2d91dd17b1762808e2c1e44a3ca30901cc5", kill_on_drop: false }` [INFO] [stdout] a9885fe43b1ec84ed4515440a4e3e2d91dd17b1762808e2c1e44a3ca30901cc5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-02-18" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 32e3e47c3a11a510b95e3106c28b0fa7ed72f8582acf212ab2016b35b77e981e [INFO] running `Command { std: "docker" "start" "-a" "32e3e47c3a11a510b95e3106c28b0fa7ed72f8582acf212ab2016b35b77e981e", kill_on_drop: false }` [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)]` 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)]` 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 | ...r::{logic_equality_expr::LogicEqualityExpr, LibrettoParsable, logic_assignment_stmt::LogicAssignmentStatement, util::KeyValuePair, log... [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::{LibrettoCompileE... [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, LibrettoEval... [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, LibrettoEval... [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)]` 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: `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: `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 { [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)]` 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] [stderr] Compiling libretto v0.1.0 (/opt/rustwide/workdir) [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: methods `rewind`, `mark`, `cursor`, `length`, `next_nth_is`, and `pop_until` 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] 79 | pub fn cursor(&self) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn length(&self) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn next_nth_is + PartialEq + Copy>( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn pop_until + PartialEq + Copy>( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [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] 98 | pub fn as_bool(&self) -> Option { [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: associated functions `check` and `checked_parse` are never used [INFO] [stdout] --> src/parse.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub trait LibrettoParsable<'a, T> [INFO] [stdout] | ---------------- associated functions in this trait [INFO] [stdout] ... [INFO] [stdout] 40 | fn check(queue: &mut LibrettoTokenQueue<'a, T>) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | fn checked_parse(queue: &mut LibrettoTokenQueue<'a, T>, compile_time : &mut LibrettoCompiletime) -> Option { [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 { [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: 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, [INFO] [stdout] 12 | event_listeners: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_data`, `push_scope`, `pop_scope`, 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>) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn push_scope(&mut self, data : impl Into>) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn pop_scope(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn has_data(&self, ident : &str) -> bool { [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); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `replace_data`, `has_data`, `data_depth`, `check_depth`, and `depth` are never used [INFO] [stdout] --> src/scope.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl LibrettoScope where T: Clone + Default { [INFO] [stdout] | -------------------------------------------------- associated items in this implementation [INFO] [stdout] 9 | pub fn new(data : impl Into> ) -> Self { [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: associated items `with_data`, `push_scope`, `pop_scope`, `error_count`, `has_variable_type`, and `variable_depth` 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>) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn push_scope(&mut self, data : impl Into>) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn pop_scope(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn error_count(&self) -> usize { [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 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)]` 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: 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)]` 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)]` 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 | ...r::{logic_equality_expr::LogicEqualityExpr, LibrettoParsable, logic_assignment_stmt::LogicAssignmentStatement, util::KeyValuePair, log... [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::{LibrettoCompileE... [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, LibrettoEval... [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, LibrettoEval... [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: 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)]` 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: `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::("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 { [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)]` 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::>("false"); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ast` [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 + PartialEq + Copy>( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn pop_until + PartialEq + Copy>( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [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: 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 { [INFO] [stdout] | ^^^^^^^^^^^^^ [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, [INFO] [stdout] 12 | event_listeners: Vec>, [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); [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 LibrettoScope 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>) { [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 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)]` 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 `test` profile [unoptimized + debuginfo] target(s) in 1.75s [INFO] running `Command { std: "docker" "inspect" "32e3e47c3a11a510b95e3106c28b0fa7ed72f8582acf212ab2016b35b77e981e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "32e3e47c3a11a510b95e3106c28b0fa7ed72f8582acf212ab2016b35b77e981e", kill_on_drop: false }` [INFO] [stdout] 32e3e47c3a11a510b95e3106c28b0fa7ed72f8582acf212ab2016b35b77e981e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-02-18" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 9c55de356c29aa91ec85b02955aa2d08cbcb31bb7897a658364e2679acad919a [INFO] running `Command { std: "docker" "start" "-a" "9c55de356c29aa91ec85b02955aa2d08cbcb31bb7897a658364e2679acad919a", kill_on_drop: false }` [INFO] [stderr] warning: unnecessary parentheses around `while` condition [INFO] [stderr] --> src/lexer.rs:160:15 [INFO] [stderr] | [INFO] [stderr] 160 | while (!self.next_is(ordinal_group.clone())) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 160 - while (!self.next_is(ordinal_group.clone())) { [INFO] [stderr] 160 + while !self.next_is(ordinal_group.clone()) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `Display` [INFO] [stderr] --> src/lson.rs:7:18 [INFO] [stderr] | [INFO] [stderr] 7 | fmt::{Debug, Display}, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/parse/logic_let_stmt.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `logic_assignment_stmt::LogicAssignmentStatement`, `logic_equality_expr::LogicEqualityExpr`, and `util::KeyValuePair` [INFO] [stderr] --> src/parse/logic_let_stmt.rs:5:13 [INFO] [stderr] | [INFO] [stderr] 5 | ...r::{logic_equality_expr::LogicEqualityExpr, LibrettoParsable, logic_assignment_stmt::LogicAssignmentStatement, util::KeyValuePair, log... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/parse/logic_assignment_stmt.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Lson` [INFO] [stderr] --> src/parse/logic_assignment_stmt.rs:3:93 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::{lexer::{LibrettoTokenQueue, LibrettoLogicToken, LogicOrdinal}, lson::{LsonType, Lson}, parse_ast, compiler::{LibrettoCompileE... [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `logic_equality_expr::LogicEqualityExpr` [INFO] [stderr] --> src/parse/logic_assignment_stmt.rs:5:13 [INFO] [stderr] | [INFO] [stderr] 5 | use super::{logic_equality_expr::LogicEqualityExpr, LibrettoParsable, logic_expr::LogicExpr}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `logic_equality_expr::LogicEqualityExpr` [INFO] [stderr] --> src/parse/logic_value.rs:4:65 [INFO] [stderr] | [INFO] [stderr] 4 | util::{CommaSeparatedList, KeyValuePair}, LibrettoParsable, logic_equality_expr::LogicEqualityExpr, logic_expr::LogicExpr, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/parse/logic_expr.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/parse/logic_unary_expr.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `lson::Lson` [INFO] [stderr] --> src/parse/logic_unary_expr.rs:3:87 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::{lexer::{LibrettoLogicToken, LibrettoTokenQueue, LogicOrdinal}, parse_ast, lson::Lson, runtime::{LibrettoRuntime, LibrettoEval... [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/parse/logic_term_expr.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Lson` [INFO] [stderr] --> src/parse/logic_term_expr.rs:5:29 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::lson::{LsonType, Lson}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/parse/logic_factor_expr.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `lson::Lson` [INFO] [stderr] --> src/parse/logic_factor_expr.rs:3:87 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::{lexer::{LibrettoLogicToken, LibrettoTokenQueue, LogicOrdinal}, parse_ast, lson::Lson, runtime::{LibrettoRuntime, LibrettoEval... [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/parse/logic_comparison_expr.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/parse/logic_equality_expr.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `collections::HashMap` [INFO] [stderr] --> src/parse.rs:14:17 [INFO] [stderr] | [INFO] [stderr] 14 | fmt::Debug, collections::HashMap, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `thiserror::Error` [INFO] [stderr] --> src/parse.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use thiserror::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Lson` and `runtime::LibrettoRuntime` [INFO] [stderr] --> src/parse.rs:19:22 [INFO] [stderr] | [INFO] [stderr] 19 | lson::{LsonType, Lson}, [INFO] [stderr] | ^^^^ [INFO] [stderr] 20 | lexer::{LibrettoTokenQueue, Ordinal}, runtime::LibrettoRuntime, compiler::LibrettoCompiletime, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/parse.rs:75:9 [INFO] [stderr] | [INFO] [stderr] 75 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Lson` [INFO] [stderr] --> src/compiler.rs:4:19 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::lson::{Lson, LsonType}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `other` [INFO] [stderr] --> src/lexer.rs:39:18 [INFO] [stderr] | [INFO] [stderr] 39 | fn eq(&self, other: &Self) -> bool { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `l0` [INFO] [stderr] --> src/lson.rs:238:29 [INFO] [stderr] | [INFO] [stderr] 238 | (Self::Function(l0, l1), Self::Function(r0, r1)) => false, [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_l0` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `l1` [INFO] [stderr] --> src/lson.rs:238:33 [INFO] [stderr] | [INFO] [stderr] 238 | (Self::Function(l0, l1), Self::Function(r0, r1)) => false, [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_l1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `r0` [INFO] [stderr] --> src/lson.rs:238:53 [INFO] [stderr] | [INFO] [stderr] 238 | (Self::Function(l0, l1), Self::Function(r0, r1)) => false, [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_r0` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `r1` [INFO] [stderr] --> src/lson.rs:238:57 [INFO] [stderr] | [INFO] [stderr] 238 | (Self::Function(l0, l1), Self::Function(r0, r1)) => false, [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_r1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `arg0` [INFO] [stderr] --> src/lson.rs:448:28 [INFO] [stderr] | [INFO] [stderr] 448 | Self::Function(arg0, arg1) => f.write_str(format!("Function() -> {}", arg1.to_string()).as_str()), [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_arg0` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `first` [INFO] [stderr] --> src/parse/logic_let_stmt.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | let first = queue.next_is(LogicOrdinal::Let) && TypedIdentifier::raw_check(queue); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_first` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `runtime` [INFO] [stderr] --> src/parse/logic_assignment_stmt.rs:47:24 [INFO] [stderr] | [INFO] [stderr] 47 | fn evaluate(&self, runtime: &mut LibrettoRuntime) -> LibrettoRuntimeResult { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `compile_time` [INFO] [stderr] --> src/parse/logic_value.rs:182:70 [INFO] [stderr] | [INFO] [stderr] 182 | fn parse(queue: &mut LibrettoTokenQueue<'a, LibrettoLogicToken>, compile_time : &mut LibrettoCompiletime) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_time` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `compile_time` [INFO] [stderr] --> src/parse/logic_value.rs:191:24 [INFO] [stderr] | [INFO] [stderr] 191 | fn validate(&self, compile_time : &mut LibrettoCompiletime) -> LsonType { [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_time` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parse/logic_term_expr.rs:78:17 [INFO] [stderr] | [INFO] [stderr] 78 | let mut expected_type = get_term_type(&lhs, op, &rhs); [INFO] [stderr] | ----^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parse/logic_factor_expr.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | let mut expected_type = get_factor_type(&lhs, op, &rhs); [INFO] [stderr] | ----^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `op` [INFO] [stderr] --> src/parse/logic_comparison_expr.rs:89:41 [INFO] [stderr] | [INFO] [stderr] 89 | fn get_comaprison_type(lhs : &LsonType, op : &ComparisonOperator, rhs : &LsonType) -> LsonType { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_op` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `op` [INFO] [stderr] --> src/parse/logic_equality_expr.rs:84:39 [INFO] [stderr] | [INFO] [stderr] 84 | fn get_equality_type(lhs : &LsonType, op : &EqualityOperator, rhs : &LsonType) -> LsonType { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_op` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `compile_time` [INFO] [stderr] --> src/parse/util.rs:56:24 [INFO] [stderr] | [INFO] [stderr] 56 | fn validate(&self, compile_time : &mut LibrettoCompiletime) -> LsonType { [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_time` [INFO] [stderr] [INFO] [stderr] warning: methods `rewind`, `mark`, `cursor`, `length`, `next_nth_is`, and `pop_until` are never used [INFO] [stderr] --> src/lexer.rs:65:12 [INFO] [stderr] | [INFO] [stderr] 60 | / impl<'a, T> LibrettoTokenQueue<'a, T> [INFO] [stderr] 61 | | where [INFO] [stderr] 62 | | T: Logos<'a> + PartialEq + Clone + Ordinal + Debug + Debug + 'a, [INFO] [stderr] 63 | | T::Extras: Clone, [INFO] [stderr] | |_____________________- methods in this implementation [INFO] [stderr] 64 | { [INFO] [stderr] 65 | pub fn rewind(&mut self) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 69 | pub fn mark(&mut self) { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 79 | pub fn cursor(&self) -> usize { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 84 | pub fn length(&self) -> usize { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 105 | pub fn next_nth_is + PartialEq + Copy>( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 154 | pub fn pop_until + PartialEq + Copy>( [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `Function` is never constructed [INFO] [stderr] --> src/lson.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 16 | pub enum Lson { [INFO] [stderr] | ---- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 24 | Function(LibrettoFunction, LsonType), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Lson` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/lson.rs:34:12 [INFO] [stderr] | [INFO] [stderr] 33 | impl Lson { [INFO] [stderr] | --------- methods in this implementation [INFO] [stderr] 34 | pub fn is_i64(&self) -> bool { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 42 | pub fn is_f64(&self) -> bool { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 50 | pub fn is_bool(&self) -> bool { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 58 | pub fn is_string(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 66 | pub fn is_array(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 74 | pub fn is_struct(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 98 | pub fn as_bool(&self) -> Option { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 122 | pub fn matches_type(&self, t : LsonType) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `get_equality_type` is never used [INFO] [stderr] --> src/lson.rs:510:12 [INFO] [stderr] | [INFO] [stderr] 457 | impl LsonType { [INFO] [stderr] | ------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 510 | pub fn get_equality_type(&self, other : LsonType) -> LsonType { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated functions `check` and `checked_parse` are never used [INFO] [stderr] --> src/parse.rs:40:8 [INFO] [stderr] | [INFO] [stderr] 27 | pub trait LibrettoParsable<'a, T> [INFO] [stderr] | ---------------- associated functions in this trait [INFO] [stderr] ... [INFO] [stderr] 40 | fn check(queue: &mut LibrettoTokenQueue<'a, T>) -> bool { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 50 | fn checked_parse(queue: &mut LibrettoTokenQueue<'a, T>, compile_time : &mut LibrettoCompiletime) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias `FunctionParams` is never used [INFO] [stderr] --> src/parse/logic_value.rs:69:6 [INFO] [stderr] | [INFO] [stderr] 69 | type FunctionParams<'a> = CommaSeparatedList<'a, KeyValuePair<'a, LsonType, LibrettoLogicToken>, LibrettoLogicToken>; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_comaprison_type` is never used [INFO] [stderr] --> src/parse/logic_comparison_expr.rs:89:4 [INFO] [stderr] | [INFO] [stderr] 89 | fn get_comaprison_type(lhs : &LsonType, op : &ComparisonOperator, rhs : &LsonType) -> LsonType { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_equality_type` is never used [INFO] [stderr] --> src/parse/logic_equality_expr.rs:84:4 [INFO] [stderr] | [INFO] [stderr] 84 | fn get_equality_type(lhs : &LsonType, op : &EqualityOperator, rhs : &LsonType) -> LsonType { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `implicit_type` is never used [INFO] [stderr] --> src/parse/util.rs:21:12 [INFO] [stderr] | [INFO] [stderr] 20 | impl TypedIdentifier { [INFO] [stderr] | -------------------- method in this implementation [INFO] [stderr] 21 | pub fn implicit_type(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `check_expr` is never used [INFO] [stderr] --> src/parse.rs:86:12 [INFO] [stderr] | [INFO] [stderr] 86 | pub fn check_expr<'a, T: LibrettoParsable<'a, LibrettoLogicToken>>( [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `parse_expr` is never used [INFO] [stderr] --> src/parse.rs:100:12 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn parse_expr<'a, T: LibrettoParsable<'a, LibrettoLogicToken>>(source: &'a str) -> T { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `validate_expr` is never used [INFO] [stderr] --> src/parse.rs:111:12 [INFO] [stderr] | [INFO] [stderr] 111 | pub fn validate_expr<'a, T: LibrettoParsable<'a, LibrettoLogicToken>>( [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `evaluate_expr` is never used [INFO] [stderr] --> src/parse.rs:129:12 [INFO] [stderr] | [INFO] [stderr] 129 | pub fn evaluate_expr<'a, T : LibrettoParsable<'a, LibrettoLogicToken> + LibrettoEvaluator>( [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `event_listeners` is never read [INFO] [stderr] --> src/runtime.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct LibrettoRuntime { [INFO] [stderr] | --------------- field in this struct [INFO] [stderr] 11 | current_scope: LibrettoScope, [INFO] [stderr] 12 | event_listeners: Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `with_data`, `push_scope`, `pop_scope`, and `has_data` are never used [INFO] [stderr] --> src/runtime.rs:26:12 [INFO] [stderr] | [INFO] [stderr] 24 | impl LibrettoRuntime { [INFO] [stderr] | -------------------- associated items in this implementation [INFO] [stderr] 25 | [INFO] [stderr] 26 | pub fn with_data(data : impl Into>) -> Self { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 37 | pub fn push_scope(&mut self, data : impl Into>) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 43 | pub fn pop_scope(&mut self) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 53 | pub fn has_data(&self, ident : &str) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `VariableNotDefined` is never constructed [INFO] [stderr] --> src/runtime.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 63 | pub enum LibrettoRuntimeError { [INFO] [stderr] | -------------------- variant in this enum [INFO] [stderr] 64 | #[error("There is no assignable variable with the identifier '{0}'")] [INFO] [stderr] 65 | VariableNotDefined(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `LibrettoRuntimeError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `on_event` is never used [INFO] [stderr] --> src/runtime/event.rs:4:8 [INFO] [stderr] | [INFO] [stderr] 3 | pub trait LibrettoEventListener { [INFO] [stderr] | --------------------- method in this trait [INFO] [stderr] 4 | fn on_event(&mut self, event_id: &str, data: Vec); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `replace_data`, `has_data`, `data_depth`, `check_depth`, and `depth` are never used [INFO] [stderr] --> src/scope.rs:9:12 [INFO] [stderr] | [INFO] [stderr] 8 | impl LibrettoScope where T: Clone + Default { [INFO] [stderr] | -------------------------------------------------- associated items in this implementation [INFO] [stderr] 9 | pub fn new(data : impl Into> ) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 25 | pub fn replace_data(&mut self, ident : &str, value : T) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 38 | pub fn has_data(&self, ident : &str) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 50 | pub fn data_depth(&self, ident : &str) -> i32 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 54 | fn check_depth(&self, ident : &str, current_depth : i32) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 66 | pub fn depth(&self) -> u32 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `with_data`, `push_scope`, `pop_scope`, `error_count`, `has_variable_type`, and `variable_depth` are never used [INFO] [stderr] --> src/compiler.rs:22:12 [INFO] [stderr] | [INFO] [stderr] 20 | impl LibrettoCompiletime { [INFO] [stderr] | ------------------------ associated items in this implementation [INFO] [stderr] 21 | [INFO] [stderr] 22 | pub fn with_data(data : impl Into>) -> Self { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 33 | pub fn push_scope(&mut self, data : impl Into>) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 39 | pub fn pop_scope(&mut self) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 49 | pub fn error_count(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 57 | pub fn has_variable_type(&self, ident : &str) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 61 | pub fn variable_depth(&self, ident : &str) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `NullValueError` and `ParseCheckNotThoroughError` are never constructed [INFO] [stderr] --> src/compiler.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 67 | pub enum LibrettoCompileError { [INFO] [stderr] | -------------------- variants in this enum [INFO] [stderr] 68 | #[error("Values are not allowed to be set to null.")] [INFO] [stderr] 69 | NullValueError, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 78 | ParseCheckNotThoroughError(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `LibrettoCompileError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: unused logical operation that must be used [INFO] [stderr] --> src/parse/util.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | queue.next_is(LogicOrdinal::Colon) && LsonType::raw_check(queue); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the logical operation produces a value [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 33 | let _ = queue.next_is(LogicOrdinal::Colon) && LsonType::raw_check(queue); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/parse/logic_let_stmt.rs:80:9 [INFO] [stderr] | [INFO] [stderr] 80 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/parse/logic_assignment_stmt.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Lson` [INFO] [stderr] --> src/parse/logic_assignment_stmt.rs:57:16 [INFO] [stderr] | [INFO] [stderr] 57 | lson::{Lson, LsonType}, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/parse/logic_expr.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `logic_value::LogicValue` [INFO] [stderr] --> src/parse/logic_term_expr.rs:132:31 [INFO] [stderr] | [INFO] [stderr] 132 | parse::{test_util::*, logic_value::LogicValue, logic_factor_expr::LogicFactorExpr}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `LsonType` [INFO] [stderr] --> src/runtime.rs:74:22 [INFO] [stderr] | [INFO] [stderr] 74 | lson::{Lson, LsonType}, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ast` [INFO] [stderr] --> src/parse/logic_assignment_stmt.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | let ast = parse_expr::("test = 2"); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ast` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ast` [INFO] [stderr] --> src/parse/util.rs:257:13 [INFO] [stderr] | [INFO] [stderr] 257 | let ast = parse_expr::>("false"); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ast` [INFO] [stderr] [INFO] [stderr] warning: methods `length`, `next_nth_is`, and `pop_until` are never used [INFO] [stderr] --> src/lexer.rs:84:12 [INFO] [stderr] | [INFO] [stderr] 60 | / impl<'a, T> LibrettoTokenQueue<'a, T> [INFO] [stderr] 61 | | where [INFO] [stderr] 62 | | T: Logos<'a> + PartialEq + Clone + Ordinal + Debug + Debug + 'a, [INFO] [stderr] 63 | | T::Extras: Clone, [INFO] [stderr] | |_____________________- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 84 | pub fn length(&self) -> usize { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 105 | pub fn next_nth_is + PartialEq + Copy>( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 154 | pub fn pop_until + PartialEq + Copy>( [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/lson.rs:34:12 [INFO] [stderr] | [INFO] [stderr] 33 | impl Lson { [INFO] [stderr] | --------- methods in this implementation [INFO] [stderr] 34 | pub fn is_i64(&self) -> bool { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 42 | pub fn is_f64(&self) -> bool { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 50 | pub fn is_bool(&self) -> bool { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 58 | pub fn is_string(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 66 | pub fn is_array(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 74 | pub fn is_struct(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 122 | pub fn matches_type(&self, t : LsonType) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `replace_data`, `data_depth`, and `check_depth` are never used [INFO] [stderr] --> src/scope.rs:25:12 [INFO] [stderr] | [INFO] [stderr] 8 | impl LibrettoScope where T: Clone + Default { [INFO] [stderr] | -------------------------------------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 25 | pub fn replace_data(&mut self, ident : &str, value : T) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 50 | pub fn data_depth(&self, ident : &str) -> i32 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 54 | fn check_depth(&self, ident : &str, current_depth : i32) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `push_scope`, `pop_scope`, `has_variable_type`, and `variable_depth` are never used [INFO] [stderr] --> src/compiler.rs:33:12 [INFO] [stderr] | [INFO] [stderr] 20 | impl LibrettoCompiletime { [INFO] [stderr] | ------------------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 33 | pub fn push_scope(&mut self, data : impl Into>) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 39 | pub fn pop_scope(&mut self) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 57 | pub fn has_variable_type(&self, ident : &str) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 61 | pub fn variable_depth(&self, ident : &str) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `libretto` (lib) generated 58 warnings (run `cargo fix --lib -p libretto` to apply 24 suggestions) [INFO] [stderr] warning: `libretto` (lib test) generated 60 warnings (48 duplicates) (run `cargo fix --lib -p libretto --tests` to apply 6 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/libretto-332a866962a7f75e) [INFO] [stdout] [INFO] [stdout] running 50 tests [INFO] [stdout] test lson::tests::from_array ... ok [INFO] [stdout] test parse::logic_assignment_stmt::tests::parse_assign_stmt ... ok [INFO] [stdout] test parse::logic_comparison_expr::tests::check_factor_expr ... ok [INFO] [stdout] test parse::logic_comparison_expr::tests::validate_factor_expr ... ok [INFO] [stdout] test parse::logic_equality_expr::tests::check_equality_expr ... ok [INFO] [stdout] test parse::logic_equality_expr::tests::eval_term_expr ... ok [INFO] [stdout] test parse::logic_equality_expr::tests::validate_equality_expr ... ok [INFO] [stdout] test parse::logic_expr::tests::eval_logic_expr ... ok [INFO] [stdout] test lson::tests::from_int ... ok [INFO] [stdout] test parse::logic_factor_expr::tests::check_factor_expr ... ok [INFO] [stdout] test parse::logic_expr::tests::check_logic_expr ... ok [INFO] [stdout] test parse::logic_let_stmt::tests::check_let_stmt ... ok [INFO] [stdout] test parse::logic_let_stmt::tests::evaluate_let_stmt ... ok [INFO] [stdout] test parse::logic_comparison_expr::tests::eval_term_expr ... ok [INFO] [stdout] test parse::logic_term_expr::tests::check_term_expr ... ok [INFO] [stdout] test parse::logic_let_stmt::tests::validate_let_stmt ... ok [INFO] [stdout] test parse::logic_let_stmt::tests::parse_let_stmt ... ok [INFO] [stdout] test lson::tests::from_hash ... ok [INFO] [stdout] test parse::logic_term_expr::tests::eval_term_expr ... ok [INFO] [stdout] test parse::logic_term_expr::tests::parse_term_expr ... ok [INFO] [stdout] test parse::logic_unary_expr::tests::parse_unary_expr ... ok [INFO] [stdout] test parse::logic_unary_expr::tests::validate_unary_expr ... ok [INFO] [stdout] test parse::logic_term_expr::tests::validate_term_expr ... ok [INFO] [stdout] test parse::logic_value::tests::check_logic_value ... ok [INFO] [stdout] test parse::logic_value::tests::parse_logic_value ... ok [INFO] [stdout] test parse::logic_unary_expr::tests::check_unary_expr ... ok [INFO] [stdout] test parse::logic_unary_expr::tests::evaluate_unary_expr ... ok [INFO] [stdout] test parse::logic_value::tests::validate_logic_value ... ok [INFO] [stdout] test parse::logic_value::tests::parse_lson ... ok [INFO] [stdout] test parse::logic_value::tests::validate_lson ... ok [INFO] [stdout] test parse::util::tests::check_logic_key_value_pair ... ok [INFO] [stdout] test parse::util::tests::check_logic_list ... ok [INFO] [stdout] test parse::util::tests::parse_logic_list ... ok [INFO] [stdout] test parse::util::tests::check_typed_ident ... ok [INFO] [stdout] test parse::logic_factor_expr::tests::eval_factor_expr ... ok [INFO] [stdout] test lson::tests::index_struct ... ok [INFO] [stdout] test parse::logic_factor_expr::tests::parse_factor_expr ... ok [INFO] [stdout] test parse::logic_factor_expr::tests::validate_factor_expr ... ok [INFO] [stdout] test parse::logic_value::tests::check_lson ... ok [INFO] [stdout] test parse::logic_assignment_stmt::tests::check_assign_stmt ... ok [INFO] [stdout] test parse::logic_comparison_expr::tests::parse_factor_expr ... ok [INFO] [stdout] test parse::logic_equality_expr::tests::parse_equality_expr ... ok [INFO] [stdout] test lson::tests::index_array ... ok [INFO] [stdout] test parse::logic_assignment_stmt::tests::validate_assign_stmt ... ok [INFO] [stdout] test parse::logic_expr::tests::validate_logic_expr ... ok [INFO] [stdout] test parse::logic_expr::tests::parse_logic_expr ... ok [INFO] [stdout] test parse::util::tests::parse_typed_ident ... ok [INFO] [stdout] test parse::util::tests::validate_typed_ident ... ok [INFO] [stdout] test runtime::tests::add_scope_to_runtime ... ok [INFO] [stdout] test runtime::tests::get_data_from_runtime ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 50 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Doc-tests libretto [INFO] [stderr] warning: unnecessary parentheses around `while` condition [INFO] [stderr] --> src/lexer.rs:160:15 [INFO] [stderr] | [INFO] [stderr] 160 | while (!self.next_is(ordinal_group.clone())) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 160 - while (!self.next_is(ordinal_group.clone())) { [INFO] [stderr] 160 + while !self.next_is(ordinal_group.clone()) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "9c55de356c29aa91ec85b02955aa2d08cbcb31bb7897a658364e2679acad919a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9c55de356c29aa91ec85b02955aa2d08cbcb31bb7897a658364e2679acad919a", kill_on_drop: false }` [INFO] [stdout] 9c55de356c29aa91ec85b02955aa2d08cbcb31bb7897a658364e2679acad919a