[INFO] cloning repository https://github.com/ragnarrlaw/rs-arc-interpreter [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ragnarrlaw/rs-arc-interpreter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fragnarrlaw%2Frs-arc-interpreter", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fragnarrlaw%2Frs-arc-interpreter'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 87986e7353e250f00f33b4f451f8e74eed170507 [INFO] testing ragnarrlaw/rs-arc-interpreter against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fragnarrlaw%2Frs-arc-interpreter" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ragnarrlaw/rs-arc-interpreter [INFO] finished tweaking git repo https://github.com/ragnarrlaw/rs-arc-interpreter [INFO] tweaked toml for git repo https://github.com/ragnarrlaw/rs-arc-interpreter written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ragnarrlaw/rs-arc-interpreter on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/ragnarrlaw/rs-arc-interpreter 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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c3d6970ebde7f1282cbc5573916bf68a33006e64cc9571933425a4cd09338604 [INFO] running `Command { std: "docker" "start" "-a" "c3d6970ebde7f1282cbc5573916bf68a33006e64cc9571933425a4cd09338604", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c3d6970ebde7f1282cbc5573916bf68a33006e64cc9571933425a4cd09338604", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c3d6970ebde7f1282cbc5573916bf68a33006e64cc9571933425a4cd09338604", kill_on_drop: false }` [INFO] [stdout] c3d6970ebde7f1282cbc5573916bf68a33006e64cc9571933425a4cd09338604 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] db5ee8fc5e8b1ca569e2b18850200a71cfd6bb22f8673b2b3c53666949f500fa [INFO] running `Command { std: "docker" "start" "-a" "db5ee8fc5e8b1ca569e2b18850200a71cfd6bb22f8673b2b3c53666949f500fa", kill_on_drop: false }` [INFO] [stderr] Compiling rs-arc-lang v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `stmt` [INFO] [stdout] --> src/semantic_analyzer/mod.rs:132:37 [INFO] [stdout] | [INFO] [stdout] 132 | fn analyze_statement(&mut self, stmt: &Statement) -> Result> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_stmt` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/semantic_analyzer/mod.rs:136:38 [INFO] [stdout] | [INFO] [stdout] 136 | fn analyze_expression(&mut self, expr: &Expression) -> Result> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Construct` is never constructed [INFO] [stdout] --> src/error/context.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Construct { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/error/context.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Construct { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 10 | pub fn new(span: Span, msg: Option) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Context` is never constructed [INFO] [stdout] --> src/error/context.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Context(pub Vec); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push`, and `pop` are never used [INFO] [stdout] --> src/error/context.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Context { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 22 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn push(&mut self, span: Span, msg: Option) -> () { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `context`, `span`, and `help` are never used [INFO] [stdout] --> src/error/diagnostic.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait Diagnostic: fmt::Debug { [INFO] [stdout] | ---------- methods in this trait [INFO] [stdout] 8 | fn context(&self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | fn span(&self) -> Span; [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | fn help(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `InterpreterError` is never used [INFO] [stdout] --> src/error/interpreter_error.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum InterpreterError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `LexerError` is never used [INFO] [stdout] --> src/error/lexer_error.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum LexerError { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ParserError` is never used [INFO] [stdout] --> src/error/parser_error.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum ParserError { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SemanticError` is never constructed [INFO] [stdout] --> src/error/semantic_error.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct SemanticError { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SemanticErrorType` is never used [INFO] [stdout] --> src/error/semantic_error.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum SemanticErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/error/semantic_error.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl SemanticError { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 37 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Report` is never constructed [INFO] [stdout] --> src/error/report.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Report<'a> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/error/report.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl<'a> Report<'a> { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] 12 | pub fn new(source: &'a str, line_map: LineMap, diagnostic: &'a dyn Diagnostic) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lexer` is never constructed [INFO] [stdout] --> src/lexer/mod.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Lexer<'a> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/lexer/mod.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl<'a> Lexer<'a> { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 21 | pub fn new(source: &'a str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | fn advance(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn next_token(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | fn peek_char(&mut self) -> Option<(usize, char)> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | fn skip_whitespaces(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | fn read_operator(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | fn read_two_char_operator( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | fn read_punctuation(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | fn read_string(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | fn read_char(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | fn read_number(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | fn read_word(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 350 | fn read_eof(&mut self) -> Option> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 365 | fn read_illegal(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Span` is never constructed [INFO] [stdout] --> src/lexer/span.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Span { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/lexer/span.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Span { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 12 | pub fn default() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenType` is never used [INFO] [stdout] --> src/lexer/token.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Token` is never constructed [INFO] [stdout] --> src/lexer/token.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 54 | pub struct Token<'a> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/lexer/token.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl<'a> Token<'a> { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 61 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LineMap` is never constructed [INFO] [stdout] --> src/line_map/mod.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct LineMap { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get_position` are never used [INFO] [stdout] --> src/line_map/mod.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl LineMap { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 8 | pub fn new(source: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn get_position(&self, byte_pos: usize) -> Option<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ParsePrefixFn` is never used [INFO] [stdout] --> src/parser/mod.rs:17:6 [INFO] [stdout] | [INFO] [stdout] 17 | type ParsePrefixFn<'a> = fn(&mut Parser<'a>) -> Result, Box>; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ParseInfixFn` is never used [INFO] [stdout] --> src/parser/mod.rs:18:6 [INFO] [stdout] | [INFO] [stdout] 18 | type ParseInfixFn<'a> = fn( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ParsePostfixFn` is never used [INFO] [stdout] --> src/parser/mod.rs:22:6 [INFO] [stdout] | [INFO] [stdout] 22 | type ParsePostfixFn<'a> = fn( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parser` is never constructed [INFO] [stdout] --> src/parser/mod.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | struct Parser<'a> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/parser/mod.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl<'a> Parser<'a> { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 35 | pub fn new(lexer: &'a mut Lexer<'a>) -> Result> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | fn advance(&mut self) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn parse_program(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn parse_statement(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | fn parse_let_statement(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | fn parse_return_statement(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | fn parse_expression_statement(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | fn parse_fn_definition(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | fn parse_expression( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 336 | fn parse_prefix_expression(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | fn parse_infix_expression( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 409 | fn parse_postfix_expression( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 442 | fn parse_grouped_expression(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 472 | fn parse_if_expression(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 581 | fn parse_block_expression(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 650 | fn parse_fn_literal(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 724 | fn parse_fn_call( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 760 | fn curr_token_is(&self, t_type: TokenType) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 765 | fn peek_token_is(&self, t_type: TokenType) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 770 | fn check_peek_token_and_advance( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 786 | fn sync(&mut self, sync_tokens: &[TokenType]) -> Result<(), Box> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 803 | fn read_function_params(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 842 | fn read_function_args(&mut self) -> Result>, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 858 | fn get_prefix_parse_fn(token_type: TokenType) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 877 | fn get_infix_parse_fn(token_type: TokenType) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 898 | fn get_postfix_parse_fn(token_type: TokenType) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 905 | fn parse_identifier(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 912 | fn parse_number_literal(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 926 | fn parse_boolean_literal(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 946 | fn parse_string_literal(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 955 | fn parse_char_literal(&mut self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 972 | fn process_escape_sequences(lexeme: &str, span: Span) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Program` is never constructed [INFO] [stdout] --> src/parser/ast.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Program<'a> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Statement` is never used [INFO] [stdout] --> src/parser/ast.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Statement<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `span` is never used [INFO] [stdout] --> src/parser/ast.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl<'a> Statement<'a> { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] 46 | pub fn span(&self) -> Span { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Operator` is never used [INFO] [stdout] --> src/parser/ast.rs:86:10 [INFO] [stdout] | [INFO] [stdout] 86 | pub enum Operator { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/parser/ast.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 106 | impl Operator { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 107 | pub fn new(token_type: TokenType, span: Span) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Expression` is never used [INFO] [stdout] --> src/parser/ast.rs:156:10 [INFO] [stdout] | [INFO] [stdout] 156 | pub enum Expression<'a> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `span` is never used [INFO] [stdout] --> src/parser/ast.rs:302:12 [INFO] [stdout] | [INFO] [stdout] 301 | impl<'a> Expression<'a> { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] 302 | pub fn span(&self) -> Span { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `OperatorPrecedence` is never used [INFO] [stdout] --> src/parser/precedence.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub type OperatorPrecedence = (i8, i8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Precedence` is never used [INFO] [stdout] --> src/parser/precedence.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum Precedence { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `prefix_operator_binding_power`, `infix_operator_binding_power`, and `postfix_operator_binding_power` are never used [INFO] [stdout] --> src/parser/precedence.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Precedence { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 29 | pub fn prefix_operator_binding_power(token_type: TokenType) -> OperatorPrecedence { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn infix_operator_binding_power(token_type: TokenType) -> OperatorPrecedence { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn postfix_operator_binding_power(token_type: TokenType) -> OperatorPrecedence { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Type` is never used [INFO] [stdout] --> src/semantic_analyzer/mod.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum Type { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Symbol` is never constructed [INFO] [stdout] --> src/semantic_analyzer/mod.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct Symbol { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Scope` is never used [INFO] [stdout] --> src/semantic_analyzer/mod.rs:33:6 [INFO] [stdout] | [INFO] [stdout] 33 | type Scope = HashMap; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SymbolTable` is never constructed [INFO] [stdout] --> src/semantic_analyzer/mod.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct SymbolTable { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `enter_scope`, `exit_scope`, `insert`, and `lookup` are never used [INFO] [stdout] --> src/semantic_analyzer/mod.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl SymbolTable { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 41 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | fn enter_scope(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | fn exit_scope(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn insert( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | fn lookup(&self, name: &str) -> Option<&Symbol> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SemanticAnalyzer` is never constructed [INFO] [stdout] --> src/semantic_analyzer/mod.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 96 | pub struct SemanticAnalyzer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_builtins`, `analyze_program`, `analyze_statement`, and `analyze_expression` are never used [INFO] [stdout] --> src/semantic_analyzer/mod.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 101 | impl SemanticAnalyzer { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 102 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | fn add_builtins(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | fn analyze_program(&mut self, program: &Program) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | fn analyze_statement(&mut self, stmt: &Statement) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | fn analyze_expression(&mut self, expr: &Expression) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.41s [INFO] running `Command { std: "docker" "inspect" "db5ee8fc5e8b1ca569e2b18850200a71cfd6bb22f8673b2b3c53666949f500fa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "db5ee8fc5e8b1ca569e2b18850200a71cfd6bb22f8673b2b3c53666949f500fa", kill_on_drop: false }` [INFO] [stdout] db5ee8fc5e8b1ca569e2b18850200a71cfd6bb22f8673b2b3c53666949f500fa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2ddd5011d42586695f188efa6fad8068e66ccce29a820b6c0320daec6056fec4 [INFO] running `Command { std: "docker" "start" "-a" "2ddd5011d42586695f188efa6fad8068e66ccce29a820b6c0320daec6056fec4", kill_on_drop: false }` [INFO] [stderr] Compiling rs-arc-lang v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `stmt` [INFO] [stdout] --> src/semantic_analyzer/mod.rs:132:37 [INFO] [stdout] | [INFO] [stdout] 132 | fn analyze_statement(&mut self, stmt: &Statement) -> Result> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_stmt` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/semantic_analyzer/mod.rs:136:38 [INFO] [stdout] | [INFO] [stdout] 136 | fn analyze_expression(&mut self, expr: &Expression) -> Result> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/error/context.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Construct { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 10 | pub fn new(span: Span, msg: Option) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push`, and `pop` are never used [INFO] [stdout] --> src/error/context.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Context { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 22 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn push(&mut self, span: Span, msg: Option) -> () { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `InterpreterError` is never used [INFO] [stdout] --> src/error/interpreter_error.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum InterpreterError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `InvalidEscapeSequence` is never constructed [INFO] [stdout] --> src/error/lexer_error.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum LexerError { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 10 | InvalidEscapeSequence(String, Span), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LexerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `InvalidExponent` is never constructed [INFO] [stdout] --> src/error/parser_error.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum ParserError { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] 5 | InvalidExponent(String, Span), // a number written in scientific notation has an invalid format [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParserError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SemanticError` is never constructed [INFO] [stdout] --> src/error/semantic_error.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct SemanticError { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SemanticErrorType` is never used [INFO] [stdout] --> src/error/semantic_error.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum SemanticErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/error/semantic_error.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl SemanticError { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 37 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/lexer/span.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Span { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 12 | pub fn default() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `sync` is never used [INFO] [stdout] --> src/parser/mod.rs:786:8 [INFO] [stdout] | [INFO] [stdout] 34 | impl<'a> Parser<'a> { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 786 | fn sync(&mut self, sync_tokens: &[TokenType]) -> Result<(), Box> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 24 | Let { [INFO] [stdout] | --- field in this variant [INFO] [stdout] 25 | span: Span, // span of the let -> "let ... := ...;" [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 29 | Return { [INFO] [stdout] | ------ field in this variant [INFO] [stdout] 30 | span: Span, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 33 | Expression { [INFO] [stdout] | ---------- field in this variant [INFO] [stdout] 34 | span: Span, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 37 | FunctionDef { [INFO] [stdout] | ----------- field in this variant [INFO] [stdout] 38 | span: Span, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `span` is never used [INFO] [stdout] --> src/parser/ast.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl<'a> Statement<'a> { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] 46 | pub fn span(&self) -> Span { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | Plus { span: Span }, [INFO] [stdout] | ---- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:88:11 [INFO] [stdout] | [INFO] [stdout] 88 | Sub { span: Span }, [INFO] [stdout] | --- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:89:14 [INFO] [stdout] | [INFO] [stdout] 89 | Divide { span: Span }, [INFO] [stdout] | ------ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:90:16 [INFO] [stdout] | [INFO] [stdout] 90 | Multiply { span: Span }, [INFO] [stdout] | -------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:91:14 [INFO] [stdout] | [INFO] [stdout] 91 | Modulo { span: Span }, [INFO] [stdout] | ------ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:92:14 [INFO] [stdout] | [INFO] [stdout] 92 | Access { span: Span }, [INFO] [stdout] | ------ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:93:16 [INFO] [stdout] | [INFO] [stdout] 93 | Negation { span: Span }, [INFO] [stdout] | -------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:94:17 [INFO] [stdout] | [INFO] [stdout] 94 | Increment { span: Span }, [INFO] [stdout] | --------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:95:17 [INFO] [stdout] | [INFO] [stdout] 95 | Decrement { span: Span }, [INFO] [stdout] | --------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:96:14 [INFO] [stdout] | [INFO] [stdout] 96 | Equals { span: Span }, [INFO] [stdout] | ------ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | NotEquals { span: Span }, [INFO] [stdout] | --------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:98:19 [INFO] [stdout] | [INFO] [stdout] 98 | GreaterThan { span: Span }, [INFO] [stdout] | ----------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:99:25 [INFO] [stdout] | [INFO] [stdout] 99 | GreaterThanEquals { span: Span }, [INFO] [stdout] | ----------------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:100:16 [INFO] [stdout] | [INFO] [stdout] 100 | LessThan { span: Span }, [INFO] [stdout] | -------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:101:22 [INFO] [stdout] | [INFO] [stdout] 101 | LessThanEquals { span: Span }, [INFO] [stdout] | -------------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:102:11 [INFO] [stdout] | [INFO] [stdout] 102 | And { span: Span }, [INFO] [stdout] | --- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/parser/ast.rs:103:10 [INFO] [stdout] | [INFO] [stdout] 103 | Or { span: Span }, [INFO] [stdout] | -- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Conditional`, `BitwiseOr`, `BitwiseXOr`, `BitwiseAnd`, `Shift`, and `Highest` are never constructed [INFO] [stdout] --> src/parser/precedence.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum Precedence { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 12 | Conditional, // ?: (ternary conditional) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | BitwiseOr, // | [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 16 | BitwiseXOr, // ^ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 17 | BitwiseAnd, // & [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | Shift, // <<, >> [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | Highest, // Highest precedence (e.g., primary expressions like literals and parentheses) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Precedence` 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 `Type` is never used [INFO] [stdout] --> src/semantic_analyzer/mod.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum Type { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Symbol` is never constructed [INFO] [stdout] --> src/semantic_analyzer/mod.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct Symbol { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Scope` is never used [INFO] [stdout] --> src/semantic_analyzer/mod.rs:33:6 [INFO] [stdout] | [INFO] [stdout] 33 | type Scope = HashMap; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SymbolTable` is never constructed [INFO] [stdout] --> src/semantic_analyzer/mod.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct SymbolTable { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `enter_scope`, `exit_scope`, `insert`, and `lookup` are never used [INFO] [stdout] --> src/semantic_analyzer/mod.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl SymbolTable { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 41 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | fn enter_scope(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | fn exit_scope(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn insert( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | fn lookup(&self, name: &str) -> Option<&Symbol> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SemanticAnalyzer` is never constructed [INFO] [stdout] --> src/semantic_analyzer/mod.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 96 | pub struct SemanticAnalyzer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_builtins`, `analyze_program`, `analyze_statement`, and `analyze_expression` are never used [INFO] [stdout] --> src/semantic_analyzer/mod.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 101 | impl SemanticAnalyzer { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 102 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | fn add_builtins(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | fn analyze_program(&mut self, program: &Program) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | fn analyze_statement(&mut self, stmt: &Statement) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | fn analyze_expression(&mut self, expr: &Expression) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.91s [INFO] running `Command { std: "docker" "inspect" "2ddd5011d42586695f188efa6fad8068e66ccce29a820b6c0320daec6056fec4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2ddd5011d42586695f188efa6fad8068e66ccce29a820b6c0320daec6056fec4", kill_on_drop: false }` [INFO] [stdout] 2ddd5011d42586695f188efa6fad8068e66ccce29a820b6c0320daec6056fec4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 1ec43372e67b5c3540d7699936f88993e93a59164cacb12a282946c6a4fb1231 [INFO] running `Command { std: "docker" "start" "-a" "1ec43372e67b5c3540d7699936f88993e93a59164cacb12a282946c6a4fb1231", kill_on_drop: false }` [INFO] [stderr] warning: unused variable: `stmt` [INFO] [stderr] --> src/semantic_analyzer/mod.rs:132:37 [INFO] [stderr] | [INFO] [stderr] 132 | fn analyze_statement(&mut self, stmt: &Statement) -> Result> { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_stmt` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `expr` [INFO] [stderr] --> src/semantic_analyzer/mod.rs:136:38 [INFO] [stderr] | [INFO] [stderr] 136 | fn analyze_expression(&mut self, expr: &Expression) -> Result> { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/error/context.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 9 | impl Construct { [INFO] [stderr] | -------------- associated function in this implementation [INFO] [stderr] 10 | pub fn new(span: Span, msg: Option) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `push`, and `pop` are never used [INFO] [stderr] --> src/error/context.rs:22:12 [INFO] [stderr] | [INFO] [stderr] 21 | impl Context { [INFO] [stderr] | ------------ associated items in this implementation [INFO] [stderr] 22 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 26 | pub fn push(&mut self, span: Span, msg: Option) -> () { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 30 | pub fn pop(&mut self) -> Option { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `InterpreterError` is never used [INFO] [stderr] --> src/error/interpreter_error.rs:6:10 [INFO] [stderr] | [INFO] [stderr] 6 | pub enum InterpreterError { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `InvalidEscapeSequence` is never constructed [INFO] [stderr] --> src/error/lexer_error.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 5 | pub enum LexerError { [INFO] [stderr] | ---------- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 10 | InvalidEscapeSequence(String, Span), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `LexerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variant `InvalidExponent` is never constructed [INFO] [stderr] --> src/error/parser_error.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 4 | pub enum ParserError { [INFO] [stderr] | ----------- variant in this enum [INFO] [stderr] 5 | InvalidExponent(String, Span), // a number written in scientific notation has an invalid format [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ParserError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: struct `SemanticError` is never constructed [INFO] [stderr] --> src/error/semantic_error.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct SemanticError { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `SemanticErrorType` is never used [INFO] [stderr] --> src/error/semantic_error.rs:14:10 [INFO] [stderr] | [INFO] [stderr] 14 | pub enum SemanticErrorType { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/error/semantic_error.rs:37:12 [INFO] [stderr] | [INFO] [stderr] 36 | impl SemanticError { [INFO] [stderr] | ------------------ associated function in this implementation [INFO] [stderr] 37 | pub fn new( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `default` is never used [INFO] [stderr] --> src/lexer/span.rs:12:12 [INFO] [stderr] | [INFO] [stderr] 11 | impl Span { [INFO] [stderr] | --------- associated function in this implementation [INFO] [stderr] 12 | pub fn default() -> Self { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `sync` is never used [INFO] [stderr] --> src/parser/mod.rs:786:8 [INFO] [stderr] | [INFO] [stderr] 34 | impl<'a> Parser<'a> { [INFO] [stderr] | ------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 786 | fn sync(&mut self, sync_tokens: &[TokenType]) -> Result<(), Box> { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 24 | Let { [INFO] [stderr] | --- field in this variant [INFO] [stderr] 25 | span: Span, // span of the let -> "let ... := ...;" [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 29 | Return { [INFO] [stderr] | ------ field in this variant [INFO] [stderr] 30 | span: Span, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 33 | Expression { [INFO] [stderr] | ---------- field in this variant [INFO] [stderr] 34 | span: Span, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 37 | FunctionDef { [INFO] [stderr] | ----------- field in this variant [INFO] [stderr] 38 | span: Span, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `span` is never used [INFO] [stderr] --> src/parser/ast.rs:46:12 [INFO] [stderr] | [INFO] [stderr] 45 | impl<'a> Statement<'a> { [INFO] [stderr] | ---------------------- method in this implementation [INFO] [stderr] 46 | pub fn span(&self) -> Span { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:87:12 [INFO] [stderr] | [INFO] [stderr] 87 | Plus { span: Span }, [INFO] [stderr] | ---- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:88:11 [INFO] [stderr] | [INFO] [stderr] 88 | Sub { span: Span }, [INFO] [stderr] | --- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:89:14 [INFO] [stderr] | [INFO] [stderr] 89 | Divide { span: Span }, [INFO] [stderr] | ------ ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:90:16 [INFO] [stderr] | [INFO] [stderr] 90 | Multiply { span: Span }, [INFO] [stderr] | -------- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:91:14 [INFO] [stderr] | [INFO] [stderr] 91 | Modulo { span: Span }, [INFO] [stderr] | ------ ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:92:14 [INFO] [stderr] | [INFO] [stderr] 92 | Access { span: Span }, [INFO] [stderr] | ------ ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:93:16 [INFO] [stderr] | [INFO] [stderr] 93 | Negation { span: Span }, [INFO] [stderr] | -------- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:94:17 [INFO] [stderr] | [INFO] [stderr] 94 | Increment { span: Span }, [INFO] [stderr] | --------- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:95:17 [INFO] [stderr] | [INFO] [stderr] 95 | Decrement { span: Span }, [INFO] [stderr] | --------- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:96:14 [INFO] [stderr] | [INFO] [stderr] 96 | Equals { span: Span }, [INFO] [stderr] | ------ ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:97:17 [INFO] [stderr] | [INFO] [stderr] 97 | NotEquals { span: Span }, [INFO] [stderr] | --------- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:98:19 [INFO] [stderr] | [INFO] [stderr] 98 | GreaterThan { span: Span }, [INFO] [stderr] | ----------- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:99:25 [INFO] [stderr] | [INFO] [stderr] 99 | GreaterThanEquals { span: Span }, [INFO] [stderr] | ----------------- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:100:16 [INFO] [stderr] | [INFO] [stderr] 100 | LessThan { span: Span }, [INFO] [stderr] | -------- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:101:22 [INFO] [stderr] | [INFO] [stderr] 101 | LessThanEquals { span: Span }, [INFO] [stderr] | -------------- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:102:11 [INFO] [stderr] | [INFO] [stderr] 102 | And { span: Span }, [INFO] [stderr] | --- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `span` is never read [INFO] [stderr] --> src/parser/ast.rs:103:10 [INFO] [stderr] | [INFO] [stderr] 103 | Or { span: Span }, [INFO] [stderr] | -- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variants `Conditional`, `BitwiseOr`, `BitwiseXOr`, `BitwiseAnd`, `Shift`, and `Highest` are never constructed [INFO] [stderr] --> src/parser/precedence.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 9 | pub enum Precedence { [INFO] [stderr] | ---------- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 12 | Conditional, // ?: (ternary conditional) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 15 | BitwiseOr, // | [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 16 | BitwiseXOr, // ^ [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 17 | BitwiseAnd, // & [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 20 | Shift, // <<, >> [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 25 | Highest, // Highest precedence (e.g., primary expressions like literals and parentheses) [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Precedence` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: enum `Type` is never used [INFO] [stderr] --> src/semantic_analyzer/mod.rs:14:10 [INFO] [stderr] | [INFO] [stderr] 14 | pub enum Type { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Symbol` is never constructed [INFO] [stderr] --> src/semantic_analyzer/mod.rs:28:12 [INFO] [stderr] | [INFO] [stderr] 28 | pub struct Symbol { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias `Scope` is never used [INFO] [stderr] --> src/semantic_analyzer/mod.rs:33:6 [INFO] [stderr] | [INFO] [stderr] 33 | type Scope = HashMap; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `SymbolTable` is never constructed [INFO] [stderr] --> src/semantic_analyzer/mod.rs:36:12 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct SymbolTable { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `enter_scope`, `exit_scope`, `insert`, and `lookup` are never used [INFO] [stderr] --> src/semantic_analyzer/mod.rs:41:12 [INFO] [stderr] | [INFO] [stderr] 40 | impl SymbolTable { [INFO] [stderr] | ---------------- associated items in this implementation [INFO] [stderr] 41 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 47 | fn enter_scope(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 51 | fn exit_scope(&mut self) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 55 | fn insert( [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 86 | fn lookup(&self, name: &str) -> Option<&Symbol> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `SemanticAnalyzer` is never constructed [INFO] [stderr] --> src/semantic_analyzer/mod.rs:96:12 [INFO] [stderr] | [INFO] [stderr] 96 | pub struct SemanticAnalyzer { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `add_builtins`, `analyze_program`, `analyze_statement`, and `analyze_expression` are never used [INFO] [stderr] --> src/semantic_analyzer/mod.rs:102:12 [INFO] [stderr] | [INFO] [stderr] 101 | impl SemanticAnalyzer { [INFO] [stderr] | --------------------- associated items in this implementation [INFO] [stderr] 102 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 111 | fn add_builtins(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 124 | fn analyze_program(&mut self, program: &Program) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 132 | fn analyze_statement(&mut self, stmt: &Statement) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 136 | fn analyze_expression(&mut self, expr: &Expression) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `rs-arc-lang` (bin "rs-arc-lang" test) generated 42 warnings [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rs_arc_lang-cc15031b772b6f93) [INFO] [stdout] [INFO] [stdout] running 20 tests [INFO] [stdout] test lexer::test::test_lexer_read_char ... ok [INFO] [stdout] test lexer::test::test_lexer_read_number ... ok [INFO] [stdout] test lexer::test::test_lexer_read_operator ... ok [INFO] [stdout] test lexer::test::test_lexer_read_punctuation ... ok [INFO] [stdout] test lexer::test::test_lexer_read_source_code ... ok [INFO] [stdout] test lexer::test::test_lexer_read_string ... ok [INFO] [stdout] test lexer::test::test_lexer_read_word ... ok [INFO] [stdout] test line_map::test::test_line_map ... ok [INFO] [stdout] test parser::tests::test_parse_fn_call ... ok [INFO] [stdout] test parser::tests::test_parse_fn_literal ... ok [INFO] [stdout] test parser::tests::test_parse_fn_definition ... ok [INFO] [stdout] test parser::tests::test_parse_grouped_expressions ... ok [INFO] [stdout] test parser::tests::test_parse_if_expressions ... ok [INFO] [stdout] test parser::tests::test_parse_infix_expression ... ok [INFO] [stdout] test parser::tests::test_parse_invalid_infix ... ok [INFO] [stdout] test parser::tests::test_parse_let_statement ... ok [INFO] [stdout] test parser::tests::test_parse_operator_precedence_in_expressions ... ok [INFO] [stdout] test parser::tests::test_parse_postfix_expression ... ok [INFO] [stdout] test parser::tests::test_parse_prefix_expression ... ok [INFO] [stdout] test parser::tests::test_parse_return_statements ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "1ec43372e67b5c3540d7699936f88993e93a59164cacb12a282946c6a4fb1231", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1ec43372e67b5c3540d7699936f88993e93a59164cacb12a282946c6a4fb1231", kill_on_drop: false }` [INFO] [stdout] 1ec43372e67b5c3540d7699936f88993e93a59164cacb12a282946c6a4fb1231