[INFO] cloning repository https://github.com/huwenchao/monkey-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/huwenchao/monkey-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhuwenchao%2Fmonkey-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhuwenchao%2Fmonkey-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fb77c9f547a106661e0ce99777d9d711460951f3 [INFO] checking huwenchao/monkey-rust against try#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 for pr-82565 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhuwenchao%2Fmonkey-rust" "/workspace/builds/worker-8/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/huwenchao/monkey-rust on toolchain 8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/huwenchao/monkey-rust [INFO] finished tweaking git repo https://github.com/huwenchao/monkey-rust [INFO] tweaked toml for git repo https://github.com/huwenchao/monkey-rust written to /workspace/builds/worker-8/source/Cargo.toml [INFO] crate git repo https://github.com/huwenchao/monkey-rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 32f80f1cd853c6f87f1c1fdf3e688b5c26225c9c938dcd2f0367e93077c1ac9a [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "32f80f1cd853c6f87f1c1fdf3e688b5c26225c9c938dcd2f0367e93077c1ac9a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "32f80f1cd853c6f87f1c1fdf3e688b5c26225c9c938dcd2f0367e93077c1ac9a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "32f80f1cd853c6f87f1c1fdf3e688b5c26225c9c938dcd2f0367e93077c1ac9a", kill_on_drop: false }` [INFO] [stdout] 32f80f1cd853c6f87f1c1fdf3e688b5c26225c9c938dcd2f0367e93077c1ac9a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 75566c5c7a124724e86566013d6f0da1af9437676bd48ac1afa8e1e5bd8764af [INFO] running `Command { std: "docker" "start" "-a" "75566c5c7a124724e86566013d6f0da1af9437676bd48ac1afa8e1e5bd8764af", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.20 [INFO] [stderr] Compiling syn v1.0.40 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling thiserror-impl v1.0.20 [INFO] [stderr] Checking thiserror v1.0.20 [INFO] [stderr] Checking monkey-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::token::Token` [INFO] [stdout] --> src/ast.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::token::Token; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IfExpression` [INFO] [stdout] --> src/parser.rs:2:68 [INFO] [stdout] | [INFO] [stdout] 2 | ArrayLiteral, CallExpression, Expression, ExpressionStatement, IfExpression, IndexExpression, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser.rs:189:21 [INFO] [stdout] | [INFO] [stdout] 189 | ) -> Option ParseResult>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Self) -> ParseResult` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser.rs:233:21 [INFO] [stdout] | [INFO] [stdout] 233 | ) -> Option ParseResult>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Self, Expression) -> ParseResult` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::token::Token` [INFO] [stdout] --> src/ast.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::token::Token; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Token`, `Type` [INFO] [stdout] --> src/ast.rs:226:24 [INFO] [stdout] | [INFO] [stdout] 226 | use crate::token::{Token, Type}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Token`, `lookup_ident` [INFO] [stdout] --> src/lexer.rs:234:24 [INFO] [stdout] | [INFO] [stdout] 234 | use crate::token::{lookup_ident, Token, Type}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IfExpression` [INFO] [stdout] --> src/parser.rs:2:68 [INFO] [stdout] | [INFO] [stdout] 2 | ArrayLiteral, CallExpression, Expression, ExpressionStatement, IfExpression, IndexExpression, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser.rs:189:21 [INFO] [stdout] | [INFO] [stdout] 189 | ) -> Option ParseResult>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Self) -> ParseResult` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser.rs:233:21 [INFO] [stdout] | [INFO] [stdout] 233 | ) -> Option ParseResult>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Self, Expression) -> ParseResult` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ident` [INFO] [stdout] --> src/parser.rs:331:21 [INFO] [stdout] | [INFO] [stdout] 331 | Expression, Ident, LetStatement, PrefixExpression, ReturnStatement, Statement, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/ast.rs:126:22 [INFO] [stdout] | [INFO] [stdout] 126 | Self::If(p) => todo!(), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/ast.rs:126:22 [INFO] [stdout] | [INFO] [stdout] 126 | Self::If(p) => todo!(), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Let` [INFO] [stdout] --> src/ast.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | Let(LetStatement), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Return` [INFO] [stdout] --> src/ast.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Return(ReturnStatement), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Expression` [INFO] [stdout] --> src/ast.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | Expression(ExpressionStatement), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Prefix` [INFO] [stdout] --> src/ast.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | Prefix(PrefixExpression), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Infix` [INFO] [stdout] --> src/ast.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | Infix(InfixExpression), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `If` [INFO] [stdout] --> src/ast.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 90 | If(IfExpression), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Function` [INFO] [stdout] --> src/ast.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | Function(FunctionExpression), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Call` [INFO] [stdout] --> src/ast.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | Call(CallExpression), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `String` [INFO] [stdout] --> src/ast.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | String(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Ident` [INFO] [stdout] --> src/ast.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | Ident(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Index` [INFO] [stdout] --> src/ast.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | Index(IndexExpression), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Array` [INFO] [stdout] --> src/ast.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | Array(ArrayLiteral), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `ZERO_CHAR` [INFO] [stdout] --> src/lexer.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | const ZERO_CHAR: char = '\u{0}'; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/lexer.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn new(input: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `read_char` [INFO] [stdout] --> src/lexer.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | fn read_char(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `skip_whitespace` [INFO] [stdout] --> src/lexer.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | fn skip_whitespace(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `skip_comment` [INFO] [stdout] --> src/lexer.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | fn skip_comment(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `peek_char` [INFO] [stdout] --> src/lexer.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | fn peek_char(&mut self) -> char { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `read` [INFO] [stdout] --> src/lexer.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | fn read(&mut self, check_fn: fn(char) -> bool) -> String { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `read_ident` [INFO] [stdout] --> src/lexer.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | fn read_ident(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `read_number` [INFO] [stdout] --> src/lexer.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | fn read_number(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `read_number_token` [INFO] [stdout] --> src/lexer.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | fn read_number_token(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `read_string` [INFO] [stdout] --> src/lexer.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | fn read_string(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `next_token` [INFO] [stdout] --> src/lexer.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn next_token(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_letter` [INFO] [stdout] --> src/lexer.rs:223:4 [INFO] [stdout] | [INFO] [stdout] 223 | fn is_letter(ch: char) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_digit` [INFO] [stdout] --> src/lexer.rs:227:4 [INFO] [stdout] | [INFO] [stdout] 227 | fn is_digit(ch: char) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `UnexpectedToken` [INFO] [stdout] --> src/parser.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | UnexpectedToken { expected: Type, actual: Type }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `NoPrefixParseFunc` [INFO] [stdout] --> src/parser.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | NoPrefixParseFunc(Type), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `ParseResult` [INFO] [stdout] --> src/parser.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub type ParseResult = Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `LOWEST` [INFO] [stdout] --> src/parser.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | LOWEST = 1, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `EQUALS` [INFO] [stdout] --> src/parser.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | EQUALS, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `LESSGREATER` [INFO] [stdout] --> src/parser.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | LESSGREATER, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `SUM` [INFO] [stdout] --> src/parser.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | SUM, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `PRODUCT` [INFO] [stdout] --> src/parser.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | PRODUCT, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `PREFIX` [INFO] [stdout] --> src/parser.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | PREFIX, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `CALL` [INFO] [stdout] --> src/parser.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | CALL, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `INDEX` [INFO] [stdout] --> src/parser.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | INDEX, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Parser` [INFO] [stdout] --> src/parser.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Parser { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/parser.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn new(mut l: Lexer) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `next_token` [INFO] [stdout] --> src/parser.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | fn next_token(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_program` [INFO] [stdout] --> src/parser.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn parse_program(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_statement` [INFO] [stdout] --> src/parser.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | fn parse_statement(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_return_statement` [INFO] [stdout] --> src/parser.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | fn parse_return_statement(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `peek_error` [INFO] [stdout] --> src/parser.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | fn peek_error(&mut self, t: Type) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `expect_peek` [INFO] [stdout] --> src/parser.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | fn expect_peek(&mut self, t: Type) -> ParseResult<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_let_statement` [INFO] [stdout] --> src/parser.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | fn parse_let_statement(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `cur_token_is` [INFO] [stdout] --> src/parser.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | fn cur_token_is(&self, t: Type) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `peek_precedence` [INFO] [stdout] --> src/parser.rs:131:8 [INFO] [stdout] | [INFO] [stdout] 131 | fn peek_precedence(&self) -> Precedence { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_expression` [INFO] [stdout] --> src/parser.rs:135:8 [INFO] [stdout] | [INFO] [stdout] 135 | fn parse_expression(&mut self, precedence: Precedence) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_ident` [INFO] [stdout] --> src/parser.rs:167:8 [INFO] [stdout] | [INFO] [stdout] 167 | fn parse_ident(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_int` [INFO] [stdout] --> src/parser.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 171 | fn parse_int(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_boolean` [INFO] [stdout] --> src/parser.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 176 | fn parse_boolean(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_float` [INFO] [stdout] --> src/parser.rs:180:8 [INFO] [stdout] | [INFO] [stdout] 180 | fn parse_float(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `prefix_parse_fns` [INFO] [stdout] --> src/parser.rs:186:8 [INFO] [stdout] | [INFO] [stdout] 186 | fn prefix_parse_fns( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_array_literal` [INFO] [stdout] --> src/parser.rs:205:8 [INFO] [stdout] | [INFO] [stdout] 205 | fn parse_array_literal(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_grouped_expression` [INFO] [stdout] --> src/parser.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 214 | fn parse_grouped_expression(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_prefix_expression` [INFO] [stdout] --> src/parser.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 223 | fn parse_prefix_expression(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `infix_parse_fns` [INFO] [stdout] --> src/parser.rs:230:8 [INFO] [stdout] | [INFO] [stdout] 230 | fn infix_parse_fns( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_index_expression` [INFO] [stdout] --> src/parser.rs:250:8 [INFO] [stdout] | [INFO] [stdout] 250 | fn parse_index_expression(&mut self, left: Expression) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_expression_list` [INFO] [stdout] --> src/parser.rs:260:8 [INFO] [stdout] | [INFO] [stdout] 260 | fn parse_expression_list(&mut self, end: Type) -> ParseResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_call_expression` [INFO] [stdout] --> src/parser.rs:280:8 [INFO] [stdout] | [INFO] [stdout] 280 | fn parse_call_expression(&mut self, function: Expression) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_infix_expression` [INFO] [stdout] --> src/parser.rs:287:8 [INFO] [stdout] | [INFO] [stdout] 287 | fn parse_infix_expression(&mut self, left: Expression) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_expression_statement` [INFO] [stdout] --> src/parser.rs:304:8 [INFO] [stdout] | [INFO] [stdout] 304 | fn parse_expression_statement(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `type_to_predence` [INFO] [stdout] --> src/parser.rs:315:4 [INFO] [stdout] | [INFO] [stdout] 315 | fn type_to_predence(t: &Type) -> Precedence { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ILLEGAL` [INFO] [stdout] --> src/token.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | ILLEGAL, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `EOF` [INFO] [stdout] --> src/token.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | EOF, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `IDENT` [INFO] [stdout] --> src/token.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | IDENT, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `INT` [INFO] [stdout] --> src/token.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | INT, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `FLOAT` [INFO] [stdout] --> src/token.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | FLOAT, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `STRING` [INFO] [stdout] --> src/token.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | STRING, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `BANG` [INFO] [stdout] --> src/token.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | BANG, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ASSIGN` [INFO] [stdout] --> src/token.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | ASSIGN, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `PLUS` [INFO] [stdout] --> src/token.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | PLUS, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `MINUS` [INFO] [stdout] --> src/token.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | MINUS, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ASTARISK` [INFO] [stdout] --> src/token.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | ASTARISK, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `SLASH` [INFO] [stdout] --> src/token.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | SLASH, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `LT` [INFO] [stdout] --> src/token.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | LT, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `GT` [INFO] [stdout] --> src/token.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | GT, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `EQ` [INFO] [stdout] --> src/token.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | EQ, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `NEQ` [INFO] [stdout] --> src/token.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | NEQ, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `COMMA` [INFO] [stdout] --> src/token.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | COMMA, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `SEMICOLON` [INFO] [stdout] --> src/token.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | SEMICOLON, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `COLON` [INFO] [stdout] --> src/token.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | COLON, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `LPAREN` [INFO] [stdout] --> src/token.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | LPAREN, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RPAREN` [INFO] [stdout] --> src/token.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | RPAREN, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `LBRACE` [INFO] [stdout] --> src/token.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | LBRACE, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RBRACE` [INFO] [stdout] --> src/token.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | RBRACE, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `LBRACKET` [INFO] [stdout] --> src/token.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | LBRACKET, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RBRACKET` [INFO] [stdout] --> src/token.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | RBRACKET, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `FUNCTION` [INFO] [stdout] --> src/token.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | FUNCTION, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `LET` [INFO] [stdout] --> src/token.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | LET, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `TRUE` [INFO] [stdout] --> src/token.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | TRUE, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `FALSE` [INFO] [stdout] --> src/token.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | FALSE, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `IF` [INFO] [stdout] --> src/token.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | IF, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ELSE` [INFO] [stdout] --> src/token.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | ELSE, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RETURN` [INFO] [stdout] --> src/token.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | RETURN, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `MACRO` [INFO] [stdout] --> src/token.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | MACRO, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `lookup_ident` [INFO] [stdout] --> src/token.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn lookup_ident(s: &str) -> Type { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 103 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `If` [INFO] [stdout] --> src/ast.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 90 | If(IfExpression), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Function` [INFO] [stdout] --> src/ast.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | Function(FunctionExpression), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `String` [INFO] [stdout] --> src/ast.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | String(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `errors` [INFO] [stdout] --> src/parser.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | errors: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `peek_error` [INFO] [stdout] --> src/parser.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | fn peek_error(&mut self, t: Type) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 12.45s [INFO] running `Command { std: "docker" "inspect" "75566c5c7a124724e86566013d6f0da1af9437676bd48ac1afa8e1e5bd8764af", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "75566c5c7a124724e86566013d6f0da1af9437676bd48ac1afa8e1e5bd8764af", kill_on_drop: false }` [INFO] [stdout] 75566c5c7a124724e86566013d6f0da1af9437676bd48ac1afa8e1e5bd8764af