[INFO] cloning repository https://github.com/HiWayne/L6 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/HiWayne/L6" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHiWayne%2FL6", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHiWayne%2FL6'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6cd19ab3f901df9a2226c2d18395960710ceb860 [INFO] building HiWayne/L6 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%2FHiWayne%2FL6" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/HiWayne/L6 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/HiWayne/L6 [INFO] finished tweaking git repo https://github.com/HiWayne/L6 [INFO] tweaked toml for git repo https://github.com/HiWayne/L6 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/HiWayne/L6 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] [stderr] Downloading crates ... [INFO] [stderr] Downloaded regex v1.8.0 [INFO] [stderr] Downloaded regex-syntax v0.7.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 2b76c6c76b5e32a4756c87d8625161aaf2e93a30714cdea7b0a3b53d9b58c9c9 [INFO] running `Command { std: "docker" "start" "-a" "2b76c6c76b5e32a4756c87d8625161aaf2e93a30714cdea7b0a3b53d9b58c9c9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2b76c6c76b5e32a4756c87d8625161aaf2e93a30714cdea7b0a3b53d9b58c9c9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2b76c6c76b5e32a4756c87d8625161aaf2e93a30714cdea7b0a3b53d9b58c9c9", kill_on_drop: false }` [INFO] [stdout] 2b76c6c76b5e32a4756c87d8625161aaf2e93a30714cdea7b0a3b53d9b58c9c9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] fd319a2f9136d6f6f3cb31c74d4018e2dded96565430fb4d8e1ece19d37a55c5 [INFO] running `Command { std: "docker" "start" "-a" "fd319a2f9136d6f6f3cb31c74d4018e2dded96565430fb4d8e1ece19d37a55c5", kill_on_drop: false }` [INFO] [stderr] Compiling regex-syntax v0.7.0 [INFO] [stderr] Compiling aho-corasick v1.0.1 [INFO] [stderr] Compiling regex v1.8.0 [INFO] [stderr] Compiling L4 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variant `script` should have an upper camel case name [INFO] [stdout] --> src/types.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | script, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Script` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `module` should have an upper camel case name [INFO] [stdout] --> src/types.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | module, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `Module` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `types::GramAnalysisResult` [INFO] [stdout] --> src/gram_analysis/assignment_expression.rs:1:31 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{tokenizer::Token, types::GramAnalysisResult}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AST` [INFO] [stdout] --> src/gram_analysis/identifier.rs:2:61 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::types::{ASTType, GramAnalysisResult, Identifier, AST}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ASTType` and `ArrayExpression` [INFO] [stdout] --> src/gram_analysis/object_expression.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | types::{ASTType, ArrayExpression, Expression, GramAnalysisResult}, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TokenValue` [INFO] [stdout] --> src/main.rs:32:35 [INFO] [stdout] | [INFO] [stdout] 32 | use crate::tokenizer::{tokenizer, TokenValue}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_cursor_index` [INFO] [stdout] --> src/tokenizer.rs:761:13 [INFO] [stdout] | [INFO] [stdout] 761 | let mut next_cursor_index: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_cursor_index` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_column` [INFO] [stdout] --> src/tokenizer.rs:762:13 [INFO] [stdout] | [INFO] [stdout] 762 | let mut current_column: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_column` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/tokenizer.rs:763:13 [INFO] [stdout] | [INFO] [stdout] 763 | let mut start: usize = 0; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_column` [INFO] [stdout] --> src/tokenizer.rs:764:13 [INFO] [stdout] | [INFO] [stdout] 764 | let mut start_column: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_column` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end` [INFO] [stdout] --> src/tokenizer.rs:766:13 [INFO] [stdout] | [INFO] [stdout] 766 | let mut end: usize = 0; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tokenizer.rs:761:9 [INFO] [stdout] | [INFO] [stdout] 761 | let mut next_cursor_index: usize = 0; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tokenizer.rs:762:9 [INFO] [stdout] | [INFO] [stdout] 762 | let mut current_column: usize = 0; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tokenizer.rs:763:9 [INFO] [stdout] | [INFO] [stdout] 763 | let mut start: usize = 0; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tokenizer.rs:764:9 [INFO] [stdout] | [INFO] [stdout] 764 | let mut start_column: usize = 0; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tokenizer.rs:766:9 [INFO] [stdout] | [INFO] [stdout] 766 | let mut end: usize = 0; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tokens` [INFO] [stdout] --> src/gram_analysis/assignment_expression.rs:3:30 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn assignment_expression(tokens: &[Token], cursor: usize) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cursor` [INFO] [stdout] --> src/gram_analysis/assignment_expression.rs:3:48 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn assignment_expression(tokens: &[Token], cursor: usize) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tokens` [INFO] [stdout] --> src/gram_analysis/conditional_expression.rs:3:31 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn conditional_expression(tokens: &[Token], cursor: usize) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cursor` [INFO] [stdout] --> src/gram_analysis/conditional_expression.rs:3:49 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn conditional_expression(tokens: &[Token], cursor: usize) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tokens` [INFO] [stdout] --> src/gram_analysis/logical_and_expression.rs:3:31 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn logical_and_expression(tokens: &[Token], cursor: usize) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cursor` [INFO] [stdout] --> src/gram_analysis/logical_and_expression.rs:3:49 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn logical_and_expression(tokens: &[Token], cursor: usize) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tokens` [INFO] [stdout] --> src/gram_analysis/logical_or_expression.rs:3:30 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn logical_or_expression(tokens: &[Token], cursor: usize) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cursor` [INFO] [stdout] --> src/gram_analysis/logical_or_expression.rs:3:48 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn logical_or_expression(tokens: &[Token], cursor: usize) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `function_start_cursor` is assigned to, but never used [INFO] [stdout] --> src/gram_analysis/object_property.rs:17:17 [INFO] [stdout] | [INFO] [stdout] 17 | let mut function_start_cursor = cursor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_function_start_cursor` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `function_start_cursor` is never read [INFO] [stdout] --> src/gram_analysis/object_property.rs:22:21 [INFO] [stdout] | [INFO] [stdout] 22 | function_start_cursor = cursor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `function_start_cursor` is never read [INFO] [stdout] --> src/gram_analysis/object_property.rs:56:33 [INFO] [stdout] | [INFO] [stdout] 56 | ... function_start_cursor = expression_result.next_cursor + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `function_start_cursor` is never read [INFO] [stdout] --> src/gram_analysis/object_property.rs:82:29 [INFO] [stdout] | [INFO] [stdout] 82 | ... function_start_cursor = cursor + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `property_ast` [INFO] [stdout] --> src/gram_analysis/object_property.rs:101:33 [INFO] [stdout] | [INFO] [stdout] 101 | ... let property_ast = Property { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property_ast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/gram_analysis/object_property.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | let mut key: PropertyKey; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/gram_analysis/statement.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | if let MyOption(keywordOption) = &token._type.keyword { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/gram_analysis/variable_statement.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | if let MyOption(keywordOption) = &token._type.keyword { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `FunctionDeclaration<'a>` is more private than the item `Body::FunctionDeclaration::0` [INFO] [stdout] --> src/types.rs:79:25 [INFO] [stdout] | [INFO] [stdout] 79 | FunctionDeclaration(FunctionDeclaration<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ field `Body::FunctionDeclaration::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `FunctionDeclaration<'a>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/types.rs:259:1 [INFO] [stdout] | [INFO] [stdout] 259 | struct FunctionDeclaration<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ExpressionStatement<'a>` is more private than the item `Body::ExpressionStatement::0` [INFO] [stdout] --> src/types.rs:80:25 [INFO] [stdout] | [INFO] [stdout] 80 | ExpressionStatement(ExpressionStatement<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ field `Body::ExpressionStatement::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ExpressionStatement<'a>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/types.rs:310:1 [INFO] [stdout] | [INFO] [stdout] 310 | struct ExpressionStatement<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ConditionalExpression<'a>` is more private than the item `Expression::ConditionalExpression::0` [INFO] [stdout] --> src/types.rs:139:27 [INFO] [stdout] | [INFO] [stdout] 139 | ConditionalExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Expression::ConditionalExpression::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ConditionalExpression<'a>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/types.rs:318:1 [INFO] [stdout] | [INFO] [stdout] 318 | struct ConditionalExpression<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `BinaryExpression<'a>` is more private than the item `Expression::BinaryExpression::0` [INFO] [stdout] --> src/types.rs:140:22 [INFO] [stdout] | [INFO] [stdout] 140 | BinaryExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Expression::BinaryExpression::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `BinaryExpression<'a>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/types.rs:328:1 [INFO] [stdout] | [INFO] [stdout] 328 | struct BinaryExpression<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `CallExpression<'a>` is more private than the item `Expression::CallExpression::0` [INFO] [stdout] --> src/types.rs:141:20 [INFO] [stdout] | [INFO] [stdout] 141 | CallExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Expression::CallExpression::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `CallExpression<'a>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/types.rs:300:1 [INFO] [stdout] | [INFO] [stdout] 300 | struct CallExpression<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MemberExpression<'a>` is more private than the item `Expression::MemberExpression::0` [INFO] [stdout] --> src/types.rs:142:22 [INFO] [stdout] | [INFO] [stdout] 142 | MemberExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Expression::MemberExpression::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `MemberExpression<'a>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/types.rs:289:1 [INFO] [stdout] | [INFO] [stdout] 289 | struct MemberExpression<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `NewExpression<'a>` is more private than the item `Expression::NewExpression::0` [INFO] [stdout] --> src/types.rs:145:19 [INFO] [stdout] | [INFO] [stdout] 145 | NewExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Expression::NewExpression::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `NewExpression<'a>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/types.rs:338:1 [INFO] [stdout] | [INFO] [stdout] 338 | struct NewExpression<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `script` is never constructed [INFO] [stdout] --> src/types.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum SourceType { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] 9 | script, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SourceType` 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: associated constants `script` and `module` are never used [INFO] [stdout] --> src/types.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 13 | impl SourceType { [INFO] [stdout] | --------------- associated constants in this implementation [INFO] [stdout] 14 | const script: &'static str = "script"; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | const module: &'static str = "module"; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Init`, `Get`, and `Set` are never constructed [INFO] [stdout] --> src/types.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum Kind { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 20 | Init, [INFO] [stdout] | ^^^^ [INFO] [stdout] 21 | Get, [INFO] [stdout] | ^^^ [INFO] [stdout] 22 | Set, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Kind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constants `Init`, `Get`, and `Set` are never used [INFO] [stdout] --> src/types.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 25 | impl Kind { [INFO] [stdout] | --------- associated constants in this implementation [INFO] [stdout] 26 | const Init: &'static str = "init"; [INFO] [stdout] | ^^^^ [INFO] [stdout] 27 | const Get: &'static str = "get"; [INFO] [stdout] | ^^^ [INFO] [stdout] 28 | const Set: &'static str = "set"; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Identifier` and `ComputedPropertyKey` are never constructed [INFO] [stdout] --> src/types.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum PropertyKey<'a> { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 33 | Identifier(Identifier), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 34 | ComputedPropertyKey(Expression<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PropertyKey` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ObjectExpression`, `FunctionExpression`, `ArrowFunctionExpression`, `FunctionDeclaration`, and `Property` are never constructed [INFO] [stdout] --> src/types.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub enum ASTType { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 43 | ObjectExpression, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 44 | FunctionExpression, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 45 | ArrowFunctionExpression, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | Literal, [INFO] [stdout] 47 | FunctionDeclaration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 48 | BlockStatement, [INFO] [stdout] 49 | Property, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ASTType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated constants are never used [INFO] [stdout] --> src/types.rs:53:11 [INFO] [stdout] | [INFO] [stdout] 52 | impl ASTType { [INFO] [stdout] | ------------ associated constants in this implementation [INFO] [stdout] 53 | const Program: &'static str = "Program"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 54 | const VariableDeclaration: &'static str = "VariableDeclaration"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 55 | const VariableDeclarator: &'static str = "VariableDeclarator"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 56 | const Identifier: &'static str = "Identifier"; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 57 | const ArrayExpression: &'static str = "ArrayExpression"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 58 | const ObjectExpression: &'static str = "ObjectExpression"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 59 | const FunctionExpression: &'static str = "FunctionExpression"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 60 | const ArrowFunctionExpression: &'static str = "ArrowFunctionExpression"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 61 | const Literal: &'static str = "Literal"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 62 | const FunctionDeclaration: &'static str = "FunctionDeclaration"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 63 | const BlockStatement: &'static str = "BlockStatement"; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 64 | const Property: &'static str = "Property"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AST` is never used [INFO] [stdout] --> src/types.rs:68:10 [INFO] [stdout] | [INFO] [stdout] 68 | pub enum AST<'a> { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AST` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/types.rs:78:25 [INFO] [stdout] | [INFO] [stdout] 78 | VariableDeclaration(VariableDeclaration<'a>), [INFO] [stdout] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Body` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 78 | VariableDeclaration(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/types.rs:81:20 [INFO] [stdout] | [INFO] [stdout] 81 | BlockStatement(BlockStatement<'a>), [INFO] [stdout] | -------------- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Body` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 81 | BlockStatement(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `FunctionDeclaration` and `ExpressionStatement` are never constructed [INFO] [stdout] --> src/types.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 77 | pub enum Body<'a> { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 78 | VariableDeclaration(VariableDeclaration<'a>), [INFO] [stdout] 79 | FunctionDeclaration(FunctionDeclaration<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 80 | ExpressionStatement(ExpressionStatement<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Body` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Identifier` and `AssignmentPattern` are never constructed [INFO] [stdout] --> src/types.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 85 | enum FunctionParams<'a> { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 86 | Identifier(Identifier), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 87 | AssignmentPattern(AssignmentPattern<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FunctionParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Literal`, `Identifier`, `MemberExpression`, `CallExpression`, `ArrayExpression`, and `ObjectExpression` are never constructed [INFO] [stdout] --> src/types.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 91 | enum AssignmentPatternRight<'a> { [INFO] [stdout] | ---------------------- variants in this enum [INFO] [stdout] 92 | Literal(Literal<'a>), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 93 | Identifier(Identifier), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 94 | MemberExpression(MemberExpression<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 95 | CallExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 96 | ArrayExpression(ArrayExpression<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 97 | ObjectExpression(ObjectExpression<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AssignmentPatternRight` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MemberExpressionObject` is never used [INFO] [stdout] --> src/types.rs:101:6 [INFO] [stdout] | [INFO] [stdout] 101 | enum MemberExpressionObject<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MemberExpressionProperty` is never used [INFO] [stdout] --> src/types.rs:110:6 [INFO] [stdout] | [INFO] [stdout] 110 | enum MemberExpressionProperty<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CallExpressionCallee` is never used [INFO] [stdout] --> src/types.rs:120:6 [INFO] [stdout] | [INFO] [stdout] 120 | enum CallExpressionCallee<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CallExpressionArgument` is never used [INFO] [stdout] --> src/types.rs:127:6 [INFO] [stdout] | [INFO] [stdout] 127 | enum CallExpressionArgument<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/types.rs:143:21 [INFO] [stdout] | [INFO] [stdout] 143 | ArrayExpression(Option>>), [INFO] [stdout] | --------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 143 | ArrayExpression(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/types.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | Literal(Literal<'a>), [INFO] [stdout] | ------- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 144 | Literal(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/types.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 137 | pub enum Expression<'a> { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 138 | Identifier(Identifier), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 139 | ConditionalExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 140 | BinaryExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 141 | CallExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 142 | MemberExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | NewExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 146 | FunctionExpression(FunctionExpression<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 147 | ArrowFunctionExpression(ArrowFunctionExpression<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sourceType` is never read [INFO] [stdout] --> src/types.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 151 | pub struct Program<'a> { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 154 | pub sourceType: SourceType, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Program` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, and `name` are never read [INFO] [stdout] --> src/types.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 158 | pub struct Identifier { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 159 | pub _type: ASTType, [INFO] [stdout] 160 | pub start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 161 | pub end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 162 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Identifier` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, `id`, and `init` are never read [INFO] [stdout] --> src/types.rs:168:9 [INFO] [stdout] | [INFO] [stdout] 166 | pub struct VariableDeclarator<'a> { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 167 | pub _type: ASTType, [INFO] [stdout] 168 | pub start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 169 | pub end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 170 | pub id: Identifier, [INFO] [stdout] | ^^ [INFO] [stdout] 171 | pub init: Expression<'a>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VariableDeclarator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constants `Const`, `Let`, and `Var` are never used [INFO] [stdout] --> src/types.rs:182:11 [INFO] [stdout] | [INFO] [stdout] 181 | impl DeclarationKind { [INFO] [stdout] | -------------------- associated constants in this implementation [INFO] [stdout] 182 | const Const: &'static str = "const"; [INFO] [stdout] | ^^^^^ [INFO] [stdout] 183 | const Let: &'static str = "let"; [INFO] [stdout] | ^^^ [INFO] [stdout] 184 | const Var: &'static str = "var"; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `start` is never read [INFO] [stdout] --> src/types.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 188 | pub struct VariableDeclaration<'a> { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 189 | pub _type: ASTType, [INFO] [stdout] 190 | pub start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VariableDeclaration` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `start` is never read [INFO] [stdout] --> src/types.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 197 | pub struct ArrayExpression<'a> { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 198 | pub _type: ASTType, [INFO] [stdout] 199 | pub start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ArrayExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, and `properties` are never read [INFO] [stdout] --> src/types.rs:207:5 [INFO] [stdout] | [INFO] [stdout] 205 | struct ObjectExpression<'a> { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 206 | _type: ASTType, [INFO] [stdout] 207 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 208 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 209 | properties: Vec>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ObjectExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/types.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 213 | pub struct Property<'a> { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 214 | pub _type: ASTType, [INFO] [stdout] 215 | pub start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 216 | pub end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 217 | pub method: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 218 | pub shorthand: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 219 | pub computed: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 220 | pub key: PropertyKey<'a>, [INFO] [stdout] | ^^^ [INFO] [stdout] 221 | pub value: Expression<'a>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 222 | pub kind: Kind, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Property` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constants `STRING`, `NUMBER`, `BOOLEAN`, `NULL`, and `REGEXP` are never used [INFO] [stdout] --> src/types.rs:235:11 [INFO] [stdout] | [INFO] [stdout] 234 | impl LiteralType { [INFO] [stdout] | ---------------- associated constants in this implementation [INFO] [stdout] 235 | const STRING: &'static str = "string"; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 236 | const NUMBER: &'static str = "number"; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 237 | const BOOLEAN: &'static str = "boolean"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 238 | const NULL: &'static str = "null"; [INFO] [stdout] | ^^^^ [INFO] [stdout] 239 | const REGEXP: &'static str = "regexp"; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pattern` and `flags` are never read [INFO] [stdout] --> src/types.rs:244:9 [INFO] [stdout] | [INFO] [stdout] 243 | pub struct Regex<'a> { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 244 | pub pattern: &'a str, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 245 | pub flags: &'a str, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Regex` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, `value`, `raw`, and `regex` are never read [INFO] [stdout] --> src/types.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 249 | pub struct Literal<'a> { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 250 | pub _type: ASTType, [INFO] [stdout] 251 | pub start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 252 | pub end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 253 | pub value: LiteralType, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 254 | pub raw: &'a str, [INFO] [stdout] | ^^^ [INFO] [stdout] 255 | pub regex: Option>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Literal` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/types.rs:261:5 [INFO] [stdout] | [INFO] [stdout] 259 | struct FunctionDeclaration<'a> { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 260 | _type: ASTType, [INFO] [stdout] 261 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 262 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 263 | id: Identifier, [INFO] [stdout] | ^^ [INFO] [stdout] 264 | expression: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 265 | generator: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 266 | _async: bool, [INFO] [stdout] 267 | params: Vec>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 268 | body: BlockStatement<'a>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FunctionDeclaration` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start` and `end` are never read [INFO] [stdout] --> src/types.rs:274:9 [INFO] [stdout] | [INFO] [stdout] 272 | pub struct BlockStatement<'a> { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 273 | pub _type: ASTType, [INFO] [stdout] 274 | pub start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 275 | pub end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BlockStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, `left`, and `right` are never read [INFO] [stdout] --> src/types.rs:282:5 [INFO] [stdout] | [INFO] [stdout] 280 | struct AssignmentPattern<'a> { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 281 | _type: ASTType, [INFO] [stdout] 282 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 283 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 284 | left: Identifier, [INFO] [stdout] | ^^^^ [INFO] [stdout] 285 | right: AssignmentPatternRight<'a>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AssignmentPattern` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, `object`, `property`, `computed`, and `optional` are never read [INFO] [stdout] --> src/types.rs:291:5 [INFO] [stdout] | [INFO] [stdout] 289 | struct MemberExpression<'a> { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 290 | _type: ASTType, [INFO] [stdout] 291 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 292 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 293 | object: Expression<'a>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 294 | property: Expression<'a>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 295 | computed: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 296 | optional: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MemberExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, `callee`, `arguments`, and `optional` are never read [INFO] [stdout] --> src/types.rs:302:5 [INFO] [stdout] | [INFO] [stdout] 300 | struct CallExpression<'a> { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 301 | _type: ASTType, [INFO] [stdout] 302 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 303 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 304 | callee: Expression<'a>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 305 | arguments: Vec>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 306 | optional: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CallExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, and `expression` are never read [INFO] [stdout] --> src/types.rs:312:5 [INFO] [stdout] | [INFO] [stdout] 310 | struct ExpressionStatement<'a> { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 311 | _type: ASTType, [INFO] [stdout] 312 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 313 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 314 | expression: Expression<'a>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExpressionStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, `test`, `consequent`, and `alternate` are never read [INFO] [stdout] --> src/types.rs:320:5 [INFO] [stdout] | [INFO] [stdout] 318 | struct ConditionalExpression<'a> { [INFO] [stdout] | --------------------- fields in this struct [INFO] [stdout] 319 | _type: ASTType, [INFO] [stdout] 320 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 321 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 322 | test: Expression<'a>, [INFO] [stdout] | ^^^^ [INFO] [stdout] 323 | consequent: Expression<'a>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 324 | alternate: Expression<'a>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConditionalExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, `left`, `operator`, and `right` are never read [INFO] [stdout] --> src/types.rs:330:5 [INFO] [stdout] | [INFO] [stdout] 328 | struct BinaryExpression<'a> { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 329 | _type: ASTType, [INFO] [stdout] 330 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 331 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 332 | left: Expression<'a>, [INFO] [stdout] | ^^^^ [INFO] [stdout] 333 | operator: &'static str, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 334 | right: Expression<'a>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BinaryExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, `callee`, and `arguments` are never read [INFO] [stdout] --> src/types.rs:340:5 [INFO] [stdout] | [INFO] [stdout] 338 | struct NewExpression<'a> { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 339 | _type: ASTType, [INFO] [stdout] 340 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 341 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 342 | callee: Expression<'a>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 343 | arguments: Vec>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NewExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/types.rs:349:9 [INFO] [stdout] | [INFO] [stdout] 347 | pub struct FunctionExpression<'a> { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 348 | pub _type: ASTType, [INFO] [stdout] 349 | pub start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 350 | pub end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 351 | pub id: Option, [INFO] [stdout] | ^^ [INFO] [stdout] 352 | pub expression: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 353 | pub generator: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 354 | pub _async: bool, [INFO] [stdout] 355 | pub params: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 356 | pub body: BlockStatement<'a>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FunctionExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/types.rs:362:9 [INFO] [stdout] | [INFO] [stdout] 360 | pub struct ArrowFunctionExpression<'a> { [INFO] [stdout] | ----------------------- fields in this struct [INFO] [stdout] 361 | pub _type: ASTType, [INFO] [stdout] 362 | pub start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 363 | pub end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 364 | pub id: Option, [INFO] [stdout] | ^^ [INFO] [stdout] 365 | pub expression: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 366 | pub generator: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 367 | pub _async: bool, [INFO] [stdout] 368 | pub params: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 369 | pub body: BlockStatement<'a>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ArrowFunctionExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `search_prefix` is never used [INFO] [stdout] --> src/utils/token_trie.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub trait TrieMethods { [INFO] [stdout] | ----------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 20 | fn search_prefix(&self, string: &str) -> Option<&TrieNode>; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assignment_expression` is never used [INFO] [stdout] --> src/gram_analysis/assignment_expression.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn assignment_expression(tokens: &[Token], cursor: usize) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `conditional_expression` is never used [INFO] [stdout] --> src/gram_analysis/conditional_expression.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn conditional_expression(tokens: &[Token], cursor: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `logical_and_expression` is never used [INFO] [stdout] --> src/gram_analysis/logical_and_expression.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn logical_and_expression(tokens: &[Token], cursor: usize) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `logical_or_expression` is never used [INFO] [stdout] --> src/gram_analysis/logical_or_expression.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn logical_or_expression(tokens: &[Token], cursor: usize) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `object_expression` is never used [INFO] [stdout] --> src/gram_analysis/object_expression.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn object_expression( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `object_property` is never used [INFO] [stdout] --> src/gram_analysis/object_property.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn object_property<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `function_expression` is never used [INFO] [stdout] --> src/gram_analysis/function_expression.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn function_expression( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | program(&tokens); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 87 | let _ = program(&tokens); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `beforeExpr` should have a snake case name [INFO] [stdout] --> src/tokenizer.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | pub beforeExpr: bool, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `before_expr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `startsExpr` should have a snake case name [INFO] [stdout] --> src/tokenizer.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | pub startsExpr: bool, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `starts_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `isLoop` should have a snake case name [INFO] [stdout] --> src/tokenizer.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | pub isLoop: bool, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `is_loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `isAssign` should have a snake case name [INFO] [stdout] --> src/tokenizer.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | pub isAssign: bool, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `is_assign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `script` should have an upper case name [INFO] [stdout] --> src/types.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | const script: &'static str = "script"; [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper case: `SCRIPT` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `module` should have an upper case name [INFO] [stdout] --> src/types.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | const module: &'static str = "module"; [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper case: `MODULE` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `Init` should have an upper case name [INFO] [stdout] --> src/types.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | const Init: &'static str = "init"; [INFO] [stdout] | ^^^^ help: convert the identifier to upper case: `INIT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `Get` should have an upper case name [INFO] [stdout] --> src/types.rs:27:11 [INFO] [stdout] | [INFO] [stdout] 27 | const Get: &'static str = "get"; [INFO] [stdout] | ^^^ help: convert the identifier to upper case: `GET` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `Set` should have an upper case name [INFO] [stdout] --> src/types.rs:28:11 [INFO] [stdout] | [INFO] [stdout] 28 | const Set: &'static str = "set"; [INFO] [stdout] | ^^^ help: convert the identifier to upper case: `SET` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `Program` should have an upper case name [INFO] [stdout] --> src/types.rs:53:11 [INFO] [stdout] | [INFO] [stdout] 53 | const Program: &'static str = "Program"; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `PROGRAM` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `VariableDeclaration` should have an upper case name [INFO] [stdout] --> src/types.rs:54:11 [INFO] [stdout] | [INFO] [stdout] 54 | const VariableDeclaration: &'static str = "VariableDeclaration"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `VARIABLE_DECLARATION` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `VariableDeclarator` should have an upper case name [INFO] [stdout] --> src/types.rs:55:11 [INFO] [stdout] | [INFO] [stdout] 55 | const VariableDeclarator: &'static str = "VariableDeclarator"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `VARIABLE_DECLARATOR` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `Identifier` should have an upper case name [INFO] [stdout] --> src/types.rs:56:11 [INFO] [stdout] | [INFO] [stdout] 56 | const Identifier: &'static str = "Identifier"; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper case: `IDENTIFIER` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `ArrayExpression` should have an upper case name [INFO] [stdout] --> src/types.rs:57:11 [INFO] [stdout] | [INFO] [stdout] 57 | const ArrayExpression: &'static str = "ArrayExpression"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `ARRAY_EXPRESSION` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `ObjectExpression` should have an upper case name [INFO] [stdout] --> src/types.rs:58:11 [INFO] [stdout] | [INFO] [stdout] 58 | const ObjectExpression: &'static str = "ObjectExpression"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `OBJECT_EXPRESSION` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `FunctionExpression` should have an upper case name [INFO] [stdout] --> src/types.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | const FunctionExpression: &'static str = "FunctionExpression"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `FUNCTION_EXPRESSION` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `ArrowFunctionExpression` should have an upper case name [INFO] [stdout] --> src/types.rs:60:11 [INFO] [stdout] | [INFO] [stdout] 60 | const ArrowFunctionExpression: &'static str = "ArrowFunctionExpression"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `ARROW_FUNCTION_EXPRESSION` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `Literal` should have an upper case name [INFO] [stdout] --> src/types.rs:61:11 [INFO] [stdout] | [INFO] [stdout] 61 | const Literal: &'static str = "Literal"; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `LITERAL` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `FunctionDeclaration` should have an upper case name [INFO] [stdout] --> src/types.rs:62:11 [INFO] [stdout] | [INFO] [stdout] 62 | const FunctionDeclaration: &'static str = "FunctionDeclaration"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `FUNCTION_DECLARATION` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `BlockStatement` should have an upper case name [INFO] [stdout] --> src/types.rs:63:11 [INFO] [stdout] | [INFO] [stdout] 63 | const BlockStatement: &'static str = "BlockStatement"; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `BLOCK_STATEMENT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `Property` should have an upper case name [INFO] [stdout] --> src/types.rs:64:11 [INFO] [stdout] | [INFO] [stdout] 64 | const Property: &'static str = "Property"; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `PROPERTY` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `sourceType` should have a snake case name [INFO] [stdout] --> src/types.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | pub sourceType: SourceType, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `source_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `Const` should have an upper case name [INFO] [stdout] --> src/types.rs:182:11 [INFO] [stdout] | [INFO] [stdout] 182 | const Const: &'static str = "const"; [INFO] [stdout] | ^^^^^ help: convert the identifier to upper case: `CONST` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `Let` should have an upper case name [INFO] [stdout] --> src/types.rs:183:11 [INFO] [stdout] | [INFO] [stdout] 183 | const Let: &'static str = "let"; [INFO] [stdout] | ^^^ help: convert the identifier to upper case: `LET` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `Var` should have an upper case name [INFO] [stdout] --> src/types.rs:184:11 [INFO] [stdout] | [INFO] [stdout] 184 | const Var: &'static str = "var"; [INFO] [stdout] | ^^^ help: convert the identifier to upper case: `VAR` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/gram_analysis/object_expression.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | object_property(tokens, cursor + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 14 | let _ = object_property(tokens, cursor + 1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `keywordOption` should have a snake case name [INFO] [stdout] --> src/gram_analysis/statement.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | if let MyOption(keywordOption) = &token._type.keyword { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `keyword_option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lookaheadSymbol` should have a snake case name [INFO] [stdout] --> src/gram_analysis/variable_declaration.rs:14:25 [INFO] [stdout] | [INFO] [stdout] 14 | if let Some(lookaheadSymbol) = tokens.get(identifier_result.next_cursor) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lookahead_symbol` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `keywordOption` should have a snake case name [INFO] [stdout] --> src/gram_analysis/variable_statement.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | if let MyOption(keywordOption) = &token._type.keyword { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `keyword_option` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.88s [INFO] running `Command { std: "docker" "inspect" "fd319a2f9136d6f6f3cb31c74d4018e2dded96565430fb4d8e1ece19d37a55c5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fd319a2f9136d6f6f3cb31c74d4018e2dded96565430fb4d8e1ece19d37a55c5", kill_on_drop: false }` [INFO] [stdout] fd319a2f9136d6f6f3cb31c74d4018e2dded96565430fb4d8e1ece19d37a55c5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] af98addfeef2563693391d337e3613f39be37189b7da0a5763234b0f89012f11 [INFO] running `Command { std: "docker" "start" "-a" "af98addfeef2563693391d337e3613f39be37189b7da0a5763234b0f89012f11", kill_on_drop: false }` [INFO] [stderr] Compiling L4 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variant `script` should have an upper camel case name [INFO] [stdout] --> src/types.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | script, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Script` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `module` should have an upper camel case name [INFO] [stdout] --> src/types.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | module, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `Module` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `types::GramAnalysisResult` [INFO] [stdout] --> src/gram_analysis/assignment_expression.rs:1:31 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{tokenizer::Token, types::GramAnalysisResult}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AST` [INFO] [stdout] --> src/gram_analysis/identifier.rs:2:61 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::types::{ASTType, GramAnalysisResult, Identifier, AST}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ASTType` and `ArrayExpression` [INFO] [stdout] --> src/gram_analysis/object_expression.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | types::{ASTType, ArrayExpression, Expression, GramAnalysisResult}, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TokenValue` [INFO] [stdout] --> src/main.rs:32:35 [INFO] [stdout] | [INFO] [stdout] 32 | use crate::tokenizer::{tokenizer, TokenValue}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_cursor_index` [INFO] [stdout] --> src/tokenizer.rs:761:13 [INFO] [stdout] | [INFO] [stdout] 761 | let mut next_cursor_index: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_cursor_index` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_column` [INFO] [stdout] --> src/tokenizer.rs:762:13 [INFO] [stdout] | [INFO] [stdout] 762 | let mut current_column: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_column` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/tokenizer.rs:763:13 [INFO] [stdout] | [INFO] [stdout] 763 | let mut start: usize = 0; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_column` [INFO] [stdout] --> src/tokenizer.rs:764:13 [INFO] [stdout] | [INFO] [stdout] 764 | let mut start_column: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_column` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end` [INFO] [stdout] --> src/tokenizer.rs:766:13 [INFO] [stdout] | [INFO] [stdout] 766 | let mut end: usize = 0; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tokenizer.rs:761:9 [INFO] [stdout] | [INFO] [stdout] 761 | let mut next_cursor_index: usize = 0; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tokenizer.rs:762:9 [INFO] [stdout] | [INFO] [stdout] 762 | let mut current_column: usize = 0; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tokenizer.rs:763:9 [INFO] [stdout] | [INFO] [stdout] 763 | let mut start: usize = 0; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tokenizer.rs:764:9 [INFO] [stdout] | [INFO] [stdout] 764 | let mut start_column: usize = 0; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tokenizer.rs:766:9 [INFO] [stdout] | [INFO] [stdout] 766 | let mut end: usize = 0; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tokens` [INFO] [stdout] --> src/gram_analysis/assignment_expression.rs:3:30 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn assignment_expression(tokens: &[Token], cursor: usize) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cursor` [INFO] [stdout] --> src/gram_analysis/assignment_expression.rs:3:48 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn assignment_expression(tokens: &[Token], cursor: usize) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tokens` [INFO] [stdout] --> src/gram_analysis/conditional_expression.rs:3:31 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn conditional_expression(tokens: &[Token], cursor: usize) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cursor` [INFO] [stdout] --> src/gram_analysis/conditional_expression.rs:3:49 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn conditional_expression(tokens: &[Token], cursor: usize) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tokens` [INFO] [stdout] --> src/gram_analysis/logical_and_expression.rs:3:31 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn logical_and_expression(tokens: &[Token], cursor: usize) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cursor` [INFO] [stdout] --> src/gram_analysis/logical_and_expression.rs:3:49 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn logical_and_expression(tokens: &[Token], cursor: usize) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tokens` [INFO] [stdout] --> src/gram_analysis/logical_or_expression.rs:3:30 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn logical_or_expression(tokens: &[Token], cursor: usize) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cursor` [INFO] [stdout] --> src/gram_analysis/logical_or_expression.rs:3:48 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn logical_or_expression(tokens: &[Token], cursor: usize) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `function_start_cursor` is assigned to, but never used [INFO] [stdout] --> src/gram_analysis/object_property.rs:17:17 [INFO] [stdout] | [INFO] [stdout] 17 | let mut function_start_cursor = cursor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_function_start_cursor` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `function_start_cursor` is never read [INFO] [stdout] --> src/gram_analysis/object_property.rs:22:21 [INFO] [stdout] | [INFO] [stdout] 22 | function_start_cursor = cursor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `function_start_cursor` is never read [INFO] [stdout] --> src/gram_analysis/object_property.rs:56:33 [INFO] [stdout] | [INFO] [stdout] 56 | ... function_start_cursor = expression_result.next_cursor + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `function_start_cursor` is never read [INFO] [stdout] --> src/gram_analysis/object_property.rs:82:29 [INFO] [stdout] | [INFO] [stdout] 82 | ... function_start_cursor = cursor + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `property_ast` [INFO] [stdout] --> src/gram_analysis/object_property.rs:101:33 [INFO] [stdout] | [INFO] [stdout] 101 | ... let property_ast = Property { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property_ast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/gram_analysis/object_property.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | let mut key: PropertyKey; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/gram_analysis/statement.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | if let MyOption(keywordOption) = &token._type.keyword { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/gram_analysis/variable_statement.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | if let MyOption(keywordOption) = &token._type.keyword { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `FunctionDeclaration<'a>` is more private than the item `Body::FunctionDeclaration::0` [INFO] [stdout] --> src/types.rs:79:25 [INFO] [stdout] | [INFO] [stdout] 79 | FunctionDeclaration(FunctionDeclaration<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ field `Body::FunctionDeclaration::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `FunctionDeclaration<'a>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/types.rs:259:1 [INFO] [stdout] | [INFO] [stdout] 259 | struct FunctionDeclaration<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ExpressionStatement<'a>` is more private than the item `Body::ExpressionStatement::0` [INFO] [stdout] --> src/types.rs:80:25 [INFO] [stdout] | [INFO] [stdout] 80 | ExpressionStatement(ExpressionStatement<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ field `Body::ExpressionStatement::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ExpressionStatement<'a>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/types.rs:310:1 [INFO] [stdout] | [INFO] [stdout] 310 | struct ExpressionStatement<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ConditionalExpression<'a>` is more private than the item `Expression::ConditionalExpression::0` [INFO] [stdout] --> src/types.rs:139:27 [INFO] [stdout] | [INFO] [stdout] 139 | ConditionalExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Expression::ConditionalExpression::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ConditionalExpression<'a>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/types.rs:318:1 [INFO] [stdout] | [INFO] [stdout] 318 | struct ConditionalExpression<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `BinaryExpression<'a>` is more private than the item `Expression::BinaryExpression::0` [INFO] [stdout] --> src/types.rs:140:22 [INFO] [stdout] | [INFO] [stdout] 140 | BinaryExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Expression::BinaryExpression::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `BinaryExpression<'a>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/types.rs:328:1 [INFO] [stdout] | [INFO] [stdout] 328 | struct BinaryExpression<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `CallExpression<'a>` is more private than the item `Expression::CallExpression::0` [INFO] [stdout] --> src/types.rs:141:20 [INFO] [stdout] | [INFO] [stdout] 141 | CallExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Expression::CallExpression::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `CallExpression<'a>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/types.rs:300:1 [INFO] [stdout] | [INFO] [stdout] 300 | struct CallExpression<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MemberExpression<'a>` is more private than the item `Expression::MemberExpression::0` [INFO] [stdout] --> src/types.rs:142:22 [INFO] [stdout] | [INFO] [stdout] 142 | MemberExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Expression::MemberExpression::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `MemberExpression<'a>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/types.rs:289:1 [INFO] [stdout] | [INFO] [stdout] 289 | struct MemberExpression<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `NewExpression<'a>` is more private than the item `Expression::NewExpression::0` [INFO] [stdout] --> src/types.rs:145:19 [INFO] [stdout] | [INFO] [stdout] 145 | NewExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Expression::NewExpression::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `NewExpression<'a>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/types.rs:338:1 [INFO] [stdout] | [INFO] [stdout] 338 | struct NewExpression<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `script` is never constructed [INFO] [stdout] --> src/types.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum SourceType { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] 9 | script, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SourceType` 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: associated constants `script` and `module` are never used [INFO] [stdout] --> src/types.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 13 | impl SourceType { [INFO] [stdout] | --------------- associated constants in this implementation [INFO] [stdout] 14 | const script: &'static str = "script"; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | const module: &'static str = "module"; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Init`, `Get`, and `Set` are never constructed [INFO] [stdout] --> src/types.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum Kind { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 20 | Init, [INFO] [stdout] | ^^^^ [INFO] [stdout] 21 | Get, [INFO] [stdout] | ^^^ [INFO] [stdout] 22 | Set, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Kind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constants `Init`, `Get`, and `Set` are never used [INFO] [stdout] --> src/types.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 25 | impl Kind { [INFO] [stdout] | --------- associated constants in this implementation [INFO] [stdout] 26 | const Init: &'static str = "init"; [INFO] [stdout] | ^^^^ [INFO] [stdout] 27 | const Get: &'static str = "get"; [INFO] [stdout] | ^^^ [INFO] [stdout] 28 | const Set: &'static str = "set"; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Identifier` and `ComputedPropertyKey` are never constructed [INFO] [stdout] --> src/types.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum PropertyKey<'a> { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 33 | Identifier(Identifier), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 34 | ComputedPropertyKey(Expression<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PropertyKey` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ObjectExpression`, `FunctionExpression`, `ArrowFunctionExpression`, `FunctionDeclaration`, and `Property` are never constructed [INFO] [stdout] --> src/types.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub enum ASTType { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 43 | ObjectExpression, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 44 | FunctionExpression, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 45 | ArrowFunctionExpression, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | Literal, [INFO] [stdout] 47 | FunctionDeclaration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 48 | BlockStatement, [INFO] [stdout] 49 | Property, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ASTType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated constants are never used [INFO] [stdout] --> src/types.rs:53:11 [INFO] [stdout] | [INFO] [stdout] 52 | impl ASTType { [INFO] [stdout] | ------------ associated constants in this implementation [INFO] [stdout] 53 | const Program: &'static str = "Program"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 54 | const VariableDeclaration: &'static str = "VariableDeclaration"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 55 | const VariableDeclarator: &'static str = "VariableDeclarator"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 56 | const Identifier: &'static str = "Identifier"; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 57 | const ArrayExpression: &'static str = "ArrayExpression"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 58 | const ObjectExpression: &'static str = "ObjectExpression"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 59 | const FunctionExpression: &'static str = "FunctionExpression"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 60 | const ArrowFunctionExpression: &'static str = "ArrowFunctionExpression"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 61 | const Literal: &'static str = "Literal"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 62 | const FunctionDeclaration: &'static str = "FunctionDeclaration"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 63 | const BlockStatement: &'static str = "BlockStatement"; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 64 | const Property: &'static str = "Property"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AST` is never used [INFO] [stdout] --> src/types.rs:68:10 [INFO] [stdout] | [INFO] [stdout] 68 | pub enum AST<'a> { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AST` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/types.rs:78:25 [INFO] [stdout] | [INFO] [stdout] 78 | VariableDeclaration(VariableDeclaration<'a>), [INFO] [stdout] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Body` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 78 | VariableDeclaration(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/types.rs:81:20 [INFO] [stdout] | [INFO] [stdout] 81 | BlockStatement(BlockStatement<'a>), [INFO] [stdout] | -------------- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Body` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 81 | BlockStatement(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `FunctionDeclaration` and `ExpressionStatement` are never constructed [INFO] [stdout] --> src/types.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 77 | pub enum Body<'a> { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 78 | VariableDeclaration(VariableDeclaration<'a>), [INFO] [stdout] 79 | FunctionDeclaration(FunctionDeclaration<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 80 | ExpressionStatement(ExpressionStatement<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Body` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Identifier` and `AssignmentPattern` are never constructed [INFO] [stdout] --> src/types.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 85 | enum FunctionParams<'a> { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 86 | Identifier(Identifier), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 87 | AssignmentPattern(AssignmentPattern<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FunctionParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Literal`, `Identifier`, `MemberExpression`, `CallExpression`, `ArrayExpression`, and `ObjectExpression` are never constructed [INFO] [stdout] --> src/types.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 91 | enum AssignmentPatternRight<'a> { [INFO] [stdout] | ---------------------- variants in this enum [INFO] [stdout] 92 | Literal(Literal<'a>), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 93 | Identifier(Identifier), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 94 | MemberExpression(MemberExpression<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 95 | CallExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 96 | ArrayExpression(ArrayExpression<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 97 | ObjectExpression(ObjectExpression<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AssignmentPatternRight` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MemberExpressionObject` is never used [INFO] [stdout] --> src/types.rs:101:6 [INFO] [stdout] | [INFO] [stdout] 101 | enum MemberExpressionObject<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MemberExpressionProperty` is never used [INFO] [stdout] --> src/types.rs:110:6 [INFO] [stdout] | [INFO] [stdout] 110 | enum MemberExpressionProperty<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CallExpressionCallee` is never used [INFO] [stdout] --> src/types.rs:120:6 [INFO] [stdout] | [INFO] [stdout] 120 | enum CallExpressionCallee<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CallExpressionArgument` is never used [INFO] [stdout] --> src/types.rs:127:6 [INFO] [stdout] | [INFO] [stdout] 127 | enum CallExpressionArgument<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/types.rs:143:21 [INFO] [stdout] | [INFO] [stdout] 143 | ArrayExpression(Option>>), [INFO] [stdout] | --------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 143 | ArrayExpression(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/types.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | Literal(Literal<'a>), [INFO] [stdout] | ------- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 144 | Literal(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/types.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 137 | pub enum Expression<'a> { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 138 | Identifier(Identifier), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 139 | ConditionalExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 140 | BinaryExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 141 | CallExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 142 | MemberExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | NewExpression(Option>>), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 146 | FunctionExpression(FunctionExpression<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 147 | ArrowFunctionExpression(ArrowFunctionExpression<'a>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sourceType` is never read [INFO] [stdout] --> src/types.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 151 | pub struct Program<'a> { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 154 | pub sourceType: SourceType, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Program` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, and `name` are never read [INFO] [stdout] --> src/types.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 158 | pub struct Identifier { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 159 | pub _type: ASTType, [INFO] [stdout] 160 | pub start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 161 | pub end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 162 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Identifier` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, `id`, and `init` are never read [INFO] [stdout] --> src/types.rs:168:9 [INFO] [stdout] | [INFO] [stdout] 166 | pub struct VariableDeclarator<'a> { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 167 | pub _type: ASTType, [INFO] [stdout] 168 | pub start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 169 | pub end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 170 | pub id: Identifier, [INFO] [stdout] | ^^ [INFO] [stdout] 171 | pub init: Expression<'a>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VariableDeclarator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constants `Const`, `Let`, and `Var` are never used [INFO] [stdout] --> src/types.rs:182:11 [INFO] [stdout] | [INFO] [stdout] 181 | impl DeclarationKind { [INFO] [stdout] | -------------------- associated constants in this implementation [INFO] [stdout] 182 | const Const: &'static str = "const"; [INFO] [stdout] | ^^^^^ [INFO] [stdout] 183 | const Let: &'static str = "let"; [INFO] [stdout] | ^^^ [INFO] [stdout] 184 | const Var: &'static str = "var"; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `start` is never read [INFO] [stdout] --> src/types.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 188 | pub struct VariableDeclaration<'a> { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 189 | pub _type: ASTType, [INFO] [stdout] 190 | pub start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VariableDeclaration` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `start` is never read [INFO] [stdout] --> src/types.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 197 | pub struct ArrayExpression<'a> { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 198 | pub _type: ASTType, [INFO] [stdout] 199 | pub start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ArrayExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, and `properties` are never read [INFO] [stdout] --> src/types.rs:207:5 [INFO] [stdout] | [INFO] [stdout] 205 | struct ObjectExpression<'a> { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 206 | _type: ASTType, [INFO] [stdout] 207 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 208 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 209 | properties: Vec>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ObjectExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/types.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 213 | pub struct Property<'a> { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 214 | pub _type: ASTType, [INFO] [stdout] 215 | pub start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 216 | pub end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 217 | pub method: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 218 | pub shorthand: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 219 | pub computed: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 220 | pub key: PropertyKey<'a>, [INFO] [stdout] | ^^^ [INFO] [stdout] 221 | pub value: Expression<'a>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 222 | pub kind: Kind, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Property` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constants `STRING`, `NUMBER`, `BOOLEAN`, `NULL`, and `REGEXP` are never used [INFO] [stdout] --> src/types.rs:235:11 [INFO] [stdout] | [INFO] [stdout] 234 | impl LiteralType { [INFO] [stdout] | ---------------- associated constants in this implementation [INFO] [stdout] 235 | const STRING: &'static str = "string"; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 236 | const NUMBER: &'static str = "number"; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 237 | const BOOLEAN: &'static str = "boolean"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 238 | const NULL: &'static str = "null"; [INFO] [stdout] | ^^^^ [INFO] [stdout] 239 | const REGEXP: &'static str = "regexp"; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pattern` and `flags` are never read [INFO] [stdout] --> src/types.rs:244:9 [INFO] [stdout] | [INFO] [stdout] 243 | pub struct Regex<'a> { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 244 | pub pattern: &'a str, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 245 | pub flags: &'a str, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Regex` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, `value`, `raw`, and `regex` are never read [INFO] [stdout] --> src/types.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 249 | pub struct Literal<'a> { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 250 | pub _type: ASTType, [INFO] [stdout] 251 | pub start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 252 | pub end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 253 | pub value: LiteralType, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 254 | pub raw: &'a str, [INFO] [stdout] | ^^^ [INFO] [stdout] 255 | pub regex: Option>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Literal` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/types.rs:261:5 [INFO] [stdout] | [INFO] [stdout] 259 | struct FunctionDeclaration<'a> { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 260 | _type: ASTType, [INFO] [stdout] 261 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 262 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 263 | id: Identifier, [INFO] [stdout] | ^^ [INFO] [stdout] 264 | expression: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 265 | generator: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 266 | _async: bool, [INFO] [stdout] 267 | params: Vec>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 268 | body: BlockStatement<'a>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FunctionDeclaration` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start` and `end` are never read [INFO] [stdout] --> src/types.rs:274:9 [INFO] [stdout] | [INFO] [stdout] 272 | pub struct BlockStatement<'a> { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 273 | pub _type: ASTType, [INFO] [stdout] 274 | pub start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 275 | pub end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BlockStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, `left`, and `right` are never read [INFO] [stdout] --> src/types.rs:282:5 [INFO] [stdout] | [INFO] [stdout] 280 | struct AssignmentPattern<'a> { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 281 | _type: ASTType, [INFO] [stdout] 282 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 283 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 284 | left: Identifier, [INFO] [stdout] | ^^^^ [INFO] [stdout] 285 | right: AssignmentPatternRight<'a>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AssignmentPattern` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, `object`, `property`, `computed`, and `optional` are never read [INFO] [stdout] --> src/types.rs:291:5 [INFO] [stdout] | [INFO] [stdout] 289 | struct MemberExpression<'a> { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 290 | _type: ASTType, [INFO] [stdout] 291 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 292 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 293 | object: Expression<'a>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 294 | property: Expression<'a>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 295 | computed: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 296 | optional: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MemberExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, `callee`, `arguments`, and `optional` are never read [INFO] [stdout] --> src/types.rs:302:5 [INFO] [stdout] | [INFO] [stdout] 300 | struct CallExpression<'a> { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 301 | _type: ASTType, [INFO] [stdout] 302 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 303 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 304 | callee: Expression<'a>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 305 | arguments: Vec>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 306 | optional: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CallExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, and `expression` are never read [INFO] [stdout] --> src/types.rs:312:5 [INFO] [stdout] | [INFO] [stdout] 310 | struct ExpressionStatement<'a> { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 311 | _type: ASTType, [INFO] [stdout] 312 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 313 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 314 | expression: Expression<'a>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExpressionStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, `test`, `consequent`, and `alternate` are never read [INFO] [stdout] --> src/types.rs:320:5 [INFO] [stdout] | [INFO] [stdout] 318 | struct ConditionalExpression<'a> { [INFO] [stdout] | --------------------- fields in this struct [INFO] [stdout] 319 | _type: ASTType, [INFO] [stdout] 320 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 321 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 322 | test: Expression<'a>, [INFO] [stdout] | ^^^^ [INFO] [stdout] 323 | consequent: Expression<'a>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 324 | alternate: Expression<'a>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConditionalExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, `left`, `operator`, and `right` are never read [INFO] [stdout] --> src/types.rs:330:5 [INFO] [stdout] | [INFO] [stdout] 328 | struct BinaryExpression<'a> { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 329 | _type: ASTType, [INFO] [stdout] 330 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 331 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 332 | left: Expression<'a>, [INFO] [stdout] | ^^^^ [INFO] [stdout] 333 | operator: &'static str, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 334 | right: Expression<'a>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BinaryExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start`, `end`, `callee`, and `arguments` are never read [INFO] [stdout] --> src/types.rs:340:5 [INFO] [stdout] | [INFO] [stdout] 338 | struct NewExpression<'a> { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 339 | _type: ASTType, [INFO] [stdout] 340 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 341 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 342 | callee: Expression<'a>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 343 | arguments: Vec>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NewExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/types.rs:349:9 [INFO] [stdout] | [INFO] [stdout] 347 | pub struct FunctionExpression<'a> { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 348 | pub _type: ASTType, [INFO] [stdout] 349 | pub start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 350 | pub end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 351 | pub id: Option, [INFO] [stdout] | ^^ [INFO] [stdout] 352 | pub expression: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 353 | pub generator: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 354 | pub _async: bool, [INFO] [stdout] 355 | pub params: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 356 | pub body: BlockStatement<'a>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FunctionExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/types.rs:362:9 [INFO] [stdout] | [INFO] [stdout] 360 | pub struct ArrowFunctionExpression<'a> { [INFO] [stdout] | ----------------------- fields in this struct [INFO] [stdout] 361 | pub _type: ASTType, [INFO] [stdout] 362 | pub start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 363 | pub end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 364 | pub id: Option, [INFO] [stdout] | ^^ [INFO] [stdout] 365 | pub expression: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 366 | pub generator: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 367 | pub _async: bool, [INFO] [stdout] 368 | pub params: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 369 | pub body: BlockStatement<'a>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ArrowFunctionExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `search_prefix` is never used [INFO] [stdout] --> src/utils/token_trie.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub trait TrieMethods { [INFO] [stdout] | ----------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 20 | fn search_prefix(&self, string: &str) -> Option<&TrieNode>; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assignment_expression` is never used [INFO] [stdout] --> src/gram_analysis/assignment_expression.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn assignment_expression(tokens: &[Token], cursor: usize) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `conditional_expression` is never used [INFO] [stdout] --> src/gram_analysis/conditional_expression.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn conditional_expression(tokens: &[Token], cursor: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `logical_and_expression` is never used [INFO] [stdout] --> src/gram_analysis/logical_and_expression.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn logical_and_expression(tokens: &[Token], cursor: usize) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `logical_or_expression` is never used [INFO] [stdout] --> src/gram_analysis/logical_or_expression.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn logical_or_expression(tokens: &[Token], cursor: usize) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `object_expression` is never used [INFO] [stdout] --> src/gram_analysis/object_expression.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn object_expression( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `object_property` is never used [INFO] [stdout] --> src/gram_analysis/object_property.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn object_property<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `function_expression` is never used [INFO] [stdout] --> src/gram_analysis/function_expression.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn function_expression( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | program(&tokens); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 87 | let _ = program(&tokens); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `beforeExpr` should have a snake case name [INFO] [stdout] --> src/tokenizer.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | pub beforeExpr: bool, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `before_expr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `startsExpr` should have a snake case name [INFO] [stdout] --> src/tokenizer.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | pub startsExpr: bool, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `starts_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `isLoop` should have a snake case name [INFO] [stdout] --> src/tokenizer.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | pub isLoop: bool, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `is_loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `isAssign` should have a snake case name [INFO] [stdout] --> src/tokenizer.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | pub isAssign: bool, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `is_assign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `script` should have an upper case name [INFO] [stdout] --> src/types.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | const script: &'static str = "script"; [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper case: `SCRIPT` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `module` should have an upper case name [INFO] [stdout] --> src/types.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | const module: &'static str = "module"; [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper case: `MODULE` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `Init` should have an upper case name [INFO] [stdout] --> src/types.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | const Init: &'static str = "init"; [INFO] [stdout] | ^^^^ help: convert the identifier to upper case: `INIT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `Get` should have an upper case name [INFO] [stdout] --> src/types.rs:27:11 [INFO] [stdout] | [INFO] [stdout] 27 | const Get: &'static str = "get"; [INFO] [stdout] | ^^^ help: convert the identifier to upper case: `GET` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `Set` should have an upper case name [INFO] [stdout] --> src/types.rs:28:11 [INFO] [stdout] | [INFO] [stdout] 28 | const Set: &'static str = "set"; [INFO] [stdout] | ^^^ help: convert the identifier to upper case: `SET` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `Program` should have an upper case name [INFO] [stdout] --> src/types.rs:53:11 [INFO] [stdout] | [INFO] [stdout] 53 | const Program: &'static str = "Program"; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `PROGRAM` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `VariableDeclaration` should have an upper case name [INFO] [stdout] --> src/types.rs:54:11 [INFO] [stdout] | [INFO] [stdout] 54 | const VariableDeclaration: &'static str = "VariableDeclaration"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `VARIABLE_DECLARATION` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `VariableDeclarator` should have an upper case name [INFO] [stdout] --> src/types.rs:55:11 [INFO] [stdout] | [INFO] [stdout] 55 | const VariableDeclarator: &'static str = "VariableDeclarator"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `VARIABLE_DECLARATOR` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `Identifier` should have an upper case name [INFO] [stdout] --> src/types.rs:56:11 [INFO] [stdout] | [INFO] [stdout] 56 | const Identifier: &'static str = "Identifier"; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper case: `IDENTIFIER` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `ArrayExpression` should have an upper case name [INFO] [stdout] --> src/types.rs:57:11 [INFO] [stdout] | [INFO] [stdout] 57 | const ArrayExpression: &'static str = "ArrayExpression"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `ARRAY_EXPRESSION` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `ObjectExpression` should have an upper case name [INFO] [stdout] --> src/types.rs:58:11 [INFO] [stdout] | [INFO] [stdout] 58 | const ObjectExpression: &'static str = "ObjectExpression"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `OBJECT_EXPRESSION` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `FunctionExpression` should have an upper case name [INFO] [stdout] --> src/types.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | const FunctionExpression: &'static str = "FunctionExpression"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `FUNCTION_EXPRESSION` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `ArrowFunctionExpression` should have an upper case name [INFO] [stdout] --> src/types.rs:60:11 [INFO] [stdout] | [INFO] [stdout] 60 | const ArrowFunctionExpression: &'static str = "ArrowFunctionExpression"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `ARROW_FUNCTION_EXPRESSION` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `Literal` should have an upper case name [INFO] [stdout] --> src/types.rs:61:11 [INFO] [stdout] | [INFO] [stdout] 61 | const Literal: &'static str = "Literal"; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `LITERAL` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `FunctionDeclaration` should have an upper case name [INFO] [stdout] --> src/types.rs:62:11 [INFO] [stdout] | [INFO] [stdout] 62 | const FunctionDeclaration: &'static str = "FunctionDeclaration"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `FUNCTION_DECLARATION` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `BlockStatement` should have an upper case name [INFO] [stdout] --> src/types.rs:63:11 [INFO] [stdout] | [INFO] [stdout] 63 | const BlockStatement: &'static str = "BlockStatement"; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `BLOCK_STATEMENT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `Property` should have an upper case name [INFO] [stdout] --> src/types.rs:64:11 [INFO] [stdout] | [INFO] [stdout] 64 | const Property: &'static str = "Property"; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `PROPERTY` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `sourceType` should have a snake case name [INFO] [stdout] --> src/types.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | pub sourceType: SourceType, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `source_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `Const` should have an upper case name [INFO] [stdout] --> src/types.rs:182:11 [INFO] [stdout] | [INFO] [stdout] 182 | const Const: &'static str = "const"; [INFO] [stdout] | ^^^^^ help: convert the identifier to upper case: `CONST` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `Let` should have an upper case name [INFO] [stdout] --> src/types.rs:183:11 [INFO] [stdout] | [INFO] [stdout] 183 | const Let: &'static str = "let"; [INFO] [stdout] | ^^^ help: convert the identifier to upper case: `LET` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `Var` should have an upper case name [INFO] [stdout] --> src/types.rs:184:11 [INFO] [stdout] | [INFO] [stdout] 184 | const Var: &'static str = "var"; [INFO] [stdout] | ^^^ help: convert the identifier to upper case: `VAR` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/gram_analysis/object_expression.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | object_property(tokens, cursor + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 14 | let _ = object_property(tokens, cursor + 1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `keywordOption` should have a snake case name [INFO] [stdout] --> src/gram_analysis/statement.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | if let MyOption(keywordOption) = &token._type.keyword { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `keyword_option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lookaheadSymbol` should have a snake case name [INFO] [stdout] --> src/gram_analysis/variable_declaration.rs:14:25 [INFO] [stdout] | [INFO] [stdout] 14 | if let Some(lookaheadSymbol) = tokens.get(identifier_result.next_cursor) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lookahead_symbol` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `keywordOption` should have a snake case name [INFO] [stdout] --> src/gram_analysis/variable_statement.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | if let MyOption(keywordOption) = &token._type.keyword { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `keyword_option` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s [INFO] running `Command { std: "docker" "inspect" "af98addfeef2563693391d337e3613f39be37189b7da0a5763234b0f89012f11", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "af98addfeef2563693391d337e3613f39be37189b7da0a5763234b0f89012f11", kill_on_drop: false }` [INFO] [stdout] af98addfeef2563693391d337e3613f39be37189b7da0a5763234b0f89012f11