[INFO] cloning repository https://github.com/khaliq97/rust-web-engine
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/khaliq97/rust-web-engine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhaliq97%2Frust-web-engine", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhaliq97%2Frust-web-engine'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a76fb29ef39d0c3329271244a1c695634127af1b
[INFO] building khaliq97/rust-web-engine against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhaliq97%2Frust-web-engine" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/khaliq97/rust-web-engine
[INFO] finished tweaking git repo https://github.com/khaliq97/rust-web-engine
[INFO] tweaked toml for git repo https://github.com/khaliq97/rust-web-engine written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/khaliq97/rust-web-engine on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/khaliq97/rust-web-engine 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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded quote v1.0.21
[INFO] [stderr]   Downloaded itoa v1.0.3
[INFO] [stderr]   Downloaded ryu v1.0.11
[INFO] [stderr]   Downloaded proc-macro2 v1.0.43
[INFO] [stderr]   Downloaded serde_derive v1.0.144
[INFO] [stderr]   Downloaded unicode-ident v1.0.3
[INFO] [stderr]   Downloaded serde v1.0.144
[INFO] [stderr]   Downloaded serde_json v1.0.85
[INFO] [stderr]   Downloaded syn v1.0.99
[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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6a14ee0a33defd913cd762abeceac81a82d71735c4d7063c8990506e5d86cc51
[INFO] running `Command { std: "docker" "start" "-a" "6a14ee0a33defd913cd762abeceac81a82d71735c4d7063c8990506e5d86cc51", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6a14ee0a33defd913cd762abeceac81a82d71735c4d7063c8990506e5d86cc51", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6a14ee0a33defd913cd762abeceac81a82d71735c4d7063c8990506e5d86cc51", kill_on_drop: false }`
[INFO] [stdout] 6a14ee0a33defd913cd762abeceac81a82d71735c4d7063c8990506e5d86cc51
[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" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c63adf4ff55348c33100d7ce711b04b282121bf402c25eb2baaa8b0c967aef87
[INFO] running `Command { std: "docker" "start" "-a" "c63adf4ff55348c33100d7ce711b04b282121bf402c25eb2baaa8b0c967aef87", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.43
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling unicode-ident v1.0.3
[INFO] [stderr]    Compiling syn v1.0.99
[INFO] [stderr]    Compiling serde_derive v1.0.144
[INFO] [stderr]    Compiling serde v1.0.144
[INFO] [stderr]    Compiling serde_json v1.0.85
[INFO] [stderr]    Compiling ryu v1.0.11
[INFO] [stderr]    Compiling itoa v1.0.3
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling web_engine v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variant `ELEMENT_NODE` should have an upper camel case name
[INFO] [stdout]  --> src/node.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     ELEMENT_NODE,
[INFO] [stdout]   |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ElementNode`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ATTRIBUTE_NODE` should have an upper camel case name
[INFO] [stdout]  --> src/node.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     ATTRIBUTE_NODE,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AttributeNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TEXT_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     TEXT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TextNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CDATA_SECTION_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     CDATA_SECTION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CdataSectionNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ENTITY_REFERENCE_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ENTITY_REFERENCE_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntityReferenceNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ENTITY_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     ENTITY_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntityNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PROCESSING_INSTRUCTION_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     PROCESSING_INSTRUCTION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ProcessingInstructionNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `COMMENT_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     COMMENT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CommentNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DOCUMENT_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     DOCUMENT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DocumentNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DOCUMENT_TYPE_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     DOCUMENT_TYPE_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DocumentTypeNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DOCUMENT_FRAGMENT_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     DOCUMENT_FRAGMENT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DocumentFragmentNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NOTATION_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     NOTATION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `NotationNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RefNode` and `WeakNode`
[INFO] [stdout]  --> src/character_data.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::node::{DOMString, RefNode, WeakNode};
[INFO] [stdout]   |                              ^^^^^^^  ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_PAREN` should have an upper camel case name
[INFO] [stdout]  --> src/token.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 |     LeftParen, RIGHT_PAREN, LEFT_BRACE, RIGHT_BRACE,
[INFO] [stdout]   |                ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightParen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_BRACE` should have an upper camel case name
[INFO] [stdout]  --> src/token.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 |     LeftParen, RIGHT_PAREN, LEFT_BRACE, RIGHT_BRACE,
[INFO] [stdout]   |                             ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBrace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_BRACE` should have an upper camel case name
[INFO] [stdout]  --> src/token.rs:6:41
[INFO] [stdout]   |
[INFO] [stdout] 6 |     LeftParen, RIGHT_PAREN, LEFT_BRACE, RIGHT_BRACE,
[INFO] [stdout]   |                                         ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBrace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BITWISE_NOT` should have an upper camel case name
[INFO] [stdout]  --> src/token.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     BITWISE_NOT, COLON,
[INFO] [stdout]   |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `BitwiseNot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BANG_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/token.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 |     BANG, BANG_EQUAL,
[INFO] [stdout]    |           ^^^^^^^^^^ help: convert the identifier to upper camel case: `BangEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `EQUAL_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/token.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     EQUAL, EQUAL_EQUAL,
[INFO] [stdout]    |            ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EqualEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GREATER_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/token.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 |     GREATER, GREATER_EQUAL,
[INFO] [stdout]    |              ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GreaterEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LESS_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/token.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 |     LESS, LESS_EQUAL,
[INFO] [stdout]    |           ^^^^^^^^^^ help: convert the identifier to upper camel case: `LessEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]    --> src/parser.rs:107:14
[INFO] [stdout]     |
[INFO] [stdout] 107 |         while(self.match_token(vec![TokenType::BANG_EQUAL, TokenType::EQUAL_EQUAL])) {
[INFO] [stdout]     |              ^                                                                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 107 -         while(self.match_token(vec![TokenType::BANG_EQUAL, TokenType::EQUAL_EQUAL])) {
[INFO] [stdout] 107 +         while self.match_token(vec![TokenType::BANG_EQUAL, TokenType::EQUAL_EQUAL]) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:291:12
[INFO] [stdout]     |
[INFO] [stdout] 291 |         if (token_type == TokenType::EOF) {
[INFO] [stdout]     |            ^                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 291 -         if (token_type == TokenType::EOF) {
[INFO] [stdout] 291 +         if token_type == TokenType::EOF {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/interpreter.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::Any;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ref`
[INFO] [stdout]  --> src/interpreter.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::{Ref, RefCell};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Weak`
[INFO] [stdout]  --> src/interpreter.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::rc::{Rc, Weak};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Token`
[INFO] [stdout]  --> src/interpreter.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::token::{Token, TokenType, Literal};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/interpreter.rs:505:137
[INFO] [stdout]     |
[INFO] [stdout] 505 |             return create_normal_completion(Rc::new(ReferenceRecordOrJsValue::JSValue(Rc::new(RefCell::new(JSValue::Boolean(false))))));;
[INFO] [stdout]     |                                                                                                                                         ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::de::Read`
[INFO] [stdout]  --> src/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde_json::de::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/character_data.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |      pub fn substring_data(offset: u32, count: u32) -> DOMString { 
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]   --> src/character_data.rs:18:41
[INFO] [stdout]    |
[INFO] [stdout] 18 |      pub fn substring_data(offset: u32, count: u32) -> DOMString { 
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/character_data.rs:24:25
[INFO] [stdout]    |
[INFO] [stdout] 24 |      pub fn append_data(data: DOMString) { 
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/character_data.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |      pub fn insert_data(offset: u32, data: DOMString) { 
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/character_data.rs:30:38
[INFO] [stdout]    |
[INFO] [stdout] 30 |      pub fn insert_data(offset: u32, data: DOMString) { 
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/character_data.rs:36:26
[INFO] [stdout]    |
[INFO] [stdout] 36 |      pub fn replace_data(offset: u32, count: u32, data: DOMString) { 
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]   --> src/character_data.rs:36:39
[INFO] [stdout]    |
[INFO] [stdout] 36 |      pub fn replace_data(offset: u32, count: u32, data: DOMString) { 
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/character_data.rs:36:51
[INFO] [stdout]    |
[INFO] [stdout] 36 |      pub fn replace_data(offset: u32, count: u32, data: DOMString) { 
[INFO] [stdout]    |                                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chars`
[INFO] [stdout]    --> src/scanner.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let chars: Vec<char> = self.source.chars().collect();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_chars`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ast.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 198 |             _=> unimplemented!()
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/ast.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |             ExpressionStatement::BinaryExpression(b) => visitor.visit_binary(b),
[INFO] [stdout]     |             ---------------------------------------- matches some of the same values
[INFO] [stdout] 191 |             ExpressionStatement::LiteralExpression(l) => visitor.visit_literal(l),
[INFO] [stdout]     |             ----------------------------------------- matches some of the same values
[INFO] [stdout] 192 |             ExpressionStatement::ParenthesizedExpression(p) => visitor.visit_parenthesized(p),
[INFO] [stdout]     |             ----------------------------------------------- matches some of the same values
[INFO] [stdout] 193 |             ExpressionStatement::UnaryExpression(u) => visitor.visit_unary(u),
[INFO] [stdout]     |             --------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 198 |             _=> unimplemented!()
[INFO] [stdout]     |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/ast_printer.rs:105:58
[INFO] [stdout]     |
[INFO] [stdout] 105 |             ExpressionStatement::ObjectLiteralExpression(node) => {
[INFO] [stdout]     |                                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `own_desc`
[INFO] [stdout]    --> src/interpreter.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 | ...   let own_desc = PropertyDescriptorType::PropertyDescriptor(PropertyDescriptor { property: Some(PropertyType::DataProperty(DataProper...
[INFO] [stdout]     |           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_own_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `receiver`
[INFO] [stdout]    --> src/interpreter.rs:136:112
[INFO] [stdout]     |
[INFO] [stdout] 136 | ...lue: Rc<RefCell<JSValue>>, receiver: &Rc<RefCell<JSObject>>, own_descriptor: &PropertyDescriptorType) -> CompletionRecord {
[INFO] [stdout]     |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_property`
[INFO] [stdout]    --> src/interpreter.rs:259:57
[INFO] [stdout]     |
[INFO] [stdout] 259 |                     Some(PropertyType::AccessorProperty(data_property)) => {
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_property`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `property_descriptor`
[INFO] [stdout]    --> src/interpreter.rs:286:56
[INFO] [stdout]     |
[INFO] [stdout] 286 |             PropertyDescriptorType::PropertyDescriptor(property_descriptor) => {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `receiver`
[INFO] [stdout]    --> src/interpreter.rs:335:47
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn ordinary_get(&self, key: &PropertyKey, receiver: &Rc<RefCell<JSObject>>) -> CompletionRecord {
[INFO] [stdout]     |                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `accessor_prop`
[INFO] [stdout]    --> src/interpreter.rs:407:44
[INFO] [stdout]     |
[INFO] [stdout] 407 |             PropertyType::AccessorProperty(accessor_prop) => {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_accessor_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `marked_for_deletion`
[INFO] [stdout]    --> src/interpreter.rs:581:62
[INFO] [stdout]     |
[INFO] [stdout] 581 |     fn create_mutable_binding(&mut self, binding_id: String, marked_for_deletion: bool) -> CompletionRecord {
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_marked_for_deletion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mut_binding`
[INFO] [stdout]    --> src/interpreter.rs:600:45
[INFO] [stdout]     |
[INFO] [stdout] 600 |                     Binding::MutableBinding(mut_binding) => {
[INFO] [stdout]     |                                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mut_binding`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_strict`
[INFO] [stdout]    --> src/interpreter.rs:621:53
[INFO] [stdout]     |
[INFO] [stdout] 621 |     fn get_binding_value(&self, binding_id: String, is_strict: bool) -> CompletionRecord {
[INFO] [stdout]     |                                                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_strict`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_strict`
[INFO] [stdout]    --> src/interpreter.rs:654:53
[INFO] [stdout]     |
[INFO] [stdout] 654 |     fn get_binding_value(&self, binding_id: String, is_strict: bool) -> CompletionRecord {
[INFO] [stdout]     |                                                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_strict`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `declarative_record`
[INFO] [stdout]    --> src/interpreter.rs:766:21
[INFO] [stdout]     |
[INFO] [stdout] 766 |                 let declarative_record = &global_environment_record.borrow().declarative_environment_record;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_declarative_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expression`
[INFO] [stdout]     --> src/interpreter.rs:1014:41
[INFO] [stdout]      |
[INFO] [stdout] 1014 |     fn visit_call_expression(&mut self, expression: &CallExpression) -> CompletionRecord {
[INFO] [stdout]      |                                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object_literal_expression`
[INFO] [stdout]     --> src/interpreter.rs:1036:51
[INFO] [stdout]      |
[INFO] [stdout] 1036 |     fn visit_object_literal_expression(&mut self, object_literal_expression: &ObjectLiteralExpression) -> CompletionRecord {
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_object_literal_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left_reference`
[INFO] [stdout]     --> src/interpreter.rs:1048:21
[INFO] [stdout]      |
[INFO] [stdout] 1048 |                 let left_reference =  completion!(self.evaluate(&*expression.left_hand_side_expression));
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_reference`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1060:55
[INFO] [stdout]      |
[INFO] [stdout] 1060 |                     ReferenceRecordOrJsValue::JSValue(value) => {
[INFO] [stdout]      |                                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `success`
[INFO] [stdout]     --> src/interpreter.rs:1179:13
[INFO] [stdout]      |
[INFO] [stdout] 1179 |         let success =  completion!(object.borrow_mut().set(key.clone(), value.clone(), object));
[INFO] [stdout]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_success`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `throw`
[INFO] [stdout]     --> src/interpreter.rs:1177:99
[INFO] [stdout]      |
[INFO] [stdout] 1177 |     pub fn set(object: &Rc<RefCell<JSObject>>, key: Rc<PropertyKey>, value: Rc<RefCell<JSValue>>, throw: bool) -> CompletionRecord {
[INFO] [stdout]      |                                                                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_throw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol_value`
[INFO] [stdout]     --> src/interpreter.rs:1248:45
[INFO] [stdout]      |
[INFO] [stdout] 1248 | ...                   JSValue::Symbol(symbol_value) => {
[INFO] [stdout]      |                                       ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]     --> src/interpreter.rs:1568:30
[INFO] [stdout]      |
[INFO] [stdout] 1568 |             JSValue::Numeric(val) => {
[INFO] [stdout]      |                              ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1572:29
[INFO] [stdout]      |
[INFO] [stdout] 1572 |             JSValue::Symbol(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1591:29
[INFO] [stdout]      |
[INFO] [stdout] 1591 |             JSValue::String(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1595:29
[INFO] [stdout]      |
[INFO] [stdout] 1595 |             JSValue::Object(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1609:29
[INFO] [stdout]      |
[INFO] [stdout] 1609 |             JSValue::Object(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `preferred_type`
[INFO] [stdout]     --> src/interpreter.rs:1606:50
[INFO] [stdout]      |
[INFO] [stdout] 1606 |     fn to_primitive(value: Rc<RefCell<JSValue>>, preferred_type: Option<JSValue>) -> CompletionRecord {
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_preferred_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/interpreter.rs:1643:74
[INFO] [stdout]      |
[INFO] [stdout] 1643 |             JSValue::Undefined | JSValue::Null | JSValue::Numeric(0.0) | JSValue::Numeric(-0.0) => {
[INFO] [stdout]      |                                                  ---------------------   ^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  matches all the relevant values
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1650:29
[INFO] [stdout]      |
[INFO] [stdout] 1650 |             JSValue::Object(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left_string`
[INFO] [stdout]     --> src/interpreter.rs:1718:33
[INFO] [stdout]      |
[INFO] [stdout] 1718 | ...                   let left_string = completion!(Interpreter::to_string(right_val.clone()));
[INFO] [stdout]      |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1982:29
[INFO] [stdout]      |
[INFO] [stdout] 1982 |             JSValue::Symbol(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:2008:29
[INFO] [stdout]      |
[INFO] [stdout] 2008 |             JSValue::Object(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `JSObject` is more private than the item `Interpreter::set`
[INFO] [stdout]     --> src/interpreter.rs:1177:5
[INFO] [stdout]      |
[INFO] [stdout] 1177 |     pub fn set(object: &Rc<RefCell<JSObject>>, key: Rc<PropertyKey>, value: Rc<RefCell<JSValue>>, throw: bool) -> CompletionRecord {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `Interpreter::set` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `JSObject` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> src/interpreter.rs:84:1
[INFO] [stdout]      |
[INFO] [stdout]   84 | struct JSObject {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PropertyKey` is more private than the item `Interpreter::set`
[INFO] [stdout]     --> src/interpreter.rs:1177:5
[INFO] [stdout]      |
[INFO] [stdout] 1177 |     pub fn set(object: &Rc<RefCell<JSObject>>, key: Rc<PropertyKey>, value: Rc<RefCell<JSValue>>, throw: bool) -> CompletionRecord {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `Interpreter::set` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `PropertyKey` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> src/interpreter.rs:57:1
[INFO] [stdout]      |
[INFO] [stdout]   57 | enum PropertyKey {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `JSValue` is more private than the item `Interpreter::set`
[INFO] [stdout]     --> src/interpreter.rs:1177:5
[INFO] [stdout]      |
[INFO] [stdout] 1177 |     pub fn set(object: &Rc<RefCell<JSObject>>, key: Rc<PropertyKey>, value: Rc<RefCell<JSValue>>, throw: bool) -> CompletionRecord {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `Interpreter::set` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `JSValue` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> src/interpreter.rs:460:1
[INFO] [stdout]      |
[INFO] [stdout]  460 | enum JSValue {
[INFO] [stdout]      | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CompletionRecord` is more private than the item `Interpreter::set`
[INFO] [stdout]     --> src/interpreter.rs:1177:5
[INFO] [stdout]      |
[INFO] [stdout] 1177 |     pub fn set(object: &Rc<RefCell<JSObject>>, key: Rc<PropertyKey>, value: Rc<RefCell<JSValue>>, throw: bool) -> CompletionRecord {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `Interpreter::set` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `CompletionRecord` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> src/interpreter.rs:1114:1
[INFO] [stdout]      |
[INFO] [stdout] 1114 | struct CompletionRecord {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `JSValue` is more private than the item `Interpreter::to_string`
[INFO] [stdout]     --> src/interpreter.rs:1975:5
[INFO] [stdout]      |
[INFO] [stdout] 1975 |     pub fn to_string(value: Rc<RefCell<JSValue>>) -> CompletionRecord {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `Interpreter::to_string` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `JSValue` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> src/interpreter.rs:460:1
[INFO] [stdout]      |
[INFO] [stdout]  460 | enum JSValue {
[INFO] [stdout]      | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CompletionRecord` is more private than the item `Interpreter::to_string`
[INFO] [stdout]     --> src/interpreter.rs:1975:5
[INFO] [stdout]      |
[INFO] [stdout] 1975 |     pub fn to_string(value: Rc<RefCell<JSValue>>) -> CompletionRecord {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `Interpreter::to_string` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `CompletionRecord` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> src/interpreter.rs:1114:1
[INFO] [stdout]      |
[INFO] [stdout] 1114 | struct CompletionRecord {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/node.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Node {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     nodeName: DOMString,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 27 |     baseURI: USVString,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 28 |     isConnected: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     firstChild: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 33 |     lastChild: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 34 |     previousSibling: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     nextSibling: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 36 |     nodeValue: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 37 |     textContent: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/node.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct Element {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 73 |     namespace_URI: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 74 |     prefix: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 75 |     local_name: DOMString,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 76 |     tag_name: DOMString,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 77 |     id: DOMString,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 78 |     class_list: DOMString,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 79 |     slot: DOMString,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 80 |     classList: DOMTokenList,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 81 |     attributes: NamedNodeMap,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `element` is never read
[INFO] [stdout]    --> src/node.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct HTMLElement { 
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 103 |     element: Element,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `property_name` is never read
[INFO] [stdout]   --> src/ast.rs:19:16
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct PropertyDefinition {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 19 |     pub(crate) property_name: PropertyName,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PropertyDefinition` 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 `statements` is never read
[INFO] [stdout]   --> src/ast.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct FunctionBody {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 68 |     statements: Vec<Statement>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `binding_identifier` is never read
[INFO] [stdout]   --> src/ast.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct FormalParameter {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 77 |     binding_identifier: Token,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parameters` is never read
[INFO] [stdout]   --> src/ast.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct FormalParameters {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 82 |     parameters: Vec<FormalParameter>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `paren` is never read
[INFO] [stdout]   --> src/ast.rs:96:16
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct CallExpression {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 95 |     pub(crate) callee: Box<ExpressionStatement>,
[INFO] [stdout] 96 |     pub(crate) paren: Token,
[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: field `variable_environment_record` is never read
[INFO] [stdout]   --> src/interpreter.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct ExecutionContext {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 23 |     lexical_environment_record: Rc<RefCell<EnvironmentRecord>>,
[INFO] [stdout] 24 |     variable_environment_record:  Rc<RefCell<EnvironmentRecord>>
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/interpreter.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl JSSymbol {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 49 |     pub fn new(description: String) -> JSSymbol {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Symbol` is never constructed
[INFO] [stdout]   --> src/interpreter.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | enum PropertyKey {
[INFO] [stdout]    |      ----------- variant in this enum
[INFO] [stdout] 58 |     String(String),
[INFO] [stdout] 59 |     Symbol(JSSymbol),
[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: field `set` is never read
[INFO] [stdout]   --> src/interpreter.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct AccessorProperty {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 71 |     get: Option<fn(key: PropertyKey, receiver: &JSValue) -> JSObject>,
[INFO] [stdout] 72 |     set: Option<fn(key: PropertyKey, value: JSValue, receiver: &JSValue) -> JSObject>
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AccessorProperty` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AccessorProperty` is never constructed
[INFO] [stdout]   --> src/interpreter.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | enum PropertyType {
[INFO] [stdout]    |      ------------ variant in this enum
[INFO] [stdout] 77 |     DataProperty(DataProperty),
[INFO] [stdout] 78 |     AccessorProperty(AccessorProperty),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PropertyType` 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 `prototype` and `extensible` are never read
[INFO] [stdout]   --> src/interpreter.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 84 | struct JSObject {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub prototype: Option<Rc<JSObject>>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 88 |     pub extensible: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JSObject` 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/interpreter.rs:99:15
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Undefined(JSValue)
[INFO] [stdout]    |     --------- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PropertyDescriptorType` 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] 99 -     Undefined(JSValue)
[INFO] [stdout] 99 +     Undefined(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/interpreter.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl JSObject {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 102 |     pub fn new() -> JSObject {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Symbol` is never constructed
[INFO] [stdout]    --> src/interpreter.rs:464:5
[INFO] [stdout]     |
[INFO] [stdout] 460 | enum JSValue {
[INFO] [stdout]     |      ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 464 |     Symbol(JSSymbol),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `JSValue` 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 `FunctionEnvironmentRecord` and `ObjectEnvironmentRecord` are never constructed
[INFO] [stdout]    --> src/interpreter.rs:474:5
[INFO] [stdout]     |
[INFO] [stdout] 472 | enum EnvironmentRecordType {
[INFO] [stdout]     |      --------------------- variants in this enum
[INFO] [stdout] 473 |     DeclarativeEnvironmentRecord(Rc<RefCell<DeclarativeEnvironmentRecord>>),
[INFO] [stdout] 474 |     FunctionEnvironmentRecord(FunctionEnvironmentRecord),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 475 |     ObjectEnvironmentRecord(Rc<RefCell<ObjectEnvironmentRecord>>),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EnvironmentRecordType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ImmutableBinding` is never constructed
[INFO] [stdout]    --> src/interpreter.rs:785:5
[INFO] [stdout]     |
[INFO] [stdout] 783 | enum Binding {
[INFO] [stdout]     |      ------- variant in this enum
[INFO] [stdout] 784 |     MutableBinding(MutableBinding),
[INFO] [stdout] 785 |     ImmutableBinding(ImmutableBinding)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Binding` 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 `function_environment_record` is never read
[INFO] [stdout]    --> src/interpreter.rs:791:5
[INFO] [stdout]     |
[INFO] [stdout] 789 | struct DeclarativeEnvironmentRecord {
[INFO] [stdout]     |        ---------------------------- field in this struct
[INFO] [stdout] 790 |     // TODO: Should not be of an option type
[INFO] [stdout] 791 |     function_environment_record: Option<FunctionEnvironmentRecord>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeclarativeEnvironmentRecord` 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 `Lexical`, `Uninitialized`, and `Initialized` are never constructed
[INFO] [stdout]    --> src/interpreter.rs:797:5
[INFO] [stdout]     |
[INFO] [stdout] 796 | enum ThisBindingStatus {
[INFO] [stdout]     |      ----------------- variants in this enum
[INFO] [stdout] 797 |     Lexical,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 798 |     Uninitialized,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 799 |     Initialized,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ThisBindingStatus` 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 `this_value`, `this_binding_status`, `function_object`, and `new_target` are never read
[INFO] [stdout]    --> src/interpreter.rs:805:5
[INFO] [stdout]     |
[INFO] [stdout] 804 | struct FunctionEnvironmentRecord {
[INFO] [stdout]     |        ------------------------- fields in this struct
[INFO] [stdout] 805 |     this_value: Box<JSValue>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 806 |     this_binding_status: ThisBindingStatus,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 807 |     function_object: JSObject,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 808 |     new_target: Option<JSObject>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FunctionEnvironmentRecord` 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 `is_with_environment` is never read
[INFO] [stdout]    --> src/interpreter.rs:814:5
[INFO] [stdout]     |
[INFO] [stdout] 812 | struct ObjectEnvironmentRecord {
[INFO] [stdout]     |        ----------------------- field in this struct
[INFO] [stdout] 813 |     binding_object: Rc<RefCell<JSObject>>,
[INFO] [stdout] 814 |     is_with_environment: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ObjectEnvironmentRecord` 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 `global_this_value` is never read
[INFO] [stdout]    --> src/interpreter.rs:821:5
[INFO] [stdout]     |
[INFO] [stdout] 819 | struct GlobalEnvironmentRecord {
[INFO] [stdout]     |        ----------------------- field in this struct
[INFO] [stdout] 820 |     object_environment_record: Option<Rc<RefCell<ObjectEnvironmentRecord>>>,
[INFO] [stdout] 821 |     global_this_value: Option<Box<JSObject>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GlobalEnvironmentRecord` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `JSValue` is never constructed
[INFO] [stdout]     --> src/interpreter.rs:1081:5
[INFO] [stdout]      |
[INFO] [stdout] 1080 | enum BaseValue {
[INFO] [stdout]      |      --------- variant in this enum
[INFO] [stdout] 1081 |     JSValue(Box<JSValue>),
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `BaseValue` 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 `strict` and `this_value` are never read
[INFO] [stdout]     --> src/interpreter.rs:1092:5
[INFO] [stdout]      |
[INFO] [stdout] 1088 | struct ReferenceRecord {
[INFO] [stdout]      |        --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1092 |     strict: bool,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout] 1093 |     this_value: Option<Box<JSValue>>,
[INFO] [stdout]      |     ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ReferenceRecord` 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 `Break`, `Continue`, and `Return` are never constructed
[INFO] [stdout]     --> src/interpreter.rs:1106:5
[INFO] [stdout]      |
[INFO] [stdout] 1104 | enum CompletionRecordType {
[INFO] [stdout]      |      -------------------- variants in this enum
[INFO] [stdout] 1105 |     Normal,
[INFO] [stdout] 1106 |     Break,
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout] 1107 |     Continue,
[INFO] [stdout]      |     ^^^^^^^^
[INFO] [stdout] 1108 |     Return,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `CompletionRecordType` 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 `target` is never read
[INFO] [stdout]     --> src/interpreter.rs:1118:5
[INFO] [stdout]      |
[INFO] [stdout] 1114 | struct CompletionRecord {
[INFO] [stdout]      |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1118 |     target: Option<String>
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `CompletionRecord` 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 `ObjectInternalSlot` is never used
[INFO] [stdout]     --> src/interpreter.rs:1122:6
[INFO] [stdout]      |
[INFO] [stdout] 1122 | enum ObjectInternalSlot {
[INFO] [stdout]      |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ordinary_object_create`, `make_basic_object`, `error`, and `report` are never used
[INFO] [stdout]     --> src/interpreter.rs:1157:8
[INFO] [stdout]      |
[INFO] [stdout] 1128 | impl Interpreter {
[INFO] [stdout]      | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1157 |     fn ordinary_object_create(&mut self, proto: Option<JSObject>, mut additional_internal_slots: Vec<ObjectInternalSlot>) -> JSObject {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1185 |     fn make_basic_object(&self, mut internal_slots: Vec<ObjectInternalSlot>) -> JSObject {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1520 |     fn error(line: usize, message: String) {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1524 |     fn report(&mut self, line: i64, location: String, message: String) {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `peekNext` should have a snake case name
[INFO] [stdout]   --> src/lexer.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn peekNext(&mut self) -> Option<char> { 
[INFO] [stdout]    |            ^^^^^^^^ help: convert the identifier to snake case: `peek_next`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rewindAndPeek` should have a snake case name
[INFO] [stdout]   --> src/lexer.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn rewindAndPeek(&mut self, amount: usize) -> Option<char> { 
[INFO] [stdout]    |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `rewind_and_peek`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeType` should have a snake case name
[INFO] [stdout]   --> src/node.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub nodeType: NodeType,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `node_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeName` should have a snake case name
[INFO] [stdout]   --> src/node.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     nodeName: DOMString,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `node_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `baseURI` should have a snake case name
[INFO] [stdout]   --> src/node.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     baseURI: USVString,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `base_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isConnected` should have a snake case name
[INFO] [stdout]   --> src/node.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     isConnected: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `is_connected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ownerDocument` should have a snake case name
[INFO] [stdout]   --> src/node.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub ownerDocument: Option<WeakNode>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `owner_document`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `parentNode` should have a snake case name
[INFO] [stdout]   --> src/node.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub parentNode: Option<WeakNode>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `parent_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `childNodes` should have a snake case name
[INFO] [stdout]   --> src/node.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub childNodes: Children,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `child_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `firstChild` should have a snake case name
[INFO] [stdout]   --> src/node.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     firstChild: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `first_child`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastChild` should have a snake case name
[INFO] [stdout]   --> src/node.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     lastChild: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `last_child`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `previousSibling` should have a snake case name
[INFO] [stdout]   --> src/node.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     previousSibling: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `previous_sibling`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nextSibling` should have a snake case name
[INFO] [stdout]   --> src/node.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     nextSibling: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `next_sibling`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeValue` should have a snake case name
[INFO] [stdout]   --> src/node.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     nodeValue: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `node_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `textContent` should have a snake case name
[INFO] [stdout]   --> src/node.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     textContent: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `text_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `namespace_URI` should have a snake case name
[INFO] [stdout]   --> src/node.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     namespace_URI: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `namespace_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `classList` should have a snake case name
[INFO] [stdout]   --> src/node.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     classList: DOMTokenList,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `class_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `bindingObject` should have a snake case name
[INFO] [stdout]    --> src/interpreter.rs:656:13
[INFO] [stdout]     |
[INFO] [stdout] 656 |         let bindingObject = &self.binding_object;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `binding_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `bindingObject` should have a snake case name
[INFO] [stdout]    --> src/interpreter.rs:687:13
[INFO] [stdout]     |
[INFO] [stdout] 687 |         let bindingObject = &self.binding_object;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `binding_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `borrow::Borrow`
[INFO] [stdout]  --> src/main.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{env, borrow::Borrow};
[INFO] [stdout]   |                ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NodeData` and `Node`
[INFO] [stdout]  --> src/main.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use web_engine::node::{Node, NodeData};
[INFO] [stdout]   |                        ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]     --> src/tokenizer.rs:2583:58
[INFO] [stdout]      |
[INFO] [stdout] 2583 | ...                   self.html_tokens.push((Tokenizer::create_character_html_token('<')));
[INFO] [stdout]      |                                             ^                                           ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 2583 -                                    self.html_tokens.push((Tokenizer::create_character_html_token('<')));
[INFO] [stdout] 2583 +                                    self.html_tokens.push(Tokenizer::create_character_html_token('<'));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ELEMENT_NODE` should have an upper camel case name
[INFO] [stdout]  --> src/node.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     ELEMENT_NODE,
[INFO] [stdout]   |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ElementNode`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ATTRIBUTE_NODE` should have an upper camel case name
[INFO] [stdout]  --> src/node.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     ATTRIBUTE_NODE,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AttributeNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TEXT_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     TEXT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TextNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CDATA_SECTION_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     CDATA_SECTION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CdataSectionNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ENTITY_REFERENCE_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ENTITY_REFERENCE_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntityReferenceNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ENTITY_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     ENTITY_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntityNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PROCESSING_INSTRUCTION_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     PROCESSING_INSTRUCTION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ProcessingInstructionNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `COMMENT_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     COMMENT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CommentNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DOCUMENT_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     DOCUMENT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DocumentNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DOCUMENT_TYPE_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     DOCUMENT_TYPE_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DocumentTypeNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DOCUMENT_FRAGMENT_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     DOCUMENT_FRAGMENT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DocumentFragmentNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NOTATION_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     NOTATION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `NotationNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RefNode` and `WeakNode`
[INFO] [stdout]  --> src/character_data.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::node::{DOMString, RefNode, WeakNode};
[INFO] [stdout]   |                              ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/html_document_parser.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::abort`
[INFO] [stdout]  --> src/html_document_parser.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::process::abort;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Node`
[INFO] [stdout]  --> src/html_document_parser.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use web_engine::node::{Node};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/html_document_parser.rs:66:32
[INFO] [stdout]    |
[INFO] [stdout] 66 | ...if (html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}") {
[INFO] [stdout]    |       ^                                                                                                                                                                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 66 -                             if (html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}") {
[INFO] [stdout] 66 +                             if html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}" {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/html_document_parser.rs:74:32
[INFO] [stdout]    |
[INFO] [stdout] 74 | ...                   if (html_token.name != "html"
[INFO] [stdout]    |                          ^
[INFO] [stdout] 75 | ...                       || html_token.public_identifier.len() != 0
[INFO] [stdout] 76 | ...                       || (html_token.system_identifier.len() != 0 && html_token.system_identifier != "about:legacy-compat")) {
[INFO] [stdout]    |                                                                                                                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 74 ~                             if html_token.name != "html"
[INFO] [stdout] 75 |                                 || html_token.public_identifier.len() != 0
[INFO] [stdout] 76 ~                                 || (html_token.system_identifier.len() != 0 && html_token.system_identifier != "about:legacy-compat") {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/html_document_parser.rs:102:32
[INFO] [stdout]     |
[INFO] [stdout] 102 | ...if (html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}") {
[INFO] [stdout]     |       ^                                                                                                                                                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 102 -                             if (html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}") {
[INFO] [stdout] 102 +                             if html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/html_document_parser.rs:107:32
[INFO] [stdout]     |
[INFO] [stdout] 107 | ...                   if (html_token.tag_name == "html") {
[INFO] [stdout]     |                          ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 107 -                             if (html_token.tag_name == "html") {
[INFO] [stdout] 107 +                             if html_token.tag_name == "html" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/html_document_parser.rs:140:32
[INFO] [stdout]     |
[INFO] [stdout] 140 | ...if (html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}") {
[INFO] [stdout]     |       ^                                                                                                                                                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 140 -                             if (html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}") {
[INFO] [stdout] 140 +                             if html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/html_document_parser.rs:208:32
[INFO] [stdout]     |
[INFO] [stdout] 208 | ...if (html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}") {
[INFO] [stdout]     |       ^                                                                                                                                                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 208 -                             if (html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}") {
[INFO] [stdout] 208 +                             if html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/character_data.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |      pub fn substring_data(offset: u32, count: u32) -> DOMString { 
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]   --> src/character_data.rs:18:41
[INFO] [stdout]    |
[INFO] [stdout] 18 |      pub fn substring_data(offset: u32, count: u32) -> DOMString { 
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/character_data.rs:24:25
[INFO] [stdout]    |
[INFO] [stdout] 24 |      pub fn append_data(data: DOMString) { 
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/character_data.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |      pub fn insert_data(offset: u32, data: DOMString) { 
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/character_data.rs:30:38
[INFO] [stdout]    |
[INFO] [stdout] 30 |      pub fn insert_data(offset: u32, data: DOMString) { 
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/character_data.rs:36:26
[INFO] [stdout]    |
[INFO] [stdout] 36 |      pub fn replace_data(offset: u32, count: u32, data: DOMString) { 
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]   --> src/character_data.rs:36:39
[INFO] [stdout]    |
[INFO] [stdout] 36 |      pub fn replace_data(offset: u32, count: u32, data: DOMString) { 
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/character_data.rs:36:51
[INFO] [stdout]    |
[INFO] [stdout] 36 |      pub fn replace_data(offset: u32, count: u32, data: DOMString) { 
[INFO] [stdout]    |                                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `adjusted_insertion_location`
[INFO] [stdout]    --> src/html_document_parser.rs:273:13
[INFO] [stdout]     |
[INFO] [stdout] 273 |         let adjusted_insertion_location = &self.appropriate_place_for_inserting_a_node(None);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_adjusted_insertion_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `namespace`
[INFO] [stdout]    --> src/html_document_parser.rs:340:77
[INFO] [stdout]     |
[INFO] [stdout] 340 | ...e, local_name: DOMString, namespace: Option<String>, prefix: Option<String>, is: Option<String>, synchronous_custom_elements : bool) -...
[INFO] [stdout]     |                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_namespace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prefix`
[INFO] [stdout]    --> src/html_document_parser.rs:340:104
[INFO] [stdout]     |
[INFO] [stdout] 340 | ..., namespace: Option<String>, prefix: Option<String>, is: Option<String>, synchronous_custom_elements : bool) -> RefNode {
[INFO] [stdout]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is`
[INFO] [stdout]    --> src/html_document_parser.rs:340:128
[INFO] [stdout]     |
[INFO] [stdout] 340 | ...String>, prefix: Option<String>, is: Option<String>, synchronous_custom_elements : bool) -> RefNode {
[INFO] [stdout]     |                                     ^^ help: if this is intentional, prefix it with an underscore: `_is`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `synchronous_custom_elements`
[INFO] [stdout]    --> src/html_document_parser.rs:340:148
[INFO] [stdout]     |
[INFO] [stdout] 340 | ...tring>, synchronous_custom_elements : bool) -> RefNode {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_synchronous_custom_elements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `source_html_file_path` is never read
[INFO] [stdout]   --> src/main.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut source_html_file_path: String = String::from("");
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `codepoints` is never read
[INFO] [stdout]   --> src/tokenizer.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct NamedCharacterReferenceObject { 
[INFO] [stdout]    |        ----------------------------- field in this struct
[INFO] [stdout] 14 |     character_reference: String,
[INFO] [stdout] 15 |     codepoints: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_html_token` is never read
[INFO] [stdout]   --> src/tokenizer.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Tokenizer { 
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     current_html_token: Option<HtmlToken>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `peekNext` is never used
[INFO] [stdout]   --> src/lexer.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Lexer { 
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn peekNext(&mut self) -> Option<char> { 
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/node.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum NodeType {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout]  8 |     ELEMENT_NODE,
[INFO] [stdout]  9 |     ATTRIBUTE_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     TEXT_NODE,
[INFO] [stdout] 11 |     CDATA_SECTION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ENTITY_REFERENCE_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ENTITY_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 14 |     PROCESSING_INSTRUCTION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     DOCUMENT_FRAGMENT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     NOTATION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NodeType` 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/node.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Node {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     nodeName: DOMString,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 27 |     baseURI: USVString,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 28 |     isConnected: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     firstChild: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 33 |     lastChild: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 34 |     previousSibling: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     nextSibling: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 36 |     nodeValue: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 37 |     textContent: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `public_id`, and `system_id` are never read
[INFO] [stdout]   --> src/node.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct DocumentType {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 52 |     pub name: DOMString,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 53 |     pub public_id: DOMString,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 54 |     pub system_id: DOMString,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/node.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct Element {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 73 |     namespace_URI: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 74 |     prefix: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 75 |     local_name: DOMString,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 76 |     tag_name: DOMString,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 77 |     id: DOMString,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 78 |     class_list: DOMString,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 79 |     slot: DOMString,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 80 |     classList: DOMTokenList,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 81 |     attributes: NamedNodeMap,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HTMLElement` is never constructed
[INFO] [stdout]    --> src/node.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct HTMLElement { 
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/node.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |     Comment(Comment),
[INFO] [stdout]     |     ------- ^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[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 -     Comment(Comment),
[INFO] [stdout] 144 +     Comment(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/node.rs:146:18
[INFO] [stdout]     |
[INFO] [stdout] 146 |     DocumentType(DocumentType),
[INFO] [stdout]     |     ------------ ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[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] 146 -     DocumentType(DocumentType),
[INFO] [stdout] 146 +     DocumentType(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/node.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 147 |     Element(Element),
[INFO] [stdout]     |     ------- ^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[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] 147 -     Element(Element),
[INFO] [stdout] 147 +     Element(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CharacterData` is never constructed
[INFO] [stdout]    --> src/node.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub enum NodeData {
[INFO] [stdout]     |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 148 |     CharacterData(CharacterData),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `character_data` is never read
[INFO] [stdout]  --> src/comment.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Comment { 
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] 5 |     pub character_data: CharacterData
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `length` is never read
[INFO] [stdout]  --> src/character_data.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct CharacterData { 
[INFO] [stdout]   |            ------------- field in this struct
[INFO] [stdout] 5 |     pub data: DOMString,
[INFO] [stdout] 6 |     pub length: usize,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/html_document_parser.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | enum InsertionMode {
[INFO] [stdout]    |      ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     InHeadNoScript,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     AfterHead,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 20 |     InBody,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 21 |     Text,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 22 |     InTable,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 23 |     InTableText,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 24 |     InCaption,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 25 |     InColumnGroup,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 26 |     InTableBody,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 27 |     InRow,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 28 |     InCell,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 29 |     InSelect,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 30 |     InSelectInTable,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     InTemplate,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 32 |     AfterBody,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 33 |     InFrameset,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 34 |     AfterFrameset,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     AfterAfterBody,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 36 |     AfterAfterFrameset,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `insert_a_foreign_element` is never used
[INFO] [stdout]    --> src/html_document_parser.rs:271:8
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl HTMLDocumentParser {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn insert_a_foreign_element(&mut self, tag_name: String) -> WeakNode {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `peekNext` should have a snake case name
[INFO] [stdout]   --> src/lexer.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn peekNext(&mut self) -> Option<char> { 
[INFO] [stdout]    |            ^^^^^^^^ help: convert the identifier to snake case: `peek_next`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rewindAndPeek` should have a snake case name
[INFO] [stdout]   --> src/lexer.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn rewindAndPeek(&mut self, amount: usize) -> Option<char> { 
[INFO] [stdout]    |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `rewind_and_peek`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeType` should have a snake case name
[INFO] [stdout]   --> src/node.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub nodeType: NodeType,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `node_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeName` should have a snake case name
[INFO] [stdout]   --> src/node.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     nodeName: DOMString,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `node_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `baseURI` should have a snake case name
[INFO] [stdout]   --> src/node.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     baseURI: USVString,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `base_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isConnected` should have a snake case name
[INFO] [stdout]   --> src/node.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     isConnected: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `is_connected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ownerDocument` should have a snake case name
[INFO] [stdout]   --> src/node.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub ownerDocument: Option<WeakNode>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `owner_document`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `parentNode` should have a snake case name
[INFO] [stdout]   --> src/node.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub parentNode: Option<WeakNode>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `parent_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `childNodes` should have a snake case name
[INFO] [stdout]   --> src/node.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub childNodes: Children,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `child_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `firstChild` should have a snake case name
[INFO] [stdout]   --> src/node.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     firstChild: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `first_child`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastChild` should have a snake case name
[INFO] [stdout]   --> src/node.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     lastChild: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `last_child`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `previousSibling` should have a snake case name
[INFO] [stdout]   --> src/node.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     previousSibling: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `previous_sibling`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nextSibling` should have a snake case name
[INFO] [stdout]   --> src/node.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     nextSibling: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `next_sibling`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeValue` should have a snake case name
[INFO] [stdout]   --> src/node.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     nodeValue: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `node_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `textContent` should have a snake case name
[INFO] [stdout]   --> src/node.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     textContent: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `text_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `namespace_URI` should have a snake case name
[INFO] [stdout]   --> src/node.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     namespace_URI: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `namespace_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `classList` should have a snake case name
[INFO] [stdout]   --> src/node.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     classList: DOMTokenList,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `class_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `localName` should have a snake case name
[INFO] [stdout]    --> src/html_document_parser.rs:330:13
[INFO] [stdout]     |
[INFO] [stdout] 330 |         let localName = tag_name.clone();
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case: `local_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.18s
[INFO] running `Command { std: "docker" "inspect" "c63adf4ff55348c33100d7ce711b04b282121bf402c25eb2baaa8b0c967aef87", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c63adf4ff55348c33100d7ce711b04b282121bf402c25eb2baaa8b0c967aef87", kill_on_drop: false }`
[INFO] [stdout] c63adf4ff55348c33100d7ce711b04b282121bf402c25eb2baaa8b0c967aef87
[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" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 11314b7b373e79f52a09b947a325a27414c5031b376236ae18c3b792a46abb85
[INFO] running `Command { std: "docker" "start" "-a" "11314b7b373e79f52a09b947a325a27414c5031b376236ae18c3b792a46abb85", kill_on_drop: false }`
[INFO] [stdout] warning: variant `ELEMENT_NODE` should have an upper camel case name
[INFO] [stdout]  --> src/node.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     ELEMENT_NODE,
[INFO] [stdout]   |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ElementNode`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ATTRIBUTE_NODE` should have an upper camel case name
[INFO] [stdout]  --> src/node.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     ATTRIBUTE_NODE,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AttributeNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TEXT_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     TEXT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TextNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CDATA_SECTION_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     CDATA_SECTION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CdataSectionNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ENTITY_REFERENCE_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ENTITY_REFERENCE_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntityReferenceNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ENTITY_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     ENTITY_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntityNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PROCESSING_INSTRUCTION_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     PROCESSING_INSTRUCTION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ProcessingInstructionNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `COMMENT_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     COMMENT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CommentNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DOCUMENT_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     DOCUMENT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DocumentNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DOCUMENT_TYPE_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     DOCUMENT_TYPE_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DocumentTypeNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DOCUMENT_FRAGMENT_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     DOCUMENT_FRAGMENT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DocumentFragmentNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NOTATION_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     NOTATION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `NotationNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RefNode` and `WeakNode`
[INFO] [stdout]  --> src/character_data.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::node::{DOMString, RefNode, WeakNode};
[INFO] [stdout]   |                              ^^^^^^^  ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_PAREN` should have an upper camel case name
[INFO] [stdout]  --> src/token.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 |     LeftParen, RIGHT_PAREN, LEFT_BRACE, RIGHT_BRACE,
[INFO] [stdout]   |                ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightParen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_BRACE` should have an upper camel case name
[INFO] [stdout]  --> src/token.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 |     LeftParen, RIGHT_PAREN, LEFT_BRACE, RIGHT_BRACE,
[INFO] [stdout]   |                             ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBrace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_BRACE` should have an upper camel case name
[INFO] [stdout]  --> src/token.rs:6:41
[INFO] [stdout]   |
[INFO] [stdout] 6 |     LeftParen, RIGHT_PAREN, LEFT_BRACE, RIGHT_BRACE,
[INFO] [stdout]   |                                         ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBrace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BITWISE_NOT` should have an upper camel case name
[INFO] [stdout]  --> src/token.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     BITWISE_NOT, COLON,
[INFO] [stdout]   |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `BitwiseNot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BANG_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/token.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 |     BANG, BANG_EQUAL,
[INFO] [stdout]    |           ^^^^^^^^^^ help: convert the identifier to upper camel case: `BangEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `EQUAL_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/token.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     EQUAL, EQUAL_EQUAL,
[INFO] [stdout]    |            ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EqualEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GREATER_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/token.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 |     GREATER, GREATER_EQUAL,
[INFO] [stdout]    |              ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GreaterEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LESS_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/token.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 |     LESS, LESS_EQUAL,
[INFO] [stdout]    |           ^^^^^^^^^^ help: convert the identifier to upper camel case: `LessEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]    --> src/parser.rs:107:14
[INFO] [stdout]     |
[INFO] [stdout] 107 |         while(self.match_token(vec![TokenType::BANG_EQUAL, TokenType::EQUAL_EQUAL])) {
[INFO] [stdout]     |              ^                                                                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 107 -         while(self.match_token(vec![TokenType::BANG_EQUAL, TokenType::EQUAL_EQUAL])) {
[INFO] [stdout] 107 +         while self.match_token(vec![TokenType::BANG_EQUAL, TokenType::EQUAL_EQUAL]) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:291:12
[INFO] [stdout]     |
[INFO] [stdout] 291 |         if (token_type == TokenType::EOF) {
[INFO] [stdout]     |            ^                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 291 -         if (token_type == TokenType::EOF) {
[INFO] [stdout] 291 +         if token_type == TokenType::EOF {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/interpreter.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::Any;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ref`
[INFO] [stdout]  --> src/interpreter.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::{Ref, RefCell};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Weak`
[INFO] [stdout]  --> src/interpreter.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::rc::{Rc, Weak};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Token`
[INFO] [stdout]  --> src/interpreter.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::token::{Token, TokenType, Literal};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/interpreter.rs:505:137
[INFO] [stdout]     |
[INFO] [stdout] 505 |             return create_normal_completion(Rc::new(ReferenceRecordOrJsValue::JSValue(Rc::new(RefCell::new(JSValue::Boolean(false))))));;
[INFO] [stdout]     |                                                                                                                                         ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::de::Read`
[INFO] [stdout]  --> src/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde_json::de::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/character_data.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |      pub fn substring_data(offset: u32, count: u32) -> DOMString { 
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]   --> src/character_data.rs:18:41
[INFO] [stdout]    |
[INFO] [stdout] 18 |      pub fn substring_data(offset: u32, count: u32) -> DOMString { 
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/character_data.rs:24:25
[INFO] [stdout]    |
[INFO] [stdout] 24 |      pub fn append_data(data: DOMString) { 
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/character_data.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |      pub fn insert_data(offset: u32, data: DOMString) { 
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/character_data.rs:30:38
[INFO] [stdout]    |
[INFO] [stdout] 30 |      pub fn insert_data(offset: u32, data: DOMString) { 
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/character_data.rs:36:26
[INFO] [stdout]    |
[INFO] [stdout] 36 |      pub fn replace_data(offset: u32, count: u32, data: DOMString) { 
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]   --> src/character_data.rs:36:39
[INFO] [stdout]    |
[INFO] [stdout] 36 |      pub fn replace_data(offset: u32, count: u32, data: DOMString) { 
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/character_data.rs:36:51
[INFO] [stdout]    |
[INFO] [stdout] 36 |      pub fn replace_data(offset: u32, count: u32, data: DOMString) { 
[INFO] [stdout]    |                                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chars`
[INFO] [stdout]    --> src/scanner.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let chars: Vec<char> = self.source.chars().collect();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_chars`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ast.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 198 |             _=> unimplemented!()
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/ast.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |             ExpressionStatement::BinaryExpression(b) => visitor.visit_binary(b),
[INFO] [stdout]     |             ---------------------------------------- matches some of the same values
[INFO] [stdout] 191 |             ExpressionStatement::LiteralExpression(l) => visitor.visit_literal(l),
[INFO] [stdout]     |             ----------------------------------------- matches some of the same values
[INFO] [stdout] 192 |             ExpressionStatement::ParenthesizedExpression(p) => visitor.visit_parenthesized(p),
[INFO] [stdout]     |             ----------------------------------------------- matches some of the same values
[INFO] [stdout] 193 |             ExpressionStatement::UnaryExpression(u) => visitor.visit_unary(u),
[INFO] [stdout]     |             --------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 198 |             _=> unimplemented!()
[INFO] [stdout]     |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/ast_printer.rs:105:58
[INFO] [stdout]     |
[INFO] [stdout] 105 |             ExpressionStatement::ObjectLiteralExpression(node) => {
[INFO] [stdout]     |                                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `own_desc`
[INFO] [stdout]    --> src/interpreter.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 | ...   let own_desc = PropertyDescriptorType::PropertyDescriptor(PropertyDescriptor { property: Some(PropertyType::DataProperty(DataProper...
[INFO] [stdout]     |           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_own_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `receiver`
[INFO] [stdout]    --> src/interpreter.rs:136:112
[INFO] [stdout]     |
[INFO] [stdout] 136 | ...lue: Rc<RefCell<JSValue>>, receiver: &Rc<RefCell<JSObject>>, own_descriptor: &PropertyDescriptorType) -> CompletionRecord {
[INFO] [stdout]     |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_property`
[INFO] [stdout]    --> src/interpreter.rs:259:57
[INFO] [stdout]     |
[INFO] [stdout] 259 |                     Some(PropertyType::AccessorProperty(data_property)) => {
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_property`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `property_descriptor`
[INFO] [stdout]    --> src/interpreter.rs:286:56
[INFO] [stdout]     |
[INFO] [stdout] 286 |             PropertyDescriptorType::PropertyDescriptor(property_descriptor) => {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `receiver`
[INFO] [stdout]    --> src/interpreter.rs:335:47
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn ordinary_get(&self, key: &PropertyKey, receiver: &Rc<RefCell<JSObject>>) -> CompletionRecord {
[INFO] [stdout]     |                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `accessor_prop`
[INFO] [stdout]    --> src/interpreter.rs:407:44
[INFO] [stdout]     |
[INFO] [stdout] 407 |             PropertyType::AccessorProperty(accessor_prop) => {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_accessor_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `marked_for_deletion`
[INFO] [stdout]    --> src/interpreter.rs:581:62
[INFO] [stdout]     |
[INFO] [stdout] 581 |     fn create_mutable_binding(&mut self, binding_id: String, marked_for_deletion: bool) -> CompletionRecord {
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_marked_for_deletion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mut_binding`
[INFO] [stdout]    --> src/interpreter.rs:600:45
[INFO] [stdout]     |
[INFO] [stdout] 600 |                     Binding::MutableBinding(mut_binding) => {
[INFO] [stdout]     |                                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mut_binding`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_strict`
[INFO] [stdout]    --> src/interpreter.rs:621:53
[INFO] [stdout]     |
[INFO] [stdout] 621 |     fn get_binding_value(&self, binding_id: String, is_strict: bool) -> CompletionRecord {
[INFO] [stdout]     |                                                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_strict`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_strict`
[INFO] [stdout]    --> src/interpreter.rs:654:53
[INFO] [stdout]     |
[INFO] [stdout] 654 |     fn get_binding_value(&self, binding_id: String, is_strict: bool) -> CompletionRecord {
[INFO] [stdout]     |                                                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_strict`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `declarative_record`
[INFO] [stdout]    --> src/interpreter.rs:766:21
[INFO] [stdout]     |
[INFO] [stdout] 766 |                 let declarative_record = &global_environment_record.borrow().declarative_environment_record;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_declarative_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expression`
[INFO] [stdout]     --> src/interpreter.rs:1014:41
[INFO] [stdout]      |
[INFO] [stdout] 1014 |     fn visit_call_expression(&mut self, expression: &CallExpression) -> CompletionRecord {
[INFO] [stdout]      |                                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object_literal_expression`
[INFO] [stdout]     --> src/interpreter.rs:1036:51
[INFO] [stdout]      |
[INFO] [stdout] 1036 |     fn visit_object_literal_expression(&mut self, object_literal_expression: &ObjectLiteralExpression) -> CompletionRecord {
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_object_literal_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left_reference`
[INFO] [stdout]     --> src/interpreter.rs:1048:21
[INFO] [stdout]      |
[INFO] [stdout] 1048 |                 let left_reference =  completion!(self.evaluate(&*expression.left_hand_side_expression));
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_reference`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1060:55
[INFO] [stdout]      |
[INFO] [stdout] 1060 |                     ReferenceRecordOrJsValue::JSValue(value) => {
[INFO] [stdout]      |                                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `success`
[INFO] [stdout]     --> src/interpreter.rs:1179:13
[INFO] [stdout]      |
[INFO] [stdout] 1179 |         let success =  completion!(object.borrow_mut().set(key.clone(), value.clone(), object));
[INFO] [stdout]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_success`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `throw`
[INFO] [stdout]     --> src/interpreter.rs:1177:99
[INFO] [stdout]      |
[INFO] [stdout] 1177 |     pub fn set(object: &Rc<RefCell<JSObject>>, key: Rc<PropertyKey>, value: Rc<RefCell<JSValue>>, throw: bool) -> CompletionRecord {
[INFO] [stdout]      |                                                                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_throw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol_value`
[INFO] [stdout]     --> src/interpreter.rs:1248:45
[INFO] [stdout]      |
[INFO] [stdout] 1248 | ...                   JSValue::Symbol(symbol_value) => {
[INFO] [stdout]      |                                       ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]     --> src/interpreter.rs:1568:30
[INFO] [stdout]      |
[INFO] [stdout] 1568 |             JSValue::Numeric(val) => {
[INFO] [stdout]      |                              ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1572:29
[INFO] [stdout]      |
[INFO] [stdout] 1572 |             JSValue::Symbol(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1591:29
[INFO] [stdout]      |
[INFO] [stdout] 1591 |             JSValue::String(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1595:29
[INFO] [stdout]      |
[INFO] [stdout] 1595 |             JSValue::Object(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1609:29
[INFO] [stdout]      |
[INFO] [stdout] 1609 |             JSValue::Object(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `preferred_type`
[INFO] [stdout]     --> src/interpreter.rs:1606:50
[INFO] [stdout]      |
[INFO] [stdout] 1606 |     fn to_primitive(value: Rc<RefCell<JSValue>>, preferred_type: Option<JSValue>) -> CompletionRecord {
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_preferred_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/interpreter.rs:1643:74
[INFO] [stdout]      |
[INFO] [stdout] 1643 |             JSValue::Undefined | JSValue::Null | JSValue::Numeric(0.0) | JSValue::Numeric(-0.0) => {
[INFO] [stdout]      |                                                  ---------------------   ^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  matches all the relevant values
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1650:29
[INFO] [stdout]      |
[INFO] [stdout] 1650 |             JSValue::Object(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left_string`
[INFO] [stdout]     --> src/interpreter.rs:1718:33
[INFO] [stdout]      |
[INFO] [stdout] 1718 | ...                   let left_string = completion!(Interpreter::to_string(right_val.clone()));
[INFO] [stdout]      |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1982:29
[INFO] [stdout]      |
[INFO] [stdout] 1982 |             JSValue::Symbol(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:2008:29
[INFO] [stdout]      |
[INFO] [stdout] 2008 |             JSValue::Object(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `JSObject` is more private than the item `Interpreter::set`
[INFO] [stdout]     --> src/interpreter.rs:1177:5
[INFO] [stdout]      |
[INFO] [stdout] 1177 |     pub fn set(object: &Rc<RefCell<JSObject>>, key: Rc<PropertyKey>, value: Rc<RefCell<JSValue>>, throw: bool) -> CompletionRecord {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `Interpreter::set` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `JSObject` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> src/interpreter.rs:84:1
[INFO] [stdout]      |
[INFO] [stdout]   84 | struct JSObject {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PropertyKey` is more private than the item `Interpreter::set`
[INFO] [stdout]     --> src/interpreter.rs:1177:5
[INFO] [stdout]      |
[INFO] [stdout] 1177 |     pub fn set(object: &Rc<RefCell<JSObject>>, key: Rc<PropertyKey>, value: Rc<RefCell<JSValue>>, throw: bool) -> CompletionRecord {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `Interpreter::set` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `PropertyKey` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> src/interpreter.rs:57:1
[INFO] [stdout]      |
[INFO] [stdout]   57 | enum PropertyKey {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `JSValue` is more private than the item `Interpreter::set`
[INFO] [stdout]     --> src/interpreter.rs:1177:5
[INFO] [stdout]      |
[INFO] [stdout] 1177 |     pub fn set(object: &Rc<RefCell<JSObject>>, key: Rc<PropertyKey>, value: Rc<RefCell<JSValue>>, throw: bool) -> CompletionRecord {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `Interpreter::set` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `JSValue` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> src/interpreter.rs:460:1
[INFO] [stdout]      |
[INFO] [stdout]  460 | enum JSValue {
[INFO] [stdout]      | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CompletionRecord` is more private than the item `Interpreter::set`
[INFO] [stdout]     --> src/interpreter.rs:1177:5
[INFO] [stdout]      |
[INFO] [stdout] 1177 |     pub fn set(object: &Rc<RefCell<JSObject>>, key: Rc<PropertyKey>, value: Rc<RefCell<JSValue>>, throw: bool) -> CompletionRecord {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `Interpreter::set` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `CompletionRecord` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> src/interpreter.rs:1114:1
[INFO] [stdout]      |
[INFO] [stdout] 1114 | struct CompletionRecord {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `JSValue` is more private than the item `Interpreter::to_string`
[INFO] [stdout]     --> src/interpreter.rs:1975:5
[INFO] [stdout]      |
[INFO] [stdout] 1975 |     pub fn to_string(value: Rc<RefCell<JSValue>>) -> CompletionRecord {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `Interpreter::to_string` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `JSValue` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> src/interpreter.rs:460:1
[INFO] [stdout]      |
[INFO] [stdout]  460 | enum JSValue {
[INFO] [stdout]      | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CompletionRecord` is more private than the item `Interpreter::to_string`
[INFO] [stdout]     --> src/interpreter.rs:1975:5
[INFO] [stdout]      |
[INFO] [stdout] 1975 |     pub fn to_string(value: Rc<RefCell<JSValue>>) -> CompletionRecord {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `Interpreter::to_string` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `CompletionRecord` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> src/interpreter.rs:1114:1
[INFO] [stdout]      |
[INFO] [stdout] 1114 | struct CompletionRecord {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/node.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Node {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     nodeName: DOMString,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 27 |     baseURI: USVString,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 28 |     isConnected: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     firstChild: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 33 |     lastChild: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 34 |     previousSibling: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     nextSibling: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 36 |     nodeValue: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 37 |     textContent: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/node.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct Element {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 73 |     namespace_URI: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 74 |     prefix: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 75 |     local_name: DOMString,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 76 |     tag_name: DOMString,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 77 |     id: DOMString,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 78 |     class_list: DOMString,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 79 |     slot: DOMString,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 80 |     classList: DOMTokenList,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 81 |     attributes: NamedNodeMap,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `element` is never read
[INFO] [stdout]    --> src/node.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct HTMLElement { 
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 103 |     element: Element,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `property_name` is never read
[INFO] [stdout]   --> src/ast.rs:19:16
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct PropertyDefinition {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 19 |     pub(crate) property_name: PropertyName,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PropertyDefinition` 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 `statements` is never read
[INFO] [stdout]   --> src/ast.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct FunctionBody {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 68 |     statements: Vec<Statement>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `binding_identifier` is never read
[INFO] [stdout]   --> src/ast.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct FormalParameter {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 77 |     binding_identifier: Token,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parameters` is never read
[INFO] [stdout]   --> src/ast.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct FormalParameters {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 82 |     parameters: Vec<FormalParameter>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `paren` is never read
[INFO] [stdout]   --> src/ast.rs:96:16
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct CallExpression {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 95 |     pub(crate) callee: Box<ExpressionStatement>,
[INFO] [stdout] 96 |     pub(crate) paren: Token,
[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: field `variable_environment_record` is never read
[INFO] [stdout]   --> src/interpreter.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct ExecutionContext {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 23 |     lexical_environment_record: Rc<RefCell<EnvironmentRecord>>,
[INFO] [stdout] 24 |     variable_environment_record:  Rc<RefCell<EnvironmentRecord>>
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/interpreter.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl JSSymbol {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 49 |     pub fn new(description: String) -> JSSymbol {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Symbol` is never constructed
[INFO] [stdout]   --> src/interpreter.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | enum PropertyKey {
[INFO] [stdout]    |      ----------- variant in this enum
[INFO] [stdout] 58 |     String(String),
[INFO] [stdout] 59 |     Symbol(JSSymbol),
[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: field `set` is never read
[INFO] [stdout]   --> src/interpreter.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct AccessorProperty {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 71 |     get: Option<fn(key: PropertyKey, receiver: &JSValue) -> JSObject>,
[INFO] [stdout] 72 |     set: Option<fn(key: PropertyKey, value: JSValue, receiver: &JSValue) -> JSObject>
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AccessorProperty` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AccessorProperty` is never constructed
[INFO] [stdout]   --> src/interpreter.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | enum PropertyType {
[INFO] [stdout]    |      ------------ variant in this enum
[INFO] [stdout] 77 |     DataProperty(DataProperty),
[INFO] [stdout] 78 |     AccessorProperty(AccessorProperty),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PropertyType` 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 `prototype` and `extensible` are never read
[INFO] [stdout]   --> src/interpreter.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 84 | struct JSObject {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub prototype: Option<Rc<JSObject>>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 88 |     pub extensible: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JSObject` 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/interpreter.rs:99:15
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Undefined(JSValue)
[INFO] [stdout]    |     --------- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PropertyDescriptorType` 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] 99 -     Undefined(JSValue)
[INFO] [stdout] 99 +     Undefined(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/interpreter.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl JSObject {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 102 |     pub fn new() -> JSObject {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Symbol` is never constructed
[INFO] [stdout]    --> src/interpreter.rs:464:5
[INFO] [stdout]     |
[INFO] [stdout] 460 | enum JSValue {
[INFO] [stdout]     |      ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 464 |     Symbol(JSSymbol),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `JSValue` 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 `FunctionEnvironmentRecord` and `ObjectEnvironmentRecord` are never constructed
[INFO] [stdout]    --> src/interpreter.rs:474:5
[INFO] [stdout]     |
[INFO] [stdout] 472 | enum EnvironmentRecordType {
[INFO] [stdout]     |      --------------------- variants in this enum
[INFO] [stdout] 473 |     DeclarativeEnvironmentRecord(Rc<RefCell<DeclarativeEnvironmentRecord>>),
[INFO] [stdout] 474 |     FunctionEnvironmentRecord(FunctionEnvironmentRecord),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 475 |     ObjectEnvironmentRecord(Rc<RefCell<ObjectEnvironmentRecord>>),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EnvironmentRecordType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ImmutableBinding` is never constructed
[INFO] [stdout]    --> src/interpreter.rs:785:5
[INFO] [stdout]     |
[INFO] [stdout] 783 | enum Binding {
[INFO] [stdout]     |      ------- variant in this enum
[INFO] [stdout] 784 |     MutableBinding(MutableBinding),
[INFO] [stdout] 785 |     ImmutableBinding(ImmutableBinding)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Binding` 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 `function_environment_record` is never read
[INFO] [stdout]    --> src/interpreter.rs:791:5
[INFO] [stdout]     |
[INFO] [stdout] 789 | struct DeclarativeEnvironmentRecord {
[INFO] [stdout]     |        ---------------------------- field in this struct
[INFO] [stdout] 790 |     // TODO: Should not be of an option type
[INFO] [stdout] 791 |     function_environment_record: Option<FunctionEnvironmentRecord>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeclarativeEnvironmentRecord` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling web_engine v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variants `Lexical`, `Uninitialized`, and `Initialized` are never constructed
[INFO] [stdout]    --> src/interpreter.rs:797:5
[INFO] [stdout]     |
[INFO] [stdout] 796 | enum ThisBindingStatus {
[INFO] [stdout]     |      ----------------- variants in this enum
[INFO] [stdout] 797 |     Lexical,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 798 |     Uninitialized,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 799 |     Initialized,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ThisBindingStatus` 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 `this_value`, `this_binding_status`, `function_object`, and `new_target` are never read
[INFO] [stdout]    --> src/interpreter.rs:805:5
[INFO] [stdout]     |
[INFO] [stdout] 804 | struct FunctionEnvironmentRecord {
[INFO] [stdout]     |        ------------------------- fields in this struct
[INFO] [stdout] 805 |     this_value: Box<JSValue>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 806 |     this_binding_status: ThisBindingStatus,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 807 |     function_object: JSObject,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 808 |     new_target: Option<JSObject>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FunctionEnvironmentRecord` 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 `is_with_environment` is never read
[INFO] [stdout]    --> src/interpreter.rs:814:5
[INFO] [stdout]     |
[INFO] [stdout] 812 | struct ObjectEnvironmentRecord {
[INFO] [stdout]     |        ----------------------- field in this struct
[INFO] [stdout] 813 |     binding_object: Rc<RefCell<JSObject>>,
[INFO] [stdout] 814 |     is_with_environment: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ObjectEnvironmentRecord` 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 `global_this_value` is never read
[INFO] [stdout]    --> src/interpreter.rs:821:5
[INFO] [stdout]     |
[INFO] [stdout] 819 | struct GlobalEnvironmentRecord {
[INFO] [stdout]     |        ----------------------- field in this struct
[INFO] [stdout] 820 |     object_environment_record: Option<Rc<RefCell<ObjectEnvironmentRecord>>>,
[INFO] [stdout] 821 |     global_this_value: Option<Box<JSObject>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GlobalEnvironmentRecord` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `JSValue` is never constructed
[INFO] [stdout]     --> src/interpreter.rs:1081:5
[INFO] [stdout]      |
[INFO] [stdout] 1080 | enum BaseValue {
[INFO] [stdout]      |      --------- variant in this enum
[INFO] [stdout] 1081 |     JSValue(Box<JSValue>),
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `BaseValue` 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 `strict` and `this_value` are never read
[INFO] [stdout]     --> src/interpreter.rs:1092:5
[INFO] [stdout]      |
[INFO] [stdout] 1088 | struct ReferenceRecord {
[INFO] [stdout]      |        --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1092 |     strict: bool,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout] 1093 |     this_value: Option<Box<JSValue>>,
[INFO] [stdout]      |     ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ReferenceRecord` 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 `Break`, `Continue`, and `Return` are never constructed
[INFO] [stdout]     --> src/interpreter.rs:1106:5
[INFO] [stdout]      |
[INFO] [stdout] 1104 | enum CompletionRecordType {
[INFO] [stdout]      |      -------------------- variants in this enum
[INFO] [stdout] 1105 |     Normal,
[INFO] [stdout] 1106 |     Break,
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout] 1107 |     Continue,
[INFO] [stdout]      |     ^^^^^^^^
[INFO] [stdout] 1108 |     Return,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `CompletionRecordType` 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 `target` is never read
[INFO] [stdout]     --> src/interpreter.rs:1118:5
[INFO] [stdout]      |
[INFO] [stdout] 1114 | struct CompletionRecord {
[INFO] [stdout]      |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1118 |     target: Option<String>
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `CompletionRecord` 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 `ObjectInternalSlot` is never used
[INFO] [stdout]     --> src/interpreter.rs:1122:6
[INFO] [stdout]      |
[INFO] [stdout] 1122 | enum ObjectInternalSlot {
[INFO] [stdout]      |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ordinary_object_create`, `make_basic_object`, `error`, and `report` are never used
[INFO] [stdout]     --> src/interpreter.rs:1157:8
[INFO] [stdout]      |
[INFO] [stdout] 1128 | impl Interpreter {
[INFO] [stdout]      | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1157 |     fn ordinary_object_create(&mut self, proto: Option<JSObject>, mut additional_internal_slots: Vec<ObjectInternalSlot>) -> JSObject {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1185 |     fn make_basic_object(&self, mut internal_slots: Vec<ObjectInternalSlot>) -> JSObject {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1520 |     fn error(line: usize, message: String) {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1524 |     fn report(&mut self, line: i64, location: String, message: String) {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `peekNext` should have a snake case name
[INFO] [stdout]   --> src/lexer.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn peekNext(&mut self) -> Option<char> { 
[INFO] [stdout]    |            ^^^^^^^^ help: convert the identifier to snake case: `peek_next`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rewindAndPeek` should have a snake case name
[INFO] [stdout]   --> src/lexer.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn rewindAndPeek(&mut self, amount: usize) -> Option<char> { 
[INFO] [stdout]    |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `rewind_and_peek`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeType` should have a snake case name
[INFO] [stdout]   --> src/node.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub nodeType: NodeType,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `node_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeName` should have a snake case name
[INFO] [stdout]   --> src/node.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     nodeName: DOMString,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `node_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `baseURI` should have a snake case name
[INFO] [stdout]   --> src/node.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     baseURI: USVString,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `base_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isConnected` should have a snake case name
[INFO] [stdout]   --> src/node.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     isConnected: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `is_connected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ownerDocument` should have a snake case name
[INFO] [stdout]   --> src/node.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub ownerDocument: Option<WeakNode>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `owner_document`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `parentNode` should have a snake case name
[INFO] [stdout]   --> src/node.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub parentNode: Option<WeakNode>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `parent_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `childNodes` should have a snake case name
[INFO] [stdout]   --> src/node.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub childNodes: Children,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `child_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `firstChild` should have a snake case name
[INFO] [stdout]   --> src/node.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     firstChild: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `first_child`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastChild` should have a snake case name
[INFO] [stdout]   --> src/node.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     lastChild: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `last_child`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `previousSibling` should have a snake case name
[INFO] [stdout]   --> src/node.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     previousSibling: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `previous_sibling`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nextSibling` should have a snake case name
[INFO] [stdout]   --> src/node.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     nextSibling: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `next_sibling`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeValue` should have a snake case name
[INFO] [stdout]   --> src/node.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     nodeValue: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `node_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `textContent` should have a snake case name
[INFO] [stdout]   --> src/node.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     textContent: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `text_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `namespace_URI` should have a snake case name
[INFO] [stdout]   --> src/node.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     namespace_URI: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `namespace_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `classList` should have a snake case name
[INFO] [stdout]   --> src/node.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     classList: DOMTokenList,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `class_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `bindingObject` should have a snake case name
[INFO] [stdout]    --> src/interpreter.rs:656:13
[INFO] [stdout]     |
[INFO] [stdout] 656 |         let bindingObject = &self.binding_object;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `binding_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `bindingObject` should have a snake case name
[INFO] [stdout]    --> src/interpreter.rs:687:13
[INFO] [stdout]     |
[INFO] [stdout] 687 |         let bindingObject = &self.binding_object;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `binding_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `borrow::Borrow`
[INFO] [stdout]  --> src/main.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{env, borrow::Borrow};
[INFO] [stdout]   |                ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NodeData` and `Node`
[INFO] [stdout]  --> src/main.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use web_engine::node::{Node, NodeData};
[INFO] [stdout]   |                        ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]     --> src/tokenizer.rs:2583:58
[INFO] [stdout]      |
[INFO] [stdout] 2583 | ...                   self.html_tokens.push((Tokenizer::create_character_html_token('<')));
[INFO] [stdout]      |                                             ^                                           ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 2583 -                                    self.html_tokens.push((Tokenizer::create_character_html_token('<')));
[INFO] [stdout] 2583 +                                    self.html_tokens.push(Tokenizer::create_character_html_token('<'));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ELEMENT_NODE` should have an upper camel case name
[INFO] [stdout]  --> src/node.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     ELEMENT_NODE,
[INFO] [stdout]   |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ElementNode`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ATTRIBUTE_NODE` should have an upper camel case name
[INFO] [stdout]  --> src/node.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     ATTRIBUTE_NODE,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AttributeNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TEXT_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     TEXT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TextNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CDATA_SECTION_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     CDATA_SECTION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CdataSectionNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ENTITY_REFERENCE_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ENTITY_REFERENCE_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntityReferenceNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ENTITY_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     ENTITY_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntityNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PROCESSING_INSTRUCTION_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     PROCESSING_INSTRUCTION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ProcessingInstructionNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `COMMENT_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     COMMENT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CommentNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DOCUMENT_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     DOCUMENT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DocumentNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DOCUMENT_TYPE_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     DOCUMENT_TYPE_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DocumentTypeNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DOCUMENT_FRAGMENT_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     DOCUMENT_FRAGMENT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DocumentFragmentNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NOTATION_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     NOTATION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `NotationNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RefNode` and `WeakNode`
[INFO] [stdout]  --> src/character_data.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::node::{DOMString, RefNode, WeakNode};
[INFO] [stdout]   |                              ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/html_document_parser.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::abort`
[INFO] [stdout]  --> src/html_document_parser.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::process::abort;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Node`
[INFO] [stdout]  --> src/html_document_parser.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use web_engine::node::{Node};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/html_document_parser.rs:66:32
[INFO] [stdout]    |
[INFO] [stdout] 66 | ...if (html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}") {
[INFO] [stdout]    |       ^                                                                                                                                                                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 66 -                             if (html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}") {
[INFO] [stdout] 66 +                             if html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}" {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/html_document_parser.rs:74:32
[INFO] [stdout]    |
[INFO] [stdout] 74 | ...                   if (html_token.name != "html"
[INFO] [stdout]    |                          ^
[INFO] [stdout] 75 | ...                       || html_token.public_identifier.len() != 0
[INFO] [stdout] 76 | ...                       || (html_token.system_identifier.len() != 0 && html_token.system_identifier != "about:legacy-compat")) {
[INFO] [stdout]    |                                                                                                                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 74 ~                             if html_token.name != "html"
[INFO] [stdout] 75 |                                 || html_token.public_identifier.len() != 0
[INFO] [stdout] 76 ~                                 || (html_token.system_identifier.len() != 0 && html_token.system_identifier != "about:legacy-compat") {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/html_document_parser.rs:102:32
[INFO] [stdout]     |
[INFO] [stdout] 102 | ...if (html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}") {
[INFO] [stdout]     |       ^                                                                                                                                                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 102 -                             if (html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}") {
[INFO] [stdout] 102 +                             if html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/html_document_parser.rs:107:32
[INFO] [stdout]     |
[INFO] [stdout] 107 | ...                   if (html_token.tag_name == "html") {
[INFO] [stdout]     |                          ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 107 -                             if (html_token.tag_name == "html") {
[INFO] [stdout] 107 +                             if html_token.tag_name == "html" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/html_document_parser.rs:140:32
[INFO] [stdout]     |
[INFO] [stdout] 140 | ...if (html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}") {
[INFO] [stdout]     |       ^                                                                                                                                                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 140 -                             if (html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}") {
[INFO] [stdout] 140 +                             if html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/html_document_parser.rs:208:32
[INFO] [stdout]     |
[INFO] [stdout] 208 | ...if (html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}") {
[INFO] [stdout]     |       ^                                                                                                                                                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 208 -                             if (html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}") {
[INFO] [stdout] 208 +                             if html_token.data == "\u{0009}" || html_token.data == "\u{000A}" || html_token.data == "\u{000C}" || html_token.data == "\u{000D}" || html_token.data == "\u{0020}" {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ELEMENT_NODE` should have an upper camel case name
[INFO] [stdout]  --> src/node.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     ELEMENT_NODE,
[INFO] [stdout]   |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ElementNode`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ATTRIBUTE_NODE` should have an upper camel case name
[INFO] [stdout]  --> src/node.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     ATTRIBUTE_NODE,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AttributeNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TEXT_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     TEXT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TextNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CDATA_SECTION_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     CDATA_SECTION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CdataSectionNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ENTITY_REFERENCE_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ENTITY_REFERENCE_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntityReferenceNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ENTITY_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     ENTITY_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntityNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PROCESSING_INSTRUCTION_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     PROCESSING_INSTRUCTION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ProcessingInstructionNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `COMMENT_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     COMMENT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CommentNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DOCUMENT_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     DOCUMENT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DocumentNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DOCUMENT_TYPE_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     DOCUMENT_TYPE_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DocumentTypeNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DOCUMENT_FRAGMENT_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     DOCUMENT_FRAGMENT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DocumentFragmentNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NOTATION_NODE` should have an upper camel case name
[INFO] [stdout]   --> src/node.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     NOTATION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `NotationNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RefNode` and `WeakNode`
[INFO] [stdout]  --> src/character_data.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::node::{DOMString, RefNode, WeakNode};
[INFO] [stdout]   |                              ^^^^^^^  ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_PAREN` should have an upper camel case name
[INFO] [stdout]  --> src/token.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 |     LeftParen, RIGHT_PAREN, LEFT_BRACE, RIGHT_BRACE,
[INFO] [stdout]   |                ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightParen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_BRACE` should have an upper camel case name
[INFO] [stdout]  --> src/token.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 |     LeftParen, RIGHT_PAREN, LEFT_BRACE, RIGHT_BRACE,
[INFO] [stdout]   |                             ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBrace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_BRACE` should have an upper camel case name
[INFO] [stdout]  --> src/token.rs:6:41
[INFO] [stdout]   |
[INFO] [stdout] 6 |     LeftParen, RIGHT_PAREN, LEFT_BRACE, RIGHT_BRACE,
[INFO] [stdout]   |                                         ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBrace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BITWISE_NOT` should have an upper camel case name
[INFO] [stdout]  --> src/token.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     BITWISE_NOT, COLON,
[INFO] [stdout]   |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `BitwiseNot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BANG_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/token.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 |     BANG, BANG_EQUAL,
[INFO] [stdout]    |           ^^^^^^^^^^ help: convert the identifier to upper camel case: `BangEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `EQUAL_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/token.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     EQUAL, EQUAL_EQUAL,
[INFO] [stdout]    |            ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EqualEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GREATER_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/token.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 |     GREATER, GREATER_EQUAL,
[INFO] [stdout]    |              ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GreaterEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LESS_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/token.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 |     LESS, LESS_EQUAL,
[INFO] [stdout]    |           ^^^^^^^^^^ help: convert the identifier to upper camel case: `LessEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]    --> src/parser.rs:107:14
[INFO] [stdout]     |
[INFO] [stdout] 107 |         while(self.match_token(vec![TokenType::BANG_EQUAL, TokenType::EQUAL_EQUAL])) {
[INFO] [stdout]     |              ^                                                                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 107 -         while(self.match_token(vec![TokenType::BANG_EQUAL, TokenType::EQUAL_EQUAL])) {
[INFO] [stdout] 107 +         while self.match_token(vec![TokenType::BANG_EQUAL, TokenType::EQUAL_EQUAL]) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:291:12
[INFO] [stdout]     |
[INFO] [stdout] 291 |         if (token_type == TokenType::EOF) {
[INFO] [stdout]     |            ^                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 291 -         if (token_type == TokenType::EOF) {
[INFO] [stdout] 291 +         if token_type == TokenType::EOF {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/interpreter.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::Any;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ref`
[INFO] [stdout]  --> src/interpreter.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::{Ref, RefCell};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Weak`
[INFO] [stdout]  --> src/interpreter.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::rc::{Rc, Weak};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Token`
[INFO] [stdout]  --> src/interpreter.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::token::{Token, TokenType, Literal};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/interpreter.rs:505:137
[INFO] [stdout]     |
[INFO] [stdout] 505 |             return create_normal_completion(Rc::new(ReferenceRecordOrJsValue::JSValue(Rc::new(RefCell::new(JSValue::Boolean(false))))));;
[INFO] [stdout]     |                                                                                                                                         ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::de::Read`
[INFO] [stdout]  --> src/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde_json::de::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/character_data.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |      pub fn substring_data(offset: u32, count: u32) -> DOMString { 
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]   --> src/character_data.rs:18:41
[INFO] [stdout]    |
[INFO] [stdout] 18 |      pub fn substring_data(offset: u32, count: u32) -> DOMString { 
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/character_data.rs:24:25
[INFO] [stdout]    |
[INFO] [stdout] 24 |      pub fn append_data(data: DOMString) { 
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/character_data.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |      pub fn insert_data(offset: u32, data: DOMString) { 
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/character_data.rs:30:38
[INFO] [stdout]    |
[INFO] [stdout] 30 |      pub fn insert_data(offset: u32, data: DOMString) { 
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/character_data.rs:36:26
[INFO] [stdout]    |
[INFO] [stdout] 36 |      pub fn replace_data(offset: u32, count: u32, data: DOMString) { 
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]   --> src/character_data.rs:36:39
[INFO] [stdout]    |
[INFO] [stdout] 36 |      pub fn replace_data(offset: u32, count: u32, data: DOMString) { 
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/character_data.rs:36:51
[INFO] [stdout]    |
[INFO] [stdout] 36 |      pub fn replace_data(offset: u32, count: u32, data: DOMString) { 
[INFO] [stdout]    |                                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chars`
[INFO] [stdout]    --> src/scanner.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let chars: Vec<char> = self.source.chars().collect();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_chars`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/character_data.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |      pub fn substring_data(offset: u32, count: u32) -> DOMString { 
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]   --> src/character_data.rs:18:41
[INFO] [stdout]    |
[INFO] [stdout] 18 |      pub fn substring_data(offset: u32, count: u32) -> DOMString { 
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/character_data.rs:24:25
[INFO] [stdout]    |
[INFO] [stdout] 24 |      pub fn append_data(data: DOMString) { 
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/character_data.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |      pub fn insert_data(offset: u32, data: DOMString) { 
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/character_data.rs:30:38
[INFO] [stdout]    |
[INFO] [stdout] 30 |      pub fn insert_data(offset: u32, data: DOMString) { 
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/character_data.rs:36:26
[INFO] [stdout]    |
[INFO] [stdout] 36 |      pub fn replace_data(offset: u32, count: u32, data: DOMString) { 
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]   --> src/character_data.rs:36:39
[INFO] [stdout]    |
[INFO] [stdout] 36 |      pub fn replace_data(offset: u32, count: u32, data: DOMString) { 
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/character_data.rs:36:51
[INFO] [stdout]    |
[INFO] [stdout] 36 |      pub fn replace_data(offset: u32, count: u32, data: DOMString) { 
[INFO] [stdout]    |                                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ast.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 198 |             _=> unimplemented!()
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/ast.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |             ExpressionStatement::BinaryExpression(b) => visitor.visit_binary(b),
[INFO] [stdout]     |             ---------------------------------------- matches some of the same values
[INFO] [stdout] 191 |             ExpressionStatement::LiteralExpression(l) => visitor.visit_literal(l),
[INFO] [stdout]     |             ----------------------------------------- matches some of the same values
[INFO] [stdout] 192 |             ExpressionStatement::ParenthesizedExpression(p) => visitor.visit_parenthesized(p),
[INFO] [stdout]     |             ----------------------------------------------- matches some of the same values
[INFO] [stdout] 193 |             ExpressionStatement::UnaryExpression(u) => visitor.visit_unary(u),
[INFO] [stdout]     |             --------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 198 |             _=> unimplemented!()
[INFO] [stdout]     |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `adjusted_insertion_location`
[INFO] [stdout]    --> src/html_document_parser.rs:273:13
[INFO] [stdout]     |
[INFO] [stdout] 273 |         let adjusted_insertion_location = &self.appropriate_place_for_inserting_a_node(None);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_adjusted_insertion_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `namespace`
[INFO] [stdout]    --> src/html_document_parser.rs:340:77
[INFO] [stdout]     |
[INFO] [stdout] 340 | ...e, local_name: DOMString, namespace: Option<String>, prefix: Option<String>, is: Option<String>, synchronous_custom_elements : bool) -...
[INFO] [stdout]     |                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_namespace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prefix`
[INFO] [stdout]    --> src/html_document_parser.rs:340:104
[INFO] [stdout]     |
[INFO] [stdout] 340 | ..., namespace: Option<String>, prefix: Option<String>, is: Option<String>, synchronous_custom_elements : bool) -> RefNode {
[INFO] [stdout]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is`
[INFO] [stdout]    --> src/html_document_parser.rs:340:128
[INFO] [stdout]     |
[INFO] [stdout] 340 | ...String>, prefix: Option<String>, is: Option<String>, synchronous_custom_elements : bool) -> RefNode {
[INFO] [stdout]     |                                     ^^ help: if this is intentional, prefix it with an underscore: `_is`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `synchronous_custom_elements`
[INFO] [stdout]    --> src/html_document_parser.rs:340:148
[INFO] [stdout]     |
[INFO] [stdout] 340 | ...tring>, synchronous_custom_elements : bool) -> RefNode {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_synchronous_custom_elements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `source_html_file_path` is never read
[INFO] [stdout]   --> src/main.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut source_html_file_path: String = String::from("");
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `codepoints` is never read
[INFO] [stdout]   --> src/tokenizer.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct NamedCharacterReferenceObject { 
[INFO] [stdout]    |        ----------------------------- field in this struct
[INFO] [stdout] 14 |     character_reference: String,
[INFO] [stdout] 15 |     codepoints: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_html_token` is never read
[INFO] [stdout]   --> src/tokenizer.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Tokenizer { 
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     current_html_token: Option<HtmlToken>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `peekNext` is never used
[INFO] [stdout]   --> src/lexer.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Lexer { 
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn peekNext(&mut self) -> Option<char> { 
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/node.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum NodeType {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout]  8 |     ELEMENT_NODE,
[INFO] [stdout]  9 |     ATTRIBUTE_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     TEXT_NODE,
[INFO] [stdout] 11 |     CDATA_SECTION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ENTITY_REFERENCE_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     ENTITY_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 14 |     PROCESSING_INSTRUCTION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     DOCUMENT_FRAGMENT_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     NOTATION_NODE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NodeType` 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/node.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Node {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     nodeName: DOMString,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 27 |     baseURI: USVString,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 28 |     isConnected: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     firstChild: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 33 |     lastChild: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 34 |     previousSibling: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     nextSibling: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 36 |     nodeValue: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 37 |     textContent: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `public_id`, and `system_id` are never read
[INFO] [stdout]   --> src/node.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct DocumentType {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 52 |     pub name: DOMString,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 53 |     pub public_id: DOMString,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 54 |     pub system_id: DOMString,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/node.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct Element {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 73 |     namespace_URI: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 74 |     prefix: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 75 |     local_name: DOMString,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 76 |     tag_name: DOMString,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 77 |     id: DOMString,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 78 |     class_list: DOMString,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 79 |     slot: DOMString,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 80 |     classList: DOMTokenList,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 81 |     attributes: NamedNodeMap,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HTMLElement` is never constructed
[INFO] [stdout]    --> src/node.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct HTMLElement { 
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/node.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |     Comment(Comment),
[INFO] [stdout]     |     ------- ^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[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 -     Comment(Comment),
[INFO] [stdout] 144 +     Comment(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/node.rs:146:18
[INFO] [stdout]     |
[INFO] [stdout] 146 |     DocumentType(DocumentType),
[INFO] [stdout]     |     ------------ ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[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] 146 -     DocumentType(DocumentType),
[INFO] [stdout] 146 +     DocumentType(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/node.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 147 |     Element(Element),
[INFO] [stdout]     |     ------- ^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[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] 147 -     Element(Element),
[INFO] [stdout] 147 +     Element(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CharacterData` is never constructed
[INFO] [stdout]    --> src/node.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub enum NodeData {
[INFO] [stdout]     |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 148 |     CharacterData(CharacterData),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `character_data` is never read
[INFO] [stdout]  --> src/comment.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Comment { 
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] 5 |     pub character_data: CharacterData
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `length` is never read
[INFO] [stdout]  --> src/character_data.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct CharacterData { 
[INFO] [stdout]   |            ------------- field in this struct
[INFO] [stdout] 5 |     pub data: DOMString,
[INFO] [stdout] 6 |     pub length: usize,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/ast_printer.rs:105:58
[INFO] [stdout]     |
[INFO] [stdout] 105 |             ExpressionStatement::ObjectLiteralExpression(node) => {
[INFO] [stdout]     |                                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/html_document_parser.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | enum InsertionMode {
[INFO] [stdout]    |      ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     InHeadNoScript,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     AfterHead,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 20 |     InBody,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 21 |     Text,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 22 |     InTable,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 23 |     InTableText,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 24 |     InCaption,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 25 |     InColumnGroup,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 26 |     InTableBody,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 27 |     InRow,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 28 |     InCell,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 29 |     InSelect,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 30 |     InSelectInTable,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     InTemplate,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 32 |     AfterBody,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 33 |     InFrameset,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 34 |     AfterFrameset,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     AfterAfterBody,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 36 |     AfterAfterFrameset,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `insert_a_foreign_element` is never used
[INFO] [stdout]    --> src/html_document_parser.rs:271:8
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl HTMLDocumentParser {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn insert_a_foreign_element(&mut self, tag_name: String) -> WeakNode {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `peekNext` should have a snake case name
[INFO] [stdout]   --> src/lexer.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn peekNext(&mut self) -> Option<char> { 
[INFO] [stdout]    |            ^^^^^^^^ help: convert the identifier to snake case: `peek_next`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rewindAndPeek` should have a snake case name
[INFO] [stdout]   --> src/lexer.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn rewindAndPeek(&mut self, amount: usize) -> Option<char> { 
[INFO] [stdout]    |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `rewind_and_peek`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeType` should have a snake case name
[INFO] [stdout]   --> src/node.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub nodeType: NodeType,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `node_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeName` should have a snake case name
[INFO] [stdout]   --> src/node.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     nodeName: DOMString,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `node_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `baseURI` should have a snake case name
[INFO] [stdout]   --> src/node.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     baseURI: USVString,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `base_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isConnected` should have a snake case name
[INFO] [stdout]   --> src/node.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     isConnected: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `is_connected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ownerDocument` should have a snake case name
[INFO] [stdout]   --> src/node.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub ownerDocument: Option<WeakNode>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `owner_document`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `parentNode` should have a snake case name
[INFO] [stdout]   --> src/node.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub parentNode: Option<WeakNode>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `parent_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `childNodes` should have a snake case name
[INFO] [stdout]   --> src/node.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub childNodes: Children,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `child_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `firstChild` should have a snake case name
[INFO] [stdout]   --> src/node.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     firstChild: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `first_child`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastChild` should have a snake case name
[INFO] [stdout]   --> src/node.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     lastChild: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `last_child`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `previousSibling` should have a snake case name
[INFO] [stdout]   --> src/node.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     previousSibling: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `previous_sibling`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nextSibling` should have a snake case name
[INFO] [stdout]   --> src/node.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     nextSibling: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `next_sibling`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeValue` should have a snake case name
[INFO] [stdout]   --> src/node.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     nodeValue: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `node_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `textContent` should have a snake case name
[INFO] [stdout]   --> src/node.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     textContent: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `text_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `namespace_URI` should have a snake case name
[INFO] [stdout]   --> src/node.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     namespace_URI: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `namespace_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `classList` should have a snake case name
[INFO] [stdout]   --> src/node.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     classList: DOMTokenList,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `class_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `localName` should have a snake case name
[INFO] [stdout]    --> src/html_document_parser.rs:330:13
[INFO] [stdout]     |
[INFO] [stdout] 330 |         let localName = tag_name.clone();
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case: `local_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `own_desc`
[INFO] [stdout]    --> src/interpreter.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 | ...   let own_desc = PropertyDescriptorType::PropertyDescriptor(PropertyDescriptor { property: Some(PropertyType::DataProperty(DataProper...
[INFO] [stdout]     |           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_own_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `receiver`
[INFO] [stdout]    --> src/interpreter.rs:136:112
[INFO] [stdout]     |
[INFO] [stdout] 136 | ...lue: Rc<RefCell<JSValue>>, receiver: &Rc<RefCell<JSObject>>, own_descriptor: &PropertyDescriptorType) -> CompletionRecord {
[INFO] [stdout]     |                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_property`
[INFO] [stdout]    --> src/interpreter.rs:259:57
[INFO] [stdout]     |
[INFO] [stdout] 259 |                     Some(PropertyType::AccessorProperty(data_property)) => {
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_property`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `property_descriptor`
[INFO] [stdout]    --> src/interpreter.rs:286:56
[INFO] [stdout]     |
[INFO] [stdout] 286 |             PropertyDescriptorType::PropertyDescriptor(property_descriptor) => {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `receiver`
[INFO] [stdout]    --> src/interpreter.rs:335:47
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn ordinary_get(&self, key: &PropertyKey, receiver: &Rc<RefCell<JSObject>>) -> CompletionRecord {
[INFO] [stdout]     |                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `accessor_prop`
[INFO] [stdout]    --> src/interpreter.rs:407:44
[INFO] [stdout]     |
[INFO] [stdout] 407 |             PropertyType::AccessorProperty(accessor_prop) => {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_accessor_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `marked_for_deletion`
[INFO] [stdout]    --> src/interpreter.rs:581:62
[INFO] [stdout]     |
[INFO] [stdout] 581 |     fn create_mutable_binding(&mut self, binding_id: String, marked_for_deletion: bool) -> CompletionRecord {
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_marked_for_deletion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mut_binding`
[INFO] [stdout]    --> src/interpreter.rs:600:45
[INFO] [stdout]     |
[INFO] [stdout] 600 |                     Binding::MutableBinding(mut_binding) => {
[INFO] [stdout]     |                                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mut_binding`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_strict`
[INFO] [stdout]    --> src/interpreter.rs:621:53
[INFO] [stdout]     |
[INFO] [stdout] 621 |     fn get_binding_value(&self, binding_id: String, is_strict: bool) -> CompletionRecord {
[INFO] [stdout]     |                                                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_strict`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_strict`
[INFO] [stdout]    --> src/interpreter.rs:654:53
[INFO] [stdout]     |
[INFO] [stdout] 654 |     fn get_binding_value(&self, binding_id: String, is_strict: bool) -> CompletionRecord {
[INFO] [stdout]     |                                                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_strict`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `declarative_record`
[INFO] [stdout]    --> src/interpreter.rs:766:21
[INFO] [stdout]     |
[INFO] [stdout] 766 |                 let declarative_record = &global_environment_record.borrow().declarative_environment_record;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_declarative_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expression`
[INFO] [stdout]     --> src/interpreter.rs:1014:41
[INFO] [stdout]      |
[INFO] [stdout] 1014 |     fn visit_call_expression(&mut self, expression: &CallExpression) -> CompletionRecord {
[INFO] [stdout]      |                                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object_literal_expression`
[INFO] [stdout]     --> src/interpreter.rs:1036:51
[INFO] [stdout]      |
[INFO] [stdout] 1036 |     fn visit_object_literal_expression(&mut self, object_literal_expression: &ObjectLiteralExpression) -> CompletionRecord {
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_object_literal_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left_reference`
[INFO] [stdout]     --> src/interpreter.rs:1048:21
[INFO] [stdout]      |
[INFO] [stdout] 1048 |                 let left_reference =  completion!(self.evaluate(&*expression.left_hand_side_expression));
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_reference`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1060:55
[INFO] [stdout]      |
[INFO] [stdout] 1060 |                     ReferenceRecordOrJsValue::JSValue(value) => {
[INFO] [stdout]      |                                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `success`
[INFO] [stdout]     --> src/interpreter.rs:1179:13
[INFO] [stdout]      |
[INFO] [stdout] 1179 |         let success =  completion!(object.borrow_mut().set(key.clone(), value.clone(), object));
[INFO] [stdout]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_success`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `throw`
[INFO] [stdout]     --> src/interpreter.rs:1177:99
[INFO] [stdout]      |
[INFO] [stdout] 1177 |     pub fn set(object: &Rc<RefCell<JSObject>>, key: Rc<PropertyKey>, value: Rc<RefCell<JSValue>>, throw: bool) -> CompletionRecord {
[INFO] [stdout]      |                                                                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_throw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol_value`
[INFO] [stdout]     --> src/interpreter.rs:1248:45
[INFO] [stdout]      |
[INFO] [stdout] 1248 | ...                   JSValue::Symbol(symbol_value) => {
[INFO] [stdout]      |                                       ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]     --> src/interpreter.rs:1568:30
[INFO] [stdout]      |
[INFO] [stdout] 1568 |             JSValue::Numeric(val) => {
[INFO] [stdout]      |                              ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1572:29
[INFO] [stdout]      |
[INFO] [stdout] 1572 |             JSValue::Symbol(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1591:29
[INFO] [stdout]      |
[INFO] [stdout] 1591 |             JSValue::String(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1595:29
[INFO] [stdout]      |
[INFO] [stdout] 1595 |             JSValue::Object(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1609:29
[INFO] [stdout]      |
[INFO] [stdout] 1609 |             JSValue::Object(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `preferred_type`
[INFO] [stdout]     --> src/interpreter.rs:1606:50
[INFO] [stdout]      |
[INFO] [stdout] 1606 |     fn to_primitive(value: Rc<RefCell<JSValue>>, preferred_type: Option<JSValue>) -> CompletionRecord {
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_preferred_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/interpreter.rs:1643:74
[INFO] [stdout]      |
[INFO] [stdout] 1643 |             JSValue::Undefined | JSValue::Null | JSValue::Numeric(0.0) | JSValue::Numeric(-0.0) => {
[INFO] [stdout]      |                                                  ---------------------   ^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  matches all the relevant values
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1650:29
[INFO] [stdout]      |
[INFO] [stdout] 1650 |             JSValue::Object(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left_string`
[INFO] [stdout]     --> src/interpreter.rs:1718:33
[INFO] [stdout]      |
[INFO] [stdout] 1718 | ...                   let left_string = completion!(Interpreter::to_string(right_val.clone()));
[INFO] [stdout]      |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:1982:29
[INFO] [stdout]      |
[INFO] [stdout] 1982 |             JSValue::Symbol(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/interpreter.rs:2008:29
[INFO] [stdout]      |
[INFO] [stdout] 2008 |             JSValue::Object(value) => {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `JSObject` is more private than the item `Interpreter::set`
[INFO] [stdout]     --> src/interpreter.rs:1177:5
[INFO] [stdout]      |
[INFO] [stdout] 1177 |     pub fn set(object: &Rc<RefCell<JSObject>>, key: Rc<PropertyKey>, value: Rc<RefCell<JSValue>>, throw: bool) -> CompletionRecord {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `Interpreter::set` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `JSObject` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> src/interpreter.rs:84:1
[INFO] [stdout]      |
[INFO] [stdout]   84 | struct JSObject {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PropertyKey` is more private than the item `Interpreter::set`
[INFO] [stdout]     --> src/interpreter.rs:1177:5
[INFO] [stdout]      |
[INFO] [stdout] 1177 |     pub fn set(object: &Rc<RefCell<JSObject>>, key: Rc<PropertyKey>, value: Rc<RefCell<JSValue>>, throw: bool) -> CompletionRecord {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `Interpreter::set` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `PropertyKey` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> src/interpreter.rs:57:1
[INFO] [stdout]      |
[INFO] [stdout]   57 | enum PropertyKey {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `JSValue` is more private than the item `Interpreter::set`
[INFO] [stdout]     --> src/interpreter.rs:1177:5
[INFO] [stdout]      |
[INFO] [stdout] 1177 |     pub fn set(object: &Rc<RefCell<JSObject>>, key: Rc<PropertyKey>, value: Rc<RefCell<JSValue>>, throw: bool) -> CompletionRecord {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `Interpreter::set` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `JSValue` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> src/interpreter.rs:460:1
[INFO] [stdout]      |
[INFO] [stdout]  460 | enum JSValue {
[INFO] [stdout]      | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CompletionRecord` is more private than the item `Interpreter::set`
[INFO] [stdout]     --> src/interpreter.rs:1177:5
[INFO] [stdout]      |
[INFO] [stdout] 1177 |     pub fn set(object: &Rc<RefCell<JSObject>>, key: Rc<PropertyKey>, value: Rc<RefCell<JSValue>>, throw: bool) -> CompletionRecord {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `Interpreter::set` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `CompletionRecord` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> src/interpreter.rs:1114:1
[INFO] [stdout]      |
[INFO] [stdout] 1114 | struct CompletionRecord {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `JSValue` is more private than the item `Interpreter::to_string`
[INFO] [stdout]     --> src/interpreter.rs:1975:5
[INFO] [stdout]      |
[INFO] [stdout] 1975 |     pub fn to_string(value: Rc<RefCell<JSValue>>) -> CompletionRecord {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `Interpreter::to_string` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `JSValue` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> src/interpreter.rs:460:1
[INFO] [stdout]      |
[INFO] [stdout]  460 | enum JSValue {
[INFO] [stdout]      | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CompletionRecord` is more private than the item `Interpreter::to_string`
[INFO] [stdout]     --> src/interpreter.rs:1975:5
[INFO] [stdout]      |
[INFO] [stdout] 1975 |     pub fn to_string(value: Rc<RefCell<JSValue>>) -> CompletionRecord {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `Interpreter::to_string` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `CompletionRecord` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> src/interpreter.rs:1114:1
[INFO] [stdout]      |
[INFO] [stdout] 1114 | struct CompletionRecord {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/node.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Node {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     nodeName: DOMString,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 27 |     baseURI: USVString,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 28 |     isConnected: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     firstChild: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 33 |     lastChild: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 34 |     previousSibling: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     nextSibling: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 36 |     nodeValue: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 37 |     textContent: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/node.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct Element {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 73 |     namespace_URI: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 74 |     prefix: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 75 |     local_name: DOMString,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 76 |     tag_name: DOMString,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 77 |     id: DOMString,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 78 |     class_list: DOMString,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 79 |     slot: DOMString,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 80 |     classList: DOMTokenList,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 81 |     attributes: NamedNodeMap,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `element` is never read
[INFO] [stdout]    --> src/node.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct HTMLElement { 
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 103 |     element: Element,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `property_name` is never read
[INFO] [stdout]   --> src/ast.rs:19:16
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct PropertyDefinition {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 19 |     pub(crate) property_name: PropertyName,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PropertyDefinition` 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 `statements` is never read
[INFO] [stdout]   --> src/ast.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct FunctionBody {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 68 |     statements: Vec<Statement>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `binding_identifier` is never read
[INFO] [stdout]   --> src/ast.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct FormalParameter {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 77 |     binding_identifier: Token,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parameters` is never read
[INFO] [stdout]   --> src/ast.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct FormalParameters {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 82 |     parameters: Vec<FormalParameter>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `paren` is never read
[INFO] [stdout]   --> src/ast.rs:96:16
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct CallExpression {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 95 |     pub(crate) callee: Box<ExpressionStatement>,
[INFO] [stdout] 96 |     pub(crate) paren: Token,
[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: field `variable_environment_record` is never read
[INFO] [stdout]   --> src/interpreter.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct ExecutionContext {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 23 |     lexical_environment_record: Rc<RefCell<EnvironmentRecord>>,
[INFO] [stdout] 24 |     variable_environment_record:  Rc<RefCell<EnvironmentRecord>>
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/interpreter.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl JSSymbol {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 49 |     pub fn new(description: String) -> JSSymbol {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Symbol` is never constructed
[INFO] [stdout]   --> src/interpreter.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | enum PropertyKey {
[INFO] [stdout]    |      ----------- variant in this enum
[INFO] [stdout] 58 |     String(String),
[INFO] [stdout] 59 |     Symbol(JSSymbol),
[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: field `set` is never read
[INFO] [stdout]   --> src/interpreter.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct AccessorProperty {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 71 |     get: Option<fn(key: PropertyKey, receiver: &JSValue) -> JSObject>,
[INFO] [stdout] 72 |     set: Option<fn(key: PropertyKey, value: JSValue, receiver: &JSValue) -> JSObject>
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AccessorProperty` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AccessorProperty` is never constructed
[INFO] [stdout]   --> src/interpreter.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | enum PropertyType {
[INFO] [stdout]    |      ------------ variant in this enum
[INFO] [stdout] 77 |     DataProperty(DataProperty),
[INFO] [stdout] 78 |     AccessorProperty(AccessorProperty),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PropertyType` 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 `prototype` and `extensible` are never read
[INFO] [stdout]   --> src/interpreter.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 84 | struct JSObject {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub prototype: Option<Rc<JSObject>>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 88 |     pub extensible: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JSObject` 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/interpreter.rs:99:15
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Undefined(JSValue)
[INFO] [stdout]    |     --------- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PropertyDescriptorType` 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] 99 -     Undefined(JSValue)
[INFO] [stdout] 99 +     Undefined(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/interpreter.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl JSObject {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 102 |     pub fn new() -> JSObject {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Symbol` is never constructed
[INFO] [stdout]    --> src/interpreter.rs:464:5
[INFO] [stdout]     |
[INFO] [stdout] 460 | enum JSValue {
[INFO] [stdout]     |      ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 464 |     Symbol(JSSymbol),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `JSValue` 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 `FunctionEnvironmentRecord` and `ObjectEnvironmentRecord` are never constructed
[INFO] [stdout]    --> src/interpreter.rs:474:5
[INFO] [stdout]     |
[INFO] [stdout] 472 | enum EnvironmentRecordType {
[INFO] [stdout]     |      --------------------- variants in this enum
[INFO] [stdout] 473 |     DeclarativeEnvironmentRecord(Rc<RefCell<DeclarativeEnvironmentRecord>>),
[INFO] [stdout] 474 |     FunctionEnvironmentRecord(FunctionEnvironmentRecord),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 475 |     ObjectEnvironmentRecord(Rc<RefCell<ObjectEnvironmentRecord>>),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EnvironmentRecordType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ImmutableBinding` is never constructed
[INFO] [stdout]    --> src/interpreter.rs:785:5
[INFO] [stdout]     |
[INFO] [stdout] 783 | enum Binding {
[INFO] [stdout]     |      ------- variant in this enum
[INFO] [stdout] 784 |     MutableBinding(MutableBinding),
[INFO] [stdout] 785 |     ImmutableBinding(ImmutableBinding)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Binding` 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 `function_environment_record` is never read
[INFO] [stdout]    --> src/interpreter.rs:791:5
[INFO] [stdout]     |
[INFO] [stdout] 789 | struct DeclarativeEnvironmentRecord {
[INFO] [stdout]     |        ---------------------------- field in this struct
[INFO] [stdout] 790 |     // TODO: Should not be of an option type
[INFO] [stdout] 791 |     function_environment_record: Option<FunctionEnvironmentRecord>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeclarativeEnvironmentRecord` 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 `Lexical`, `Uninitialized`, and `Initialized` are never constructed
[INFO] [stdout]    --> src/interpreter.rs:797:5
[INFO] [stdout]     |
[INFO] [stdout] 796 | enum ThisBindingStatus {
[INFO] [stdout]     |      ----------------- variants in this enum
[INFO] [stdout] 797 |     Lexical,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 798 |     Uninitialized,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 799 |     Initialized,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ThisBindingStatus` 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 `this_value`, `this_binding_status`, `function_object`, and `new_target` are never read
[INFO] [stdout]    --> src/interpreter.rs:805:5
[INFO] [stdout]     |
[INFO] [stdout] 804 | struct FunctionEnvironmentRecord {
[INFO] [stdout]     |        ------------------------- fields in this struct
[INFO] [stdout] 805 |     this_value: Box<JSValue>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 806 |     this_binding_status: ThisBindingStatus,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 807 |     function_object: JSObject,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 808 |     new_target: Option<JSObject>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FunctionEnvironmentRecord` 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 `is_with_environment` is never read
[INFO] [stdout]    --> src/interpreter.rs:814:5
[INFO] [stdout]     |
[INFO] [stdout] 812 | struct ObjectEnvironmentRecord {
[INFO] [stdout]     |        ----------------------- field in this struct
[INFO] [stdout] 813 |     binding_object: Rc<RefCell<JSObject>>,
[INFO] [stdout] 814 |     is_with_environment: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ObjectEnvironmentRecord` 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 `global_this_value` is never read
[INFO] [stdout]    --> src/interpreter.rs:821:5
[INFO] [stdout]     |
[INFO] [stdout] 819 | struct GlobalEnvironmentRecord {
[INFO] [stdout]     |        ----------------------- field in this struct
[INFO] [stdout] 820 |     object_environment_record: Option<Rc<RefCell<ObjectEnvironmentRecord>>>,
[INFO] [stdout] 821 |     global_this_value: Option<Box<JSObject>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GlobalEnvironmentRecord` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `JSValue` is never constructed
[INFO] [stdout]     --> src/interpreter.rs:1081:5
[INFO] [stdout]      |
[INFO] [stdout] 1080 | enum BaseValue {
[INFO] [stdout]      |      --------- variant in this enum
[INFO] [stdout] 1081 |     JSValue(Box<JSValue>),
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `BaseValue` 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 `strict` and `this_value` are never read
[INFO] [stdout]     --> src/interpreter.rs:1092:5
[INFO] [stdout]      |
[INFO] [stdout] 1088 | struct ReferenceRecord {
[INFO] [stdout]      |        --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1092 |     strict: bool,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout] 1093 |     this_value: Option<Box<JSValue>>,
[INFO] [stdout]      |     ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ReferenceRecord` 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 `Break`, `Continue`, and `Return` are never constructed
[INFO] [stdout]     --> src/interpreter.rs:1106:5
[INFO] [stdout]      |
[INFO] [stdout] 1104 | enum CompletionRecordType {
[INFO] [stdout]      |      -------------------- variants in this enum
[INFO] [stdout] 1105 |     Normal,
[INFO] [stdout] 1106 |     Break,
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout] 1107 |     Continue,
[INFO] [stdout]      |     ^^^^^^^^
[INFO] [stdout] 1108 |     Return,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `CompletionRecordType` 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 `target` is never read
[INFO] [stdout]     --> src/interpreter.rs:1118:5
[INFO] [stdout]      |
[INFO] [stdout] 1114 | struct CompletionRecord {
[INFO] [stdout]      |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1118 |     target: Option<String>
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `CompletionRecord` 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 `ObjectInternalSlot` is never used
[INFO] [stdout]     --> src/interpreter.rs:1122:6
[INFO] [stdout]      |
[INFO] [stdout] 1122 | enum ObjectInternalSlot {
[INFO] [stdout]      |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ordinary_object_create`, `make_basic_object`, `error`, and `report` are never used
[INFO] [stdout]     --> src/interpreter.rs:1157:8
[INFO] [stdout]      |
[INFO] [stdout] 1128 | impl Interpreter {
[INFO] [stdout]      | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1157 |     fn ordinary_object_create(&mut self, proto: Option<JSObject>, mut additional_internal_slots: Vec<ObjectInternalSlot>) -> JSObject {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1185 |     fn make_basic_object(&self, mut internal_slots: Vec<ObjectInternalSlot>) -> JSObject {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1520 |     fn error(line: usize, message: String) {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1524 |     fn report(&mut self, line: i64, location: String, message: String) {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `peekNext` should have a snake case name
[INFO] [stdout]   --> src/lexer.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn peekNext(&mut self) -> Option<char> { 
[INFO] [stdout]    |            ^^^^^^^^ help: convert the identifier to snake case: `peek_next`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rewindAndPeek` should have a snake case name
[INFO] [stdout]   --> src/lexer.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn rewindAndPeek(&mut self, amount: usize) -> Option<char> { 
[INFO] [stdout]    |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `rewind_and_peek`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeType` should have a snake case name
[INFO] [stdout]   --> src/node.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub nodeType: NodeType,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `node_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeName` should have a snake case name
[INFO] [stdout]   --> src/node.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     nodeName: DOMString,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `node_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `baseURI` should have a snake case name
[INFO] [stdout]   --> src/node.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     baseURI: USVString,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `base_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isConnected` should have a snake case name
[INFO] [stdout]   --> src/node.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     isConnected: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `is_connected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ownerDocument` should have a snake case name
[INFO] [stdout]   --> src/node.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub ownerDocument: Option<WeakNode>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `owner_document`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `parentNode` should have a snake case name
[INFO] [stdout]   --> src/node.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub parentNode: Option<WeakNode>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `parent_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `childNodes` should have a snake case name
[INFO] [stdout]   --> src/node.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub childNodes: Children,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `child_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `firstChild` should have a snake case name
[INFO] [stdout]   --> src/node.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     firstChild: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `first_child`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastChild` should have a snake case name
[INFO] [stdout]   --> src/node.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     lastChild: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `last_child`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `previousSibling` should have a snake case name
[INFO] [stdout]   --> src/node.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     previousSibling: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `previous_sibling`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nextSibling` should have a snake case name
[INFO] [stdout]   --> src/node.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     nextSibling: Weak<Option<Child>>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `next_sibling`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeValue` should have a snake case name
[INFO] [stdout]   --> src/node.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     nodeValue: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `node_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `textContent` should have a snake case name
[INFO] [stdout]   --> src/node.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     textContent: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `text_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `namespace_URI` should have a snake case name
[INFO] [stdout]   --> src/node.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     namespace_URI: Option<DOMString>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `namespace_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `classList` should have a snake case name
[INFO] [stdout]   --> src/node.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     classList: DOMTokenList,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `class_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `bindingObject` should have a snake case name
[INFO] [stdout]    --> src/interpreter.rs:656:13
[INFO] [stdout]     |
[INFO] [stdout] 656 |         let bindingObject = &self.binding_object;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `binding_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `bindingObject` should have a snake case name
[INFO] [stdout]    --> src/interpreter.rs:687:13
[INFO] [stdout]     |
[INFO] [stdout] 687 |         let bindingObject = &self.binding_object;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `binding_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.62s
[INFO] running `Command { std: "docker" "inspect" "11314b7b373e79f52a09b947a325a27414c5031b376236ae18c3b792a46abb85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "11314b7b373e79f52a09b947a325a27414c5031b376236ae18c3b792a46abb85", kill_on_drop: false }`
[INFO] [stdout] 11314b7b373e79f52a09b947a325a27414c5031b376236ae18c3b792a46abb85
