[INFO] cloning repository https://github.com/CapsAdmin/nattlua-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CapsAdmin/nattlua-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCapsAdmin%2Fnattlua-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCapsAdmin%2Fnattlua-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 39d09b66646058e3c90995070035726f6d407abd
[INFO] checking CapsAdmin/nattlua-rust against try#0611f7de057c584b8771102fde7aed6c70c71d3b for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCapsAdmin%2Fnattlua-rust" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/CapsAdmin/nattlua-rust
[INFO] finished tweaking git repo https://github.com/CapsAdmin/nattlua-rust
[INFO] tweaked toml for git repo https://github.com/CapsAdmin/nattlua-rust written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/CapsAdmin/nattlua-rust on toolchain 0611f7de057c584b8771102fde7aed6c70c71d3b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/CapsAdmin/nattlua-rust 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" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c9924c7639f3c88e0964c297fecb6db12ff730f87290b385f7ab1e1621535f82
[INFO] running `Command { std: "docker" "start" "-a" "c9924c7639f3c88e0964c297fecb6db12ff730f87290b385f7ab1e1621535f82", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c9924c7639f3c88e0964c297fecb6db12ff730f87290b385f7ab1e1621535f82", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c9924c7639f3c88e0964c297fecb6db12ff730f87290b385f7ab1e1621535f82", kill_on_drop: false }`
[INFO] [stdout] c9924c7639f3c88e0964c297fecb6db12ff730f87290b385f7ab1e1621535f82
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 522dd694d5f468185b490e558754c518ba61fef1cf69288fe60806a8fbf580f9
[INFO] running `Command { std: "docker" "start" "-a" "522dd694d5f468185b490e558754c518ba61fef1cf69288fe60806a8fbf580f9", kill_on_drop: false }`
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking nattlua-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::fmt::Binary`
[INFO] [stdout]  --> src/lib/parser.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::Binary;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `runtime_syntax` and `typesystem_syntax`
[INFO] [stdout]  --> src/lib/parser.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 |     lua_syntax::{runtime_syntax, typesystem_syntax},
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Binary`
[INFO] [stdout]  --> src/lib/parser.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::Binary;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `runtime_syntax` and `typesystem_syntax`
[INFO] [stdout]  --> src/lib/parser.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 |     lua_syntax::{runtime_syntax, typesystem_syntax},
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left_parenthesis`
[INFO] [stdout]    --> src/lib/parser.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |         let left_parenthesis = self.expect_value("(");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_parenthesis`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right_parenthesis`
[INFO] [stdout]    --> src/lib/parser.rs:258:17
[INFO] [stdout]     |
[INFO] [stdout] 258 |             let right_parenthesis = self.expect_value(")");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_parenthesis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base`
[INFO] [stdout]    --> src/lib/parser.rs:260:17
[INFO] [stdout]     |
[INFO] [stdout] 260 |             let base = node.get_base_tokens();
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_base`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `priority`
[INFO] [stdout]    --> src/lib/parser.rs:410:35
[INFO] [stdout]     |
[INFO] [stdout] 410 |     fn read_expression(&mut self, priority: u16) -> Option<RuntimeExpression> {
[INFO] [stdout]     |                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_priority`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start` and `stop` are never read
[INFO] [stdout]   --> src/lib/lexer.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct LexerError {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout]  9 |     message: String,
[INFO] [stdout] 10 |     start: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 11 |     stop: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LexerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `ReturnStatement` is never constructed
[INFO] [stdout]   --> src/lib/parser.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct ReturnStatement {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]    = note: `#[deny(unused_unconstructable_pub_struct)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `FunctionArgumentSubExpression` is never constructed
[INFO] [stdout]   --> src/lib/parser.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct FunctionArgumentSubExpression {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `FunctionReturnTypeSubExpression` is never constructed
[INFO] [stdout]   --> src/lib/parser.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct FunctionReturnTypeSubExpression {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `FunctionPrimaryExpression` is never constructed
[INFO] [stdout]   --> src/lib/parser.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct FunctionPrimaryExpression {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tk_main` is never read
[INFO] [stdout]   --> src/lib/parser.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct EndOfFileStatement {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 19 |     tk_main: Token, // blank token with whitespace
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lua_code` and `tk_main` are never read
[INFO] [stdout]   --> src/lib/parser.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct AnalyzerDebugCodeStatement {
[INFO] [stdout]    |            -------------------------- fields in this struct
[INFO] [stdout] 22 |     lua_code: ValuePrimaryExpression,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 23 |
[INFO] [stdout] 24 |     tk_main: Token, // §
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tk_left_parenthesis`, `tk_right_parenthesis`, `tk_type_as`, and `standalone_letter` are never read
[INFO] [stdout]   --> src/lib/parser.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct BaseTokensPrimaryExpression {
[INFO] [stdout]    |            --------------------------- fields in this struct
[INFO] [stdout] 32 |     tk_left_parenthesis: Vec<Token>,  // (
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     tk_right_parenthesis: Vec<Token>, // )
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     tk_type_as: Option<Token>,        // as
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 35 |     standalone_letter: Box<Option<SubRuntimeExpression>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `value` and `tk_base` are never read
[INFO] [stdout]   --> src/lib/parser.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct ValuePrimaryExpression {
[INFO] [stdout]    |            ---------------------- fields in this struct
[INFO] [stdout] 39 |     value: Token,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 40 |
[INFO] [stdout] 41 |     tk_base: BaseTokensPrimaryExpression,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `operator`, `left`, `right`, and `tk_base` are never read
[INFO] [stdout]   --> src/lib/parser.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct BinaryOperatorPrimaryExpression {
[INFO] [stdout]    |            ------------------------------- fields in this struct
[INFO] [stdout] 45 |     operator: Token,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 46 |     left: Box<RuntimeExpression>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 47 |     right: Box<RuntimeExpression>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 48 |
[INFO] [stdout] 49 |     tk_base: BaseTokensPrimaryExpression,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `operator`, `right`, and `tk_base` are never read
[INFO] [stdout]   --> src/lib/parser.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct PrefixOperatorPrimaryExpression {
[INFO] [stdout]    |            ------------------------------- fields in this struct
[INFO] [stdout] 53 |     operator: Token,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 54 |     right: Box<RuntimeExpression>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 55 |
[INFO] [stdout] 56 |     tk_base: BaseTokensPrimaryExpression,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `operator`, `left`, and `tk_base` are never read
[INFO] [stdout]   --> src/lib/parser.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct PostfixOperatorPrimaryExpression {
[INFO] [stdout]    |            -------------------------------- fields in this struct
[INFO] [stdout] 59 |     operator: Token,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 60 |     left: Box<RuntimeExpression>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 61 |
[INFO] [stdout] 62 |     tk_base: BaseTokensPrimaryExpression,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expressions`, `tk_main`, and `tk_base` are never read
[INFO] [stdout]   --> src/lib/parser.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct ReturnStatement {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 66 |     expressions: Vec<ValuePrimaryExpression>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 67 |
[INFO] [stdout] 68 |     tk_main: Token, // return
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 69 |     tk_base: BaseTokensPrimaryExpression,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `identifier`, `type_expression`, and `tk_type` are never read
[INFO] [stdout]   --> src/lib/parser.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct FunctionArgumentSubExpression {
[INFO] [stdout]    |            ----------------------------- fields in this struct
[INFO] [stdout] 73 |     identifier: Option<Token>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 74 |     type_expression: PrimaryRuntimeExpression,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 75 |     tk_type: Option<Token>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tk_type`, `identifier`, and `type_expression` are never read
[INFO] [stdout]   --> src/lib/parser.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct FunctionReturnTypeSubExpression {
[INFO] [stdout]    |            ------------------------------- fields in this struct
[INFO] [stdout] 79 |     tk_type: Option<Token>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 80 |     identifier: Option<Token>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 81 |     type_expression: PrimaryRuntimeExpression,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/lib/parser.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct FunctionPrimaryExpression {
[INFO] [stdout]    |            ------------------------- fields in this struct
[INFO] [stdout] 85 |     arguments: Vec<FunctionArgumentSubExpression>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 86 |     return_types: Vec<FunctionReturnTypeSubExpression>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 87 |     statements: Vec<Statement>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 88 |
[INFO] [stdout] 89 |     tk_function: Token,              // function
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 90 |     tk_arguments_left: Token,        // (
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     tk_arguments_commas: Vec<Token>, // ,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     tk_arguments_right: Token,       // )
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 93 |     tk_end: Token,                   // end
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expression_key`, `key_expression`, `value_expression`, `tk_equal`, `tk_left`, and `tk_right` are never read
[INFO] [stdout]    --> src/lib/parser.rs:97:5
[INFO] [stdout]     |
[INFO] [stdout]  96 | pub struct TableExpressionKeyValueSubExpression {
[INFO] [stdout]     |            ------------------------------------ fields in this struct
[INFO] [stdout]  97 |     expression_key: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]  98 |     key_expression: PrimaryRuntimeExpression,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]  99 |     value_expression: PrimaryRuntimeExpression,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 100 |
[INFO] [stdout] 101 |     tk_equal: Token, // =
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 102 |     tk_left: Token,  // [
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 103 |     tk_right: Token, // ]
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expression` and `tk_spread` are never read
[INFO] [stdout]    --> src/lib/parser.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct TableSpreadSubExpression {
[INFO] [stdout]     |            ------------------------ fields in this struct
[INFO] [stdout] 107 |     expression: PrimaryRuntimeExpression,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 108 |     tk_spread: Token, // ...
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `identifier`, `value_expression`, `spread`, and `tk_equal` are never read
[INFO] [stdout]    --> src/lib/parser.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub struct TableKeyValueSubExpression {
[INFO] [stdout]     |            -------------------------- fields in this struct
[INFO] [stdout] 111 |     identifier: Token,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 112 |     value_expression: PrimaryRuntimeExpression,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 113 |     spread: Option<TableSpreadSubExpression>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 114 |
[INFO] [stdout] 115 |     tk_equal: Token, // =
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `value_expression`, `spread`, and `key` are never read
[INFO] [stdout]    --> src/lib/parser.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct TableIndexValueSubExpression {
[INFO] [stdout]     |            ---------------------------- fields in this struct
[INFO] [stdout] 119 |     value_expression: PrimaryRuntimeExpression,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 120 |     spread: Option<TableSpreadSubExpression>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 121 |     key: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/lib/parser.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct TablePrimaryExpression {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] 133 |     children: Vec<TableSubExpression>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 134 |
[INFO] [stdout] 135 |     spread: bool,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 136 |     is_array: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 137 |     is_dictionary: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 138 |
[INFO] [stdout] 139 |     tk_table_left: Token,  // {
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 140 |     tk_table_right: Token, // }
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 141 |     tk_separators: Vec<Token>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 142 |
[INFO] [stdout] 143 |     tk_base: BaseTokensPrimaryExpression,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BaseToken` is never used
[INFO] [stdout]    --> src/lib/parser.rs:160:7
[INFO] [stdout]     |
[INFO] [stdout] 160 | trait BaseToken {
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]    --> src/lib/parser.rs:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 | struct Parser<'a> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/lib/parser.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 194 | impl Parser<'_> {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 195 |     fn get_token(&self, offset: usize) -> &Token {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     fn len(&self) -> usize {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     fn advance(&mut self, offset: usize) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     fn is_type(&self, token_type: TokenType, offset: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     fn is_value(&self, value: &str, offset: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     fn read_token(&mut self) -> Token {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn expect_type(&mut self, token_type: TokenType) -> Option<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     fn expect_value(&mut self, value: &str) -> Token {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     fn read_end_of_file(&mut self) -> Option<EndOfFileStatement> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     fn read_parenthesis_expression(&mut self) -> Option<PrimaryRuntimeExpression> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn read_prefix_operator_expression(&mut self) -> Option<PrimaryRuntimeExpression> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     fn read_postfix_operator_expression(&mut self) -> Option<PostfixOperatorPrimaryExpression> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 307 |     fn read_binary_operator_expression(&mut self) -> Option<BinaryOperatorPrimaryExpression> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     fn read_primary_runtime_expression(&mut self) -> Option<PrimaryRuntimeExpression> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |     fn read_sub_runtime_expression(&mut self) -> Option<SubRuntimeExpression> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     fn read_runtime_expression(&mut self, priority: u16) -> Option<RuntimeExpression> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 394 |     fn read_value_expression(&mut self) -> Option<ValuePrimaryExpression> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 410 |     fn read_expression(&mut self, priority: u16) -> Option<RuntimeExpression> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nattlua-rust` (lib) due to 4 previous errors; 26 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `left_parenthesis`
[INFO] [stdout]    --> src/lib/parser.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |         let left_parenthesis = self.expect_value("(");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_parenthesis`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right_parenthesis`
[INFO] [stdout]    --> src/lib/parser.rs:258:17
[INFO] [stdout]     |
[INFO] [stdout] 258 |             let right_parenthesis = self.expect_value(")");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_parenthesis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base`
[INFO] [stdout]    --> src/lib/parser.rs:260:17
[INFO] [stdout]     |
[INFO] [stdout] 260 |             let base = node.get_base_tokens();
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_base`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `priority`
[INFO] [stdout]    --> src/lib/parser.rs:410:35
[INFO] [stdout]     |
[INFO] [stdout] 410 |     fn read_expression(&mut self, priority: u16) -> Option<RuntimeExpression> {
[INFO] [stdout]     |                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_priority`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `errors`
[INFO] [stdout]    --> src/lib/parser.rs:434:22
[INFO] [stdout]     |
[INFO] [stdout] 434 |         let (tokens, errors) = lexer.get_tokens();
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_errors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/lib/parser.rs:458:13
[INFO] [stdout]     |
[INFO] [stdout] 458 |         let x = 0;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start` and `stop` are never read
[INFO] [stdout]   --> src/lib/lexer.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct LexerError {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout]  9 |     message: String,
[INFO] [stdout] 10 |     start: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 11 |     stop: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LexerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `ReturnStatement` is never constructed
[INFO] [stdout]   --> src/lib/parser.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct ReturnStatement {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]    = note: `#[deny(unused_unconstructable_pub_struct)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `FunctionArgumentSubExpression` is never constructed
[INFO] [stdout]   --> src/lib/parser.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct FunctionArgumentSubExpression {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `FunctionReturnTypeSubExpression` is never constructed
[INFO] [stdout]   --> src/lib/parser.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct FunctionReturnTypeSubExpression {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `FunctionPrimaryExpression` is never constructed
[INFO] [stdout]   --> src/lib/parser.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct FunctionPrimaryExpression {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tk_main` is never read
[INFO] [stdout]   --> src/lib/parser.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct EndOfFileStatement {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 19 |     tk_main: Token, // blank token with whitespace
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lua_code` and `tk_main` are never read
[INFO] [stdout]   --> src/lib/parser.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct AnalyzerDebugCodeStatement {
[INFO] [stdout]    |            -------------------------- fields in this struct
[INFO] [stdout] 22 |     lua_code: ValuePrimaryExpression,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 23 |
[INFO] [stdout] 24 |     tk_main: Token, // §
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tk_left_parenthesis`, `tk_right_parenthesis`, `tk_type_as`, and `standalone_letter` are never read
[INFO] [stdout]   --> src/lib/parser.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct BaseTokensPrimaryExpression {
[INFO] [stdout]    |            --------------------------- fields in this struct
[INFO] [stdout] 32 |     tk_left_parenthesis: Vec<Token>,  // (
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     tk_right_parenthesis: Vec<Token>, // )
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     tk_type_as: Option<Token>,        // as
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 35 |     standalone_letter: Box<Option<SubRuntimeExpression>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `operator`, `left`, and `right` are never read
[INFO] [stdout]   --> src/lib/parser.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct BinaryOperatorPrimaryExpression {
[INFO] [stdout]    |            ------------------------------- fields in this struct
[INFO] [stdout] 45 |     operator: Token,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 46 |     left: Box<RuntimeExpression>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 47 |     right: Box<RuntimeExpression>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `operator` and `left` are never read
[INFO] [stdout]   --> src/lib/parser.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct PostfixOperatorPrimaryExpression {
[INFO] [stdout]    |            -------------------------------- fields in this struct
[INFO] [stdout] 59 |     operator: Token,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 60 |     left: Box<RuntimeExpression>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expressions`, `tk_main`, and `tk_base` are never read
[INFO] [stdout]   --> src/lib/parser.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct ReturnStatement {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 66 |     expressions: Vec<ValuePrimaryExpression>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 67 |
[INFO] [stdout] 68 |     tk_main: Token, // return
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 69 |     tk_base: BaseTokensPrimaryExpression,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `identifier`, `type_expression`, and `tk_type` are never read
[INFO] [stdout]   --> src/lib/parser.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct FunctionArgumentSubExpression {
[INFO] [stdout]    |            ----------------------------- fields in this struct
[INFO] [stdout] 73 |     identifier: Option<Token>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 74 |     type_expression: PrimaryRuntimeExpression,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 75 |     tk_type: Option<Token>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tk_type`, `identifier`, and `type_expression` are never read
[INFO] [stdout]   --> src/lib/parser.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct FunctionReturnTypeSubExpression {
[INFO] [stdout]    |            ------------------------------- fields in this struct
[INFO] [stdout] 79 |     tk_type: Option<Token>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 80 |     identifier: Option<Token>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 81 |     type_expression: PrimaryRuntimeExpression,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/lib/parser.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct FunctionPrimaryExpression {
[INFO] [stdout]    |            ------------------------- fields in this struct
[INFO] [stdout] 85 |     arguments: Vec<FunctionArgumentSubExpression>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 86 |     return_types: Vec<FunctionReturnTypeSubExpression>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 87 |     statements: Vec<Statement>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 88 |
[INFO] [stdout] 89 |     tk_function: Token,              // function
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 90 |     tk_arguments_left: Token,        // (
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     tk_arguments_commas: Vec<Token>, // ,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     tk_arguments_right: Token,       // )
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 93 |     tk_end: Token,                   // end
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expression_key`, `key_expression`, `value_expression`, `tk_equal`, `tk_left`, and `tk_right` are never read
[INFO] [stdout]    --> src/lib/parser.rs:97:5
[INFO] [stdout]     |
[INFO] [stdout]  96 | pub struct TableExpressionKeyValueSubExpression {
[INFO] [stdout]     |            ------------------------------------ fields in this struct
[INFO] [stdout]  97 |     expression_key: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]  98 |     key_expression: PrimaryRuntimeExpression,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]  99 |     value_expression: PrimaryRuntimeExpression,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 100 |
[INFO] [stdout] 101 |     tk_equal: Token, // =
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 102 |     tk_left: Token,  // [
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 103 |     tk_right: Token, // ]
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expression` and `tk_spread` are never read
[INFO] [stdout]    --> src/lib/parser.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct TableSpreadSubExpression {
[INFO] [stdout]     |            ------------------------ fields in this struct
[INFO] [stdout] 107 |     expression: PrimaryRuntimeExpression,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 108 |     tk_spread: Token, // ...
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `identifier`, `value_expression`, `spread`, and `tk_equal` are never read
[INFO] [stdout]    --> src/lib/parser.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub struct TableKeyValueSubExpression {
[INFO] [stdout]     |            -------------------------- fields in this struct
[INFO] [stdout] 111 |     identifier: Token,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 112 |     value_expression: PrimaryRuntimeExpression,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 113 |     spread: Option<TableSpreadSubExpression>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 114 |
[INFO] [stdout] 115 |     tk_equal: Token, // =
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `value_expression`, `spread`, and `key` are never read
[INFO] [stdout]    --> src/lib/parser.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct TableIndexValueSubExpression {
[INFO] [stdout]     |            ---------------------------- fields in this struct
[INFO] [stdout] 119 |     value_expression: PrimaryRuntimeExpression,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 120 |     spread: Option<TableSpreadSubExpression>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 121 |     key: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/lib/parser.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct TablePrimaryExpression {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] 133 |     children: Vec<TableSubExpression>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 134 |
[INFO] [stdout] 135 |     spread: bool,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 136 |     is_array: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 137 |     is_dictionary: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 138 |
[INFO] [stdout] 139 |     tk_table_left: Token,  // {
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 140 |     tk_table_right: Token, // }
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 141 |     tk_separators: Vec<Token>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nodes` and `typesystem_syntax` are never read
[INFO] [stdout]    --> src/lib/parser.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 185 | struct Parser<'a> {
[INFO] [stdout]     |        ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 188 |     nodes: Vec<Statement>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     typesystem_syntax: &'a Syntax,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `is_type`, `expect_type`, `read_end_of_file`, `read_postfix_operator_expression`, and `read_binary_operator_expression` are never used
[INFO] [stdout]    --> src/lib/parser.rs:199:8
[INFO] [stdout]     |
[INFO] [stdout] 194 | impl Parser<'_> {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 199 |     fn len(&self) -> usize {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     fn is_type(&self, token_type: TokenType, offset: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn expect_type(&mut self, token_type: TokenType) -> Option<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     fn read_end_of_file(&mut self) -> Option<EndOfFileStatement> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     fn read_postfix_operator_expression(&mut self) -> Option<PostfixOperatorPrimaryExpression> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 307 |     fn read_binary_operator_expression(&mut self) -> Option<BinaryOperatorPrimaryExpression> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nattlua-rust` (lib test) due to 4 previous errors; 25 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "522dd694d5f468185b490e558754c518ba61fef1cf69288fe60806a8fbf580f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "522dd694d5f468185b490e558754c518ba61fef1cf69288fe60806a8fbf580f9", kill_on_drop: false }`
[INFO] [stdout] 522dd694d5f468185b490e558754c518ba61fef1cf69288fe60806a8fbf580f9
