[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] building CapsAdmin/nattlua-rust against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCapsAdmin%2Fnattlua-rust" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/CapsAdmin/nattlua-rust on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-0-tc1/source/Cargo.toml [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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3ce0d068447c0a69ac7ee19e27e17e712caafdc4936c0567af043a5741b27689 [INFO] running `Command { std: "docker" "start" "-a" "3ce0d068447c0a69ac7ee19e27e17e712caafdc4936c0567af043a5741b27689", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3ce0d068447c0a69ac7ee19e27e17e712caafdc4936c0567af043a5741b27689", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3ce0d068447c0a69ac7ee19e27e17e712caafdc4936c0567af043a5741b27689", kill_on_drop: false }` [INFO] [stdout] 3ce0d068447c0a69ac7ee19e27e17e712caafdc4936c0567af043a5741b27689 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2ea4398be8da2bb35c649a05a398b5eeba1c45c9caf680a2ec9c9ad22688706d [INFO] running `Command { std: "docker" "start" "-a" "2ea4398be8da2bb35c649a05a398b5eeba1c45c9caf680a2ec9c9ad22688706d", kill_on_drop: false }` [INFO] [stderr] Compiling regex-syntax v0.6.25 [INFO] [stderr] Compiling aho-corasick v0.7.18 [INFO] [stderr] Compiling regex v1.5.4 [INFO] [stderr] Compiling 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)]` 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)]` 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 { [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)]` on by default [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, // ( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 33 | tk_right_parenthesis: Vec, // ) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 34 | tk_type_as: Option, // as [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 35 | standalone_letter: Box>, [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, [INFO] [stdout] | ^^^^ [INFO] [stdout] 47 | right: Box, [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, [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, [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, [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, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 74 | type_expression: PrimaryRuntimeExpression, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 75 | tk_type: Option, [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, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 80 | identifier: Option, [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, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 86 | return_types: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 87 | statements: Vec, [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, // , [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, [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, [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, [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, [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 { [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | fn read_parenthesis_expression(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | fn read_prefix_operator_expression(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | fn read_postfix_operator_expression(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | fn read_binary_operator_expression(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 325 | fn read_primary_runtime_expression(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 332 | fn read_sub_runtime_expression(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 339 | fn read_runtime_expression(&mut self, priority: u16) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 394 | fn read_value_expression(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 410 | fn read_expression(&mut self, priority: u16) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.93s [INFO] running `Command { std: "docker" "inspect" "2ea4398be8da2bb35c649a05a398b5eeba1c45c9caf680a2ec9c9ad22688706d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2ea4398be8da2bb35c649a05a398b5eeba1c45c9caf680a2ec9c9ad22688706d", kill_on_drop: false }` [INFO] [stdout] 2ea4398be8da2bb35c649a05a398b5eeba1c45c9caf680a2ec9c9ad22688706d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ea3ed94980913c4bb2a5679d661a62147029dcb9c788d90ff299533292ec8883 [INFO] running `Command { std: "docker" "start" "-a" "ea3ed94980913c4bb2a5679d661a62147029dcb9c788d90ff299533292ec8883", kill_on_drop: false }` [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)]` 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)]` 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 { [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)]` on by default [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, // ( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 33 | tk_right_parenthesis: Vec, // ) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 34 | tk_type_as: Option, // as [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 35 | standalone_letter: Box>, [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, [INFO] [stdout] | ^^^^ [INFO] [stdout] 47 | right: Box, [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, [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, [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, [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, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 74 | type_expression: PrimaryRuntimeExpression, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 75 | tk_type: Option, [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, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 80 | identifier: Option, [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, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 86 | return_types: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 87 | statements: Vec, [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, // , [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, [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, [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, [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, [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 { [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | fn read_parenthesis_expression(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | fn read_prefix_operator_expression(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | fn read_postfix_operator_expression(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | fn read_binary_operator_expression(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 325 | fn read_primary_runtime_expression(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 332 | fn read_sub_runtime_expression(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 339 | fn read_runtime_expression(&mut self, priority: u16) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 394 | fn read_value_expression(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 410 | fn read_expression(&mut self, priority: u16) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling 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)]` 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)]` 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 { [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)]` on by default [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, // ( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 33 | tk_right_parenthesis: Vec, // ) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 34 | tk_type_as: Option, // as [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 35 | standalone_letter: Box>, [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, [INFO] [stdout] | ^^^^ [INFO] [stdout] 47 | right: Box, [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, [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, [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, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 74 | type_expression: PrimaryRuntimeExpression, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 75 | tk_type: Option, [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, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 80 | identifier: Option, [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, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 86 | return_types: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 87 | statements: Vec, [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, // , [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, [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, [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, [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, [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, [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 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | fn read_end_of_file(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | fn read_postfix_operator_expression(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | fn read_binary_operator_expression(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.46s [INFO] running `Command { std: "docker" "inspect" "ea3ed94980913c4bb2a5679d661a62147029dcb9c788d90ff299533292ec8883", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ea3ed94980913c4bb2a5679d661a62147029dcb9c788d90ff299533292ec8883", kill_on_drop: false }` [INFO] [stdout] ea3ed94980913c4bb2a5679d661a62147029dcb9c788d90ff299533292ec8883