[INFO] cloning repository https://github.com/hubvue/customlang-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hubvue/customlang-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhubvue%2Fcustomlang-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhubvue%2Fcustomlang-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5bb96603d81edcb8596e8f103cba03eebd5893d1 [INFO] building hubvue/customlang-rs against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhubvue%2Fcustomlang-rs" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/hubvue/customlang-rs on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/hubvue/customlang-rs [INFO] finished tweaking git repo https://github.com/hubvue/customlang-rs [INFO] tweaked toml for git repo https://github.com/hubvue/customlang-rs written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/hubvue/customlang-rs already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3829f1e76e53262b8279756a5624e249bb1d27bfc12f5983a5ae72f0fa972653 [INFO] running `Command { std: "docker" "start" "-a" "3829f1e76e53262b8279756a5624e249bb1d27bfc12f5983a5ae72f0fa972653", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3829f1e76e53262b8279756a5624e249bb1d27bfc12f5983a5ae72f0fa972653", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3829f1e76e53262b8279756a5624e249bb1d27bfc12f5983a5ae72f0fa972653", kill_on_drop: false }` [INFO] [stdout] 3829f1e76e53262b8279756a5624e249bb1d27bfc12f5983a5ae72f0fa972653 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8c13cd7b63a187a4b76485c0dbdb93ae635dbf1203924ca9c84af01beff673ba [INFO] running `Command { std: "docker" "start" "-a" "8c13cd7b63a187a4b76485c0dbdb93ae635dbf1203924ca9c84af01beff673ba", kill_on_drop: false }` [INFO] [stderr] Compiling anyhow v1.0.69 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling customlang-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Lexer`, `TokenType`, and `Token` [INFO] [stdout] --> src/frontend/lexer/mod.rs:180:17 [INFO] [stdout] | [INFO] [stdout] 180 | use super::{Lexer, Token, TokenType}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::frontend::lexer::Lexer` [INFO] [stdout] --> src/frontend/parser/mod.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | use crate::frontend::lexer::Lexer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/frontend/parser/mod.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lexer` is never constructed [INFO] [stdout] --> src/frontend/lexer/mod.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Lexer<'a> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/frontend/lexer/mod.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl<'a> Lexer<'a> { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 26 | pub fn new(source: &'a str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn tokenize(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | fn next_token(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | fn next_kind(&mut self) -> Option<(TokenType, String)> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | fn offset(&self) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | fn cur(&self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | fn next(&mut self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_number` is never used [INFO] [stdout] --> src/frontend/lexer/mod.rs:171:4 [INFO] [stdout] | [INFO] [stdout] 171 | fn is_number(c: char) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_ident` is never used [INFO] [stdout] --> src/frontend/lexer/mod.rs:175:4 [INFO] [stdout] | [INFO] [stdout] 175 | fn is_ident(c: char) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/frontend/lexer/token.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub enum TokenType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 3 | Number, // 数字 [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 4 | Identifier, // 标识符 [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 5 | Equals, // = [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 6 | Semicolon, // ; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 7 | Commoa, // , [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 8 | Colon, // : [INFO] [stdout] | ^^^^^ [INFO] [stdout] 9 | Dot, // . [INFO] [stdout] | ^^^ [INFO] [stdout] 10 | OpenParen, // ( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 11 | CloseParen, // ) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 12 | OpenBrace, // { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 13 | CloseBarce, // } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 14 | OpenBracket, // [ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 15 | CloseBracket, // ] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 16 | BinaryOperator, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | EOF, // 文件结束标识 [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/frontend/lexer/token.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Token { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 37 | pub fn new(kind: TokenType, value: impl Into, start: usize, end: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parser` is never constructed [INFO] [stdout] --> src/frontend/parser/mod.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Parser { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/frontend/parser/mod.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Parser { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 15 | pub fn new(tokens: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | fn not_eof(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | fn at(&self) -> &Token { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 29 | fn eat(&mut self) -> Token { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | fn expect(&self, kind: TokenType, err: &str) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn parse(&mut self) -> Statement { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | fn parse_statement(&mut self) -> Statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | fn parse_expression(&mut self) -> Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | fn parse_assignment_expression(&mut self) -> Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | fn parse_additive_expression(&mut self) -> Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | fn parse_multiplicitave_expression(&mut self) -> Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | fn parse_primary_expression(&mut self) -> Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NodeType` is never used [INFO] [stdout] --> src/frontend/parser/ast.rs:2:10 [INFO] [stdout] | [INFO] [stdout] 2 | pub enum NodeType { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodeType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Statement` is never used [INFO] [stdout] --> src/frontend/parser/ast.rs:20:10 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum Statement { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Program` is never constructed [INFO] [stdout] --> src/frontend/parser/ast.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct Program { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Program` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `append` are never used [INFO] [stdout] --> src/frontend/parser/ast.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl Program { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 36 | pub fn new(start: usize, end: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn append(&mut self, stmt: Statement) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlockStatement` is never constructed [INFO] [stdout] --> src/frontend/parser/ast.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct BlockStatement { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BlockStatement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `append` are never used [INFO] [stdout] --> src/frontend/parser/ast.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 57 | impl BlockStatement { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 58 | pub fn new(start: usize, end: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn append(&mut self, stmt: Statement) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Declaration` is never used [INFO] [stdout] --> src/frontend/parser/ast.rs:72:10 [INFO] [stdout] | [INFO] [stdout] 72 | pub enum Declaration { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Declaration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VarDeclaration` is never constructed [INFO] [stdout] --> src/frontend/parser/ast.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct VarDeclaration { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VarDeclaration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/frontend/parser/ast.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 86 | impl VarDeclaration { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] 87 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FunctionDeclaration` is never constructed [INFO] [stdout] --> src/frontend/parser/ast.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct FunctionDeclaration { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FunctionDeclaration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/frontend/parser/ast.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 115 | impl FunctionDeclaration { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] 116 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Expression` is never used [INFO] [stdout] --> src/frontend/parser/ast.rs:135:10 [INFO] [stdout] | [INFO] [stdout] 135 | pub enum Expression { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AssignmentExpression` is never constructed [INFO] [stdout] --> src/frontend/parser/ast.rs:147:12 [INFO] [stdout] | [INFO] [stdout] 147 | pub struct AssignmentExpression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AssignmentExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/frontend/parser/ast.rs:156:12 [INFO] [stdout] | [INFO] [stdout] 155 | impl AssignmentExpression { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] 156 | pub fn new(assinge: Expression, value: Expression, start: usize, end: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BinaryExpression` is never constructed [INFO] [stdout] --> src/frontend/parser/ast.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 168 | pub struct BinaryExpression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BinaryExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/frontend/parser/ast.rs:178:12 [INFO] [stdout] | [INFO] [stdout] 177 | impl BinaryExpression { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 178 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemberExpression` is never constructed [INFO] [stdout] --> src/frontend/parser/ast.rs:197:12 [INFO] [stdout] | [INFO] [stdout] 197 | pub struct MemberExpression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MemberExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/frontend/parser/ast.rs:206:12 [INFO] [stdout] | [INFO] [stdout] 205 | impl MemberExpression { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 206 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CallExpression` is never constructed [INFO] [stdout] --> src/frontend/parser/ast.rs:225:12 [INFO] [stdout] | [INFO] [stdout] 225 | pub struct CallExpression { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CallExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/frontend/parser/ast.rs:234:12 [INFO] [stdout] | [INFO] [stdout] 233 | impl CallExpression { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] 234 | pub fn new(caller: Expression, args: Vec, start: usize, end: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Identifier` is never constructed [INFO] [stdout] --> src/frontend/parser/ast.rs:246:12 [INFO] [stdout] | [INFO] [stdout] 246 | pub struct Identifier { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Identifier` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/frontend/parser/ast.rs:254:12 [INFO] [stdout] | [INFO] [stdout] 253 | impl Identifier { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 254 | pub fn new(symbol: String, start: usize, end: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Property` is never constructed [INFO] [stdout] --> src/frontend/parser/ast.rs:265:12 [INFO] [stdout] | [INFO] [stdout] 265 | pub struct Property { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Property` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/frontend/parser/ast.rs:274:12 [INFO] [stdout] | [INFO] [stdout] 273 | impl Property { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 274 | pub fn new(key: Identifier, value: Option, start: usize, end: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ObjectLiteral` is never constructed [INFO] [stdout] --> src/frontend/parser/ast.rs:286:12 [INFO] [stdout] | [INFO] [stdout] 286 | pub struct ObjectLiteral { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ObjectLiteral` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/frontend/parser/ast.rs:294:12 [INFO] [stdout] | [INFO] [stdout] 293 | impl ObjectLiteral { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 294 | pub fn new(properties: Vec, start: usize, end: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NumbericLiteral` is never constructed [INFO] [stdout] --> src/frontend/parser/ast.rs:305:12 [INFO] [stdout] | [INFO] [stdout] 305 | pub struct NumbericLiteral { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NumbericLiteral` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/frontend/parser/ast.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 312 | impl NumbericLiteral { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 313 | pub fn new(value: i64, start: usize, end: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> src/frontend/lexer/mod.rs:27:17 [INFO] [stdout] | [INFO] [stdout] 27 | let mut L = Self { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.93s [INFO] running `Command { std: "docker" "inspect" "8c13cd7b63a187a4b76485c0dbdb93ae635dbf1203924ca9c84af01beff673ba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8c13cd7b63a187a4b76485c0dbdb93ae635dbf1203924ca9c84af01beff673ba", kill_on_drop: false }` [INFO] [stdout] 8c13cd7b63a187a4b76485c0dbdb93ae635dbf1203924ca9c84af01beff673ba [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 94ad94e02386a1405f433771760379b0866574e44a0418738c39591dfafcca29 [INFO] running `Command { std: "docker" "start" "-a" "94ad94e02386a1405f433771760379b0866574e44a0418738c39591dfafcca29", kill_on_drop: false }` [INFO] [stderr] Compiling customlang-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Token` [INFO] [stdout] --> src/frontend/lexer/mod.rs:180:24 [INFO] [stdout] | [INFO] [stdout] 180 | use super::{Lexer, Token, TokenType}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `CloseBarce` is never constructed [INFO] [stdout] --> src/frontend/lexer/token.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub enum TokenType { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 13 | CloseBarce, // } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/frontend/parser/ast.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub enum NodeType { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 5 | VarDeclaration, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 6 | FunctionDeclaration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | BlockStatement, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | MemberExpression, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | CallExpression, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | Identifier, [INFO] [stdout] 14 | Property, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 15 | ObjectLiteral, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodeType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/frontend/parser/ast.rs:21:13 [INFO] [stdout] | [INFO] [stdout] 21 | Program(Program), [INFO] [stdout] | ------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are 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] 21 | Program(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/frontend/parser/ast.rs:24:16 [INFO] [stdout] | [INFO] [stdout] 24 | Expression(Expression), [INFO] [stdout] | ---------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are 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] 24 | Expression(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `BlockStatement` and `Declaration` are never constructed [INFO] [stdout] --> src/frontend/parser/ast.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum Statement { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 21 | Program(Program), [INFO] [stdout] 22 | BlockStatement(BlockStatement), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 23 | Declaration(Declaration), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `kind`, `start`, and `end` are never read [INFO] [stdout] --> src/frontend/parser/ast.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct Program { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 29 | pub kind: NodeType, [INFO] [stdout] | ^^^^ [INFO] [stdout] 30 | pub start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 31 | pub end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Program` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `kind`, `start`, `end`, and `body` are never read [INFO] [stdout] --> src/frontend/parser/ast.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct BlockStatement { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 51 | kind: NodeType, [INFO] [stdout] | ^^^^ [INFO] [stdout] 52 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 53 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 54 | body: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BlockStatement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `append` are never used [INFO] [stdout] --> src/frontend/parser/ast.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 57 | impl BlockStatement { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 58 | pub fn new(start: usize, end: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn append(&mut self, stmt: Statement) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Var` and `Function` are never constructed [INFO] [stdout] --> src/frontend/parser/ast.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 72 | pub enum Declaration { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 73 | Var(VarDeclaration), [INFO] [stdout] | ^^^ [INFO] [stdout] 74 | Function(FunctionDeclaration), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Declaration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `kind`, `constant`, `identifier`, `value`, `start`, and `end` are never read [INFO] [stdout] --> src/frontend/parser/ast.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct VarDeclaration { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 78 | kind: NodeType, [INFO] [stdout] | ^^^^ [INFO] [stdout] 79 | constant: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 80 | identifier: Identifier, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 81 | value: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 82 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 83 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VarDeclaration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/frontend/parser/ast.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 86 | impl VarDeclaration { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] 87 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `kind`, `parameters`, `name`, `body`, `start`, and `end` are never read [INFO] [stdout] --> src/frontend/parser/ast.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct FunctionDeclaration { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 107 | kind: NodeType, [INFO] [stdout] | ^^^^ [INFO] [stdout] 108 | parameters: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 109 | name: Identifier, [INFO] [stdout] | ^^^^ [INFO] [stdout] 110 | body: BlockStatement, [INFO] [stdout] | ^^^^ [INFO] [stdout] 111 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 112 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FunctionDeclaration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/frontend/parser/ast.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 115 | impl FunctionDeclaration { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] 116 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/frontend/parser/ast.rs:136:16 [INFO] [stdout] | [INFO] [stdout] 136 | Assignment(Box), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has derived impls for the traits `Clone` and `Debug`, but these are 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] 136 | Assignment(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/frontend/parser/ast.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 137 | Binary(Box), [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has derived impls for the traits `Clone` and `Debug`, but these are 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] 137 | Binary(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/frontend/parser/ast.rs:140:16 [INFO] [stdout] | [INFO] [stdout] 140 | Identifier(Box), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has derived impls for the traits `Clone` and `Debug`, but these are 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] 140 | Identifier(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/frontend/parser/ast.rs:143:21 [INFO] [stdout] | [INFO] [stdout] 143 | NumbericLiteral(Box), [INFO] [stdout] | --------------- ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 143 | NumbericLiteral(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Member`, `Call`, `Property`, and `ObjectLiteral` are never constructed [INFO] [stdout] --> src/frontend/parser/ast.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 135 | pub enum Expression { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 138 | Member(Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 139 | Call(Box), [INFO] [stdout] | ^^^^ [INFO] [stdout] 140 | Identifier(Box), [INFO] [stdout] 141 | Property(Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 142 | ObjectLiteral(Box), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `kind`, `assinge`, `value`, `start`, and `end` are never read [INFO] [stdout] --> src/frontend/parser/ast.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 147 | pub struct AssignmentExpression { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] 148 | kind: NodeType, [INFO] [stdout] | ^^^^ [INFO] [stdout] 149 | assinge: Expression, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 150 | value: Expression, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 151 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 152 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AssignmentExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `kind`, `left`, `right`, `operator`, `start`, and `end` are never read [INFO] [stdout] --> src/frontend/parser/ast.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 168 | pub struct BinaryExpression { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 169 | kind: NodeType, [INFO] [stdout] | ^^^^ [INFO] [stdout] 170 | left: Expression, [INFO] [stdout] | ^^^^ [INFO] [stdout] 171 | right: Expression, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 172 | operator: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 173 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 174 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BinaryExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `kind`, `object`, `property`, `computed`, `start`, and `end` are never read [INFO] [stdout] --> src/frontend/parser/ast.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 197 | pub struct MemberExpression { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 198 | kind: NodeType, [INFO] [stdout] | ^^^^ [INFO] [stdout] 199 | object: Expression, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 200 | property: Expression, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 201 | computed: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 202 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 203 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MemberExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/frontend/parser/ast.rs:206:12 [INFO] [stdout] | [INFO] [stdout] 205 | impl MemberExpression { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 206 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `kind`, `caller`, `arguments`, `start`, and `end` are never read [INFO] [stdout] --> src/frontend/parser/ast.rs:226:5 [INFO] [stdout] | [INFO] [stdout] 225 | pub struct CallExpression { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 226 | kind: NodeType, [INFO] [stdout] | ^^^^ [INFO] [stdout] 227 | caller: Expression, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 228 | arguments: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 229 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 230 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CallExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/frontend/parser/ast.rs:234:12 [INFO] [stdout] | [INFO] [stdout] 233 | impl CallExpression { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] 234 | pub fn new(caller: Expression, args: Vec, start: usize, end: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `kind`, `symbol`, `start`, and `end` are never read [INFO] [stdout] --> src/frontend/parser/ast.rs:247:5 [INFO] [stdout] | [INFO] [stdout] 246 | pub struct Identifier { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 247 | kind: NodeType, [INFO] [stdout] | ^^^^ [INFO] [stdout] 248 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 249 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 250 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Identifier` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `kind`, `key`, `value`, `start`, and `end` are never read [INFO] [stdout] --> src/frontend/parser/ast.rs:266:5 [INFO] [stdout] | [INFO] [stdout] 265 | pub struct Property { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 266 | kind: NodeType, [INFO] [stdout] | ^^^^ [INFO] [stdout] 267 | key: Identifier, [INFO] [stdout] | ^^^ [INFO] [stdout] 268 | value: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 269 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 270 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Property` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/frontend/parser/ast.rs:274:12 [INFO] [stdout] | [INFO] [stdout] 273 | impl Property { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 274 | pub fn new(key: Identifier, value: Option, start: usize, end: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `kind`, `properties`, `start`, and `end` are never read [INFO] [stdout] --> src/frontend/parser/ast.rs:287:5 [INFO] [stdout] | [INFO] [stdout] 286 | pub struct ObjectLiteral { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 287 | kind: NodeType, [INFO] [stdout] | ^^^^ [INFO] [stdout] 288 | properties: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 289 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 290 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ObjectLiteral` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/frontend/parser/ast.rs:294:12 [INFO] [stdout] | [INFO] [stdout] 293 | impl ObjectLiteral { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 294 | pub fn new(properties: Vec, start: usize, end: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `kind`, `value`, `start`, and `end` are never read [INFO] [stdout] --> src/frontend/parser/ast.rs:306:5 [INFO] [stdout] | [INFO] [stdout] 305 | pub struct NumbericLiteral { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 306 | kind: NodeType, [INFO] [stdout] | ^^^^ [INFO] [stdout] 307 | value: i64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 308 | start: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 309 | end: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NumbericLiteral` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> src/frontend/lexer/mod.rs:27:17 [INFO] [stdout] | [INFO] [stdout] 27 | let mut L = Self { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.58s [INFO] running `Command { std: "docker" "inspect" "94ad94e02386a1405f433771760379b0866574e44a0418738c39591dfafcca29", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "94ad94e02386a1405f433771760379b0866574e44a0418738c39591dfafcca29", kill_on_drop: false }` [INFO] [stdout] 94ad94e02386a1405f433771760379b0866574e44a0418738c39591dfafcca29