[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] testing hubvue/customlang-rs against try#6c5b2f071bf9fe3a4b05942f31d42d076171aa61 for pr-115315-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhubvue%2Fcustomlang-rs" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/hubvue/customlang-rs on toolchain 6c5b2f071bf9fe3a4b05942f31d42d076171aa61 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6c5b2f071bf9fe3a4b05942f31d42d076171aa61" "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-7-tc2/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" "+6c5b2f071bf9fe3a4b05942f31d42d076171aa61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f5e78b491441a5b9644e276a59809eedfadf4ee1de96655588122b3a64cb522c" "/opt/rustwide/cargo-home/bin/cargo" "+6c5b2f071bf9fe3a4b05942f31d42d076171aa61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 42465744db45b935e55116b1f465643de69ca705ced00d9f2adef769011bd5c4 [INFO] running `Command { std: "docker" "start" "-a" "42465744db45b935e55116b1f465643de69ca705ced00d9f2adef769011bd5c4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "42465744db45b935e55116b1f465643de69ca705ced00d9f2adef769011bd5c4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "42465744db45b935e55116b1f465643de69ca705ced00d9f2adef769011bd5c4", kill_on_drop: false }` [INFO] [stdout] 42465744db45b935e55116b1f465643de69ca705ced00d9f2adef769011bd5c4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f5e78b491441a5b9644e276a59809eedfadf4ee1de96655588122b3a64cb522c" "/opt/rustwide/cargo-home/bin/cargo" "+6c5b2f071bf9fe3a4b05942f31d42d076171aa61" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8d6b7b9a8738db41b60a2f8ca950bf918b8affe605058bb28cbe0aa0af279257 [INFO] running `Command { std: "docker" "start" "-a" "8d6b7b9a8738db41b60a2f8ca950bf918b8affe605058bb28cbe0aa0af279257", kill_on_drop: false }` [INFO] [stderr] Compiling anyhow v1.0.69 [INFO] [stderr] Compiling customlang-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Lexer`, `TokenType`, `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: multiple variants are never constructed [INFO] [stdout] --> src/frontend/parser/ast.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub enum NodeType { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 3 | // STATEMENTS [INFO] [stdout] 4 | Program, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 5 | VarDeclaration, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 6 | FunctionDeclaration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | BlockStatement, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 8 | // EXPRESSIONS [INFO] [stdout] 9 | AssignmentExpression, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | BinaryExpression, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | MemberExpression, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | CallExpression, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | Identifier, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 14 | Property, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 15 | ObjectLiteral, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 16 | NumbericLiteral, [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: variants `Program`, `BlockStatement`, `Declaration`, and `Expression` are never constructed [INFO] [stdout] --> src/frontend/parser/ast.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum Statement { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 21 | Program(Program), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 22 | BlockStatement(BlockStatement), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 23 | Declaration(Declaration), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 24 | Expression(Expression), [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: 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: 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: multiple variants are never constructed [INFO] [stdout] --> src/frontend/parser/ast.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 135 | pub enum Expression { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 136 | Assignment(Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 137 | Binary(Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 138 | Member(Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 139 | Call(Box), [INFO] [stdout] | ^^^^ [INFO] [stdout] 140 | Identifier(Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 141 | Property(Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 142 | ObjectLiteral(Box), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 143 | NumbericLiteral(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: 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: 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: 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: 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: 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: 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: 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] [stdout] warning: 39 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.54s [INFO] running `Command { std: "docker" "inspect" "8d6b7b9a8738db41b60a2f8ca950bf918b8affe605058bb28cbe0aa0af279257", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8d6b7b9a8738db41b60a2f8ca950bf918b8affe605058bb28cbe0aa0af279257", kill_on_drop: false }` [INFO] [stdout] 8d6b7b9a8738db41b60a2f8ca950bf918b8affe605058bb28cbe0aa0af279257 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f5e78b491441a5b9644e276a59809eedfadf4ee1de96655588122b3a64cb522c" "/opt/rustwide/cargo-home/bin/cargo" "+6c5b2f071bf9fe3a4b05942f31d42d076171aa61" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f66645e4f276cabaf0255223e5318146a89fcdcbf60da12928cd6476c03b85ae [INFO] running `Command { std: "docker" "start" "-a" "f66645e4f276cabaf0255223e5318146a89fcdcbf60da12928cd6476c03b85ae", 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: 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`, `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: 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] [stdout] warning: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.81s [INFO] running `Command { std: "docker" "inspect" "f66645e4f276cabaf0255223e5318146a89fcdcbf60da12928cd6476c03b85ae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f66645e4f276cabaf0255223e5318146a89fcdcbf60da12928cd6476c03b85ae", kill_on_drop: false }` [INFO] [stdout] f66645e4f276cabaf0255223e5318146a89fcdcbf60da12928cd6476c03b85ae [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f5e78b491441a5b9644e276a59809eedfadf4ee1de96655588122b3a64cb522c" "/opt/rustwide/cargo-home/bin/cargo" "+6c5b2f071bf9fe3a4b05942f31d42d076171aa61" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 6fe38ffdf09e12431e67f13d2bfa31a77526ab58bac1ee2b6b04558c71d3037a [INFO] running `Command { std: "docker" "start" "-a" "6fe38ffdf09e12431e67f13d2bfa31a77526ab58bac1ee2b6b04558c71d3037a", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `Token` [INFO] [stderr] --> src/frontend/lexer/mod.rs:180:24 [INFO] [stderr] | [INFO] [stderr] 180 | use super::{Lexer, Token, TokenType}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `CloseBarce` is never constructed [INFO] [stderr] --> src/frontend/lexer/token.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum TokenType { [INFO] [stderr] | --------- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 13 | CloseBarce, // } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `TokenType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: multiple variants are never constructed [INFO] [stderr] --> src/frontend/parser/ast.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum NodeType { [INFO] [stderr] | -------- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 5 | VarDeclaration, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 6 | FunctionDeclaration, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 7 | BlockStatement, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 11 | MemberExpression, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] 12 | CallExpression, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 13 | Identifier, [INFO] [stderr] 14 | Property, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 15 | ObjectLiteral, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `NodeType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variants `BlockStatement` and `Declaration` are never constructed [INFO] [stderr] --> src/frontend/parser/ast.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 20 | pub enum Statement { [INFO] [stderr] | --------- variants in this enum [INFO] [stderr] 21 | Program(Program), [INFO] [stderr] 22 | BlockStatement(BlockStatement), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 23 | Declaration(Declaration), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `kind`, `start`, `end`, and `body` are never read [INFO] [stderr] --> src/frontend/parser/ast.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 50 | pub struct BlockStatement { [INFO] [stderr] | -------------- fields in this struct [INFO] [stderr] 51 | kind: NodeType, [INFO] [stderr] | ^^^^ [INFO] [stderr] 52 | start: usize, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 53 | end: usize, [INFO] [stderr] | ^^^ [INFO] [stderr] 54 | body: Vec, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `BlockStatement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated items `new` and `append` are never used [INFO] [stderr] --> src/frontend/parser/ast.rs:58:12 [INFO] [stderr] | [INFO] [stderr] 57 | impl BlockStatement { [INFO] [stderr] | ------------------- associated items in this implementation [INFO] [stderr] 58 | pub fn new(start: usize, end: usize) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 66 | pub fn append(&mut self, stmt: Statement) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `Var` and `Function` are never constructed [INFO] [stderr] --> src/frontend/parser/ast.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 72 | pub enum Declaration { [INFO] [stderr] | ----------- variants in this enum [INFO] [stderr] 73 | Var(VarDeclaration), [INFO] [stderr] | ^^^ [INFO] [stderr] 74 | Function(FunctionDeclaration), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Declaration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `kind`, `constant`, `identifier`, `value`, `start`, and `end` are never read [INFO] [stderr] --> src/frontend/parser/ast.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 77 | pub struct VarDeclaration { [INFO] [stderr] | -------------- fields in this struct [INFO] [stderr] 78 | kind: NodeType, [INFO] [stderr] | ^^^^ [INFO] [stderr] 79 | constant: bool, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 80 | identifier: Identifier, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 81 | value: Option, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 82 | start: usize, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 83 | end: usize, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `VarDeclaration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/frontend/parser/ast.rs:87:12 [INFO] [stderr] | [INFO] [stderr] 86 | impl VarDeclaration { [INFO] [stderr] | ------------------- associated function in this implementation [INFO] [stderr] 87 | pub fn new( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `kind`, `parameters`, `name`, `body`, `start`, and `end` are never read [INFO] [stderr] --> src/frontend/parser/ast.rs:107:5 [INFO] [stderr] | [INFO] [stderr] 106 | pub struct FunctionDeclaration { [INFO] [stderr] | ------------------- fields in this struct [INFO] [stderr] 107 | kind: NodeType, [INFO] [stderr] | ^^^^ [INFO] [stderr] 108 | parameters: Vec, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 109 | name: Identifier, [INFO] [stderr] | ^^^^ [INFO] [stderr] 110 | body: BlockStatement, [INFO] [stderr] | ^^^^ [INFO] [stderr] 111 | start: usize, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 112 | end: usize, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `FunctionDeclaration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/frontend/parser/ast.rs:116:12 [INFO] [stderr] | [INFO] [stderr] 115 | impl FunctionDeclaration { [INFO] [stderr] | ------------------------ associated function in this implementation [INFO] [stderr] 116 | pub fn new( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `Member`, `Call`, `Property`, and `ObjectLiteral` are never constructed [INFO] [stderr] --> src/frontend/parser/ast.rs:138:5 [INFO] [stderr] | [INFO] [stderr] 135 | pub enum Expression { [INFO] [stderr] | ---------- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 138 | Member(Box), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 139 | Call(Box), [INFO] [stderr] | ^^^^ [INFO] [stderr] 140 | Identifier(Box), [INFO] [stderr] 141 | Property(Box), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 142 | ObjectLiteral(Box), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Expression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `kind`, `assinge`, `value`, `start`, and `end` are never read [INFO] [stderr] --> src/frontend/parser/ast.rs:148:5 [INFO] [stderr] | [INFO] [stderr] 147 | pub struct AssignmentExpression { [INFO] [stderr] | -------------------- fields in this struct [INFO] [stderr] 148 | kind: NodeType, [INFO] [stderr] | ^^^^ [INFO] [stderr] 149 | assinge: Expression, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 150 | value: Expression, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 151 | start: usize, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 152 | end: usize, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `AssignmentExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `kind`, `left`, `right`, `operator`, `start`, and `end` are never read [INFO] [stderr] --> src/frontend/parser/ast.rs:169:5 [INFO] [stderr] | [INFO] [stderr] 168 | pub struct BinaryExpression { [INFO] [stderr] | ---------------- fields in this struct [INFO] [stderr] 169 | kind: NodeType, [INFO] [stderr] | ^^^^ [INFO] [stderr] 170 | left: Expression, [INFO] [stderr] | ^^^^ [INFO] [stderr] 171 | right: Expression, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 172 | operator: String, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 173 | start: usize, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 174 | end: usize, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `BinaryExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `kind`, `object`, `property`, `computed`, `start`, and `end` are never read [INFO] [stderr] --> src/frontend/parser/ast.rs:198:5 [INFO] [stderr] | [INFO] [stderr] 197 | pub struct MemberExpression { [INFO] [stderr] | ---------------- fields in this struct [INFO] [stderr] 198 | kind: NodeType, [INFO] [stderr] | ^^^^ [INFO] [stderr] 199 | object: Expression, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 200 | property: Expression, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 201 | computed: bool, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 202 | start: usize, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 203 | end: usize, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `MemberExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/frontend/parser/ast.rs:206:12 [INFO] [stderr] | [INFO] [stderr] 205 | impl MemberExpression { [INFO] [stderr] | --------------------- associated function in this implementation [INFO] [stderr] 206 | pub fn new( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `kind`, `caller`, `arguments`, `start`, and `end` are never read [INFO] [stderr] --> src/frontend/parser/ast.rs:226:5 [INFO] [stderr] | [INFO] [stderr] 225 | pub struct CallExpression { [INFO] [stderr] | -------------- fields in this struct [INFO] [stderr] 226 | kind: NodeType, [INFO] [stderr] | ^^^^ [INFO] [stderr] 227 | caller: Expression, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 228 | arguments: Vec, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 229 | start: usize, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 230 | end: usize, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `CallExpression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/frontend/parser/ast.rs:234:12 [INFO] [stderr] | [INFO] [stderr] 233 | impl CallExpression { [INFO] [stderr] | ------------------- associated function in this implementation [INFO] [stderr] 234 | pub fn new(caller: Expression, args: Vec, start: usize, end: usize) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `kind`, `symbol`, `start`, and `end` are never read [INFO] [stderr] --> src/frontend/parser/ast.rs:247:5 [INFO] [stderr] | [INFO] [stderr] 246 | pub struct Identifier { [INFO] [stderr] | ---------- fields in this struct [INFO] [stderr] 247 | kind: NodeType, [INFO] [stderr] | ^^^^ [INFO] [stderr] 248 | symbol: String, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 249 | start: usize, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 250 | end: usize, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Identifier` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `kind`, `key`, `value`, `start`, and `end` are never read [INFO] [stderr] --> src/frontend/parser/ast.rs:266:5 [INFO] [stderr] | [INFO] [stderr] 265 | pub struct Property { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] 266 | kind: NodeType, [INFO] [stderr] | ^^^^ [INFO] [stderr] 267 | key: Identifier, [INFO] [stderr] | ^^^ [INFO] [stderr] 268 | value: Option, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 269 | start: usize, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 270 | end: usize, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Property` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/frontend/parser/ast.rs:274:12 [INFO] [stderr] | [INFO] [stderr] 273 | impl Property { [INFO] [stderr] | ------------- associated function in this implementation [INFO] [stderr] 274 | pub fn new(key: Identifier, value: Option, start: usize, end: usize) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `kind`, `properties`, `start`, and `end` are never read [INFO] [stderr] --> src/frontend/parser/ast.rs:287:5 [INFO] [stderr] | [INFO] [stderr] 286 | pub struct ObjectLiteral { [INFO] [stderr] | ------------- fields in this struct [INFO] [stderr] 287 | kind: NodeType, [INFO] [stderr] | ^^^^ [INFO] [stderr] 288 | properties: Vec, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 289 | start: usize, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 290 | end: usize, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ObjectLiteral` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/frontend/parser/ast.rs:294:12 [INFO] [stderr] | [INFO] [stderr] 293 | impl ObjectLiteral { [INFO] [stderr] | ------------------ associated function in this implementation [INFO] [stderr] 294 | pub fn new(properties: Vec, start: usize, end: usize) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `kind`, `value`, `start`, and `end` are never read [INFO] [stderr] --> src/frontend/parser/ast.rs:306:5 [INFO] [stderr] | [INFO] [stderr] 305 | pub struct NumbericLiteral { [INFO] [stderr] | --------------- fields in this struct [INFO] [stderr] 306 | kind: NodeType, [INFO] [stderr] | ^^^^ [INFO] [stderr] 307 | value: i64, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 308 | start: usize, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 309 | end: usize, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `NumbericLiteral` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variable `L` should have a snake case name [INFO] [stderr] --> src/frontend/lexer/mod.rs:27:17 [INFO] [stderr] | [INFO] [stderr] 27 | let mut L = Self { [INFO] [stderr] | ^ help: convert the identifier to snake case: `l` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `customlang-rs` (bin "customlang-rs" test) generated 25 warnings (run `cargo fix --bin "customlang-rs" --tests` to apply 1 suggestion) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.01s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/customlang_rs-2d9f970f185112df) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test frontend::lexer::test::test_const ... ok [INFO] [stdout] test frontend::lexer::test::test_let ... ok [INFO] [stdout] test frontend::lexer::test::test_if ... ok [INFO] [stdout] test frontend::lexer::test::test_for ... ok [INFO] [stdout] test frontend::lexer::test::test_fn ... ok [INFO] [stdout] test frontend::lexer::test::test_while ... ok [INFO] [stdout] test frontend::lexer::test::test ... ok [INFO] [stdout] test frontend::parser::test::test_assignment_expression ... ok [INFO] [stdout] test frontend::parser::test::test ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "6fe38ffdf09e12431e67f13d2bfa31a77526ab58bac1ee2b6b04558c71d3037a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6fe38ffdf09e12431e67f13d2bfa31a77526ab58bac1ee2b6b04558c71d3037a", kill_on_drop: false }` [INFO] [stdout] 6fe38ffdf09e12431e67f13d2bfa31a77526ab58bac1ee2b6b04558c71d3037a