[INFO] cloning repository https://github.com/CluEleSsUK/rust-toy-compiler [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CluEleSsUK/rust-toy-compiler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCluEleSsUK%2Frust-toy-compiler", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCluEleSsUK%2Frust-toy-compiler'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] eb2300224b2be92e37850ccdb6660e7080920193 [INFO] checking CluEleSsUK/rust-toy-compiler against master#b359ccf1b0b7b2d2c1c4932344b806e68bd053a9 for pr-105483 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCluEleSsUK%2Frust-toy-compiler" "/workspace/builds/worker-3/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/CluEleSsUK/rust-toy-compiler on toolchain b359ccf1b0b7b2d2c1c4932344b806e68bd053a9 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b359ccf1b0b7b2d2c1c4932344b806e68bd053a9" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/CluEleSsUK/rust-toy-compiler [INFO] finished tweaking git repo https://github.com/CluEleSsUK/rust-toy-compiler [INFO] tweaked toml for git repo https://github.com/CluEleSsUK/rust-toy-compiler written to /workspace/builds/worker-3/source/Cargo.toml [INFO] crate git repo https://github.com/CluEleSsUK/rust-toy-compiler already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b359ccf1b0b7b2d2c1c4932344b806e68bd053a9" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: unstable [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded speculoos v0.8.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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:bb5b0feb4f87116a4ea905b7ff5bf5b85913db05e9f0fbc1abdd3168928d9075" "/opt/rustwide/cargo-home/bin/cargo" "+b359ccf1b0b7b2d2c1c4932344b806e68bd053a9" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f13c42a86332163f88f6553a7b6c53569fbe133c92a639b2d6cb2eea7d3659e0 [INFO] running `Command { std: "docker" "start" "-a" "f13c42a86332163f88f6553a7b6c53569fbe133c92a639b2d6cb2eea7d3659e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f13c42a86332163f88f6553a7b6c53569fbe133c92a639b2d6cb2eea7d3659e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f13c42a86332163f88f6553a7b6c53569fbe133c92a639b2d6cb2eea7d3659e0", kill_on_drop: false }` [INFO] [stdout] f13c42a86332163f88f6553a7b6c53569fbe133c92a639b2d6cb2eea7d3659e0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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:bb5b0feb4f87116a4ea905b7ff5bf5b85913db05e9f0fbc1abdd3168928d9075" "/opt/rustwide/cargo-home/bin/cargo" "+b359ccf1b0b7b2d2c1c4932344b806e68bd053a9" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a11e35f5b8bb58d99e065d9839a132097b04eb679c837da535377f8a3d934eac [INFO] running `Command { std: "docker" "start" "-a" "a11e35f5b8bb58d99e065d9839a132097b04eb679c837da535377f8a3d934eac", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: unstable [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling libc v0.2.108 [INFO] [stderr] Checking rustc-serialize v0.3.24 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking num-bigint v0.1.44 [INFO] [stderr] Checking num-complex v0.1.43 [INFO] [stderr] Checking num-rational v0.1.42 [INFO] [stderr] Checking num v0.1.42 [INFO] [stderr] Checking speculoos v0.8.0 [INFO] [stderr] Checking toy-compiler v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::lexer::Token` [INFO] [stdout] --> src/parser.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | use crate::lexer::Token; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Expression`, `ValueType`, `parse` [INFO] [stdout] --> src/parser.rs:74:25 [INFO] [stdout] | [INFO] [stdout] 74 | use crate::parser::{Expression, parse, ValueType}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `speculoos::prelude::*` [INFO] [stdout] --> src/parser.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | use speculoos::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/lexer.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) enum Token { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] 7 | Let, [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | Function, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 9 | Identifier(String), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 10 | String(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 11 | Number(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 12 | Whitespace, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 13 | NewLine, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 14 | Equals, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | Plus, [INFO] [stdout] | ^^^^ [INFO] [stdout] 16 | SemiColon, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 17 | EOF, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `UnexpectedCharacter`, `InvalidChar`, and `UnexpectedEndOfInput` are never constructed [INFO] [stdout] --> src/lexer.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 22 | enum LexingError { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 23 | UnexpectedCharacter { expected: char, actual: char }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | InvalidChar(char), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 25 | UnexpectedEndOfInput, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LexingError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lex` is never used [INFO] [stdout] --> src/lexer.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn lex(input: &str) -> Result, LexingError> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `LexingResult` is never used [INFO] [stdout] --> src/lexer.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | type LexingResult = Result; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_next_token` is never used [INFO] [stdout] --> src/lexer.rs:48:4 [INFO] [stdout] | [INFO] [stdout] 48 | fn parse_next_token(input: &mut Peekable) -> LexingResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_string` is never used [INFO] [stdout] --> src/lexer.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn parse_string(input: &mut Peekable) -> LexingResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `consume` is never used [INFO] [stdout] --> src/lexer.rs:77:4 [INFO] [stdout] | [INFO] [stdout] 77 | fn consume(input: &mut Peekable, token: Token) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_number` is never used [INFO] [stdout] --> src/lexer.rs:82:4 [INFO] [stdout] | [INFO] [stdout] 82 | fn parse_number(input: &mut Peekable) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_identifier_or_keyword` is never used [INFO] [stdout] --> src/lexer.rs:98:4 [INFO] [stdout] | [INFO] [stdout] 98 | fn parse_identifier_or_keyword(input: &mut Peekable) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `expect_next` is never used [INFO] [stdout] --> src/lexer.rs:110:4 [INFO] [stdout] | [INFO] [stdout] 110 | fn expect_next(input: &mut Peekable, expected_char: char) -> Result<(), LexingError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_word_or_rewind` is never used [INFO] [stdout] --> src/lexer.rs:122:4 [INFO] [stdout] | [INFO] [stdout] 122 | fn test_word_or_rewind<'a>(input: &mut Peekable, word: &'a str) -> Option<&'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `take_while` is never used [INFO] [stdout] --> src/lexer.rs:133:4 [INFO] [stdout] | [INFO] [stdout] 133 | fn take_while(input: &mut Peekable, predicate: impl Fn(char) -> bool) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `stringify` is never used [INFO] [stdout] --> src/lexer.rs:143:4 [INFO] [stdout] | [INFO] [stdout] 143 | fn stringify(chars: Vec) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Integer`, `Float`, and `String` are never constructed [INFO] [stdout] --> src/parser.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | enum ValueType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 5 | Integer(i32), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 6 | Float(f32), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | String(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ValueType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Plus` and `Minus` are never constructed [INFO] [stdout] --> src/parser.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | enum Operator { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 12 | Plus, [INFO] [stdout] | ^^^^ [INFO] [stdout] 13 | Minus, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Operator` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Value`, `Infix`, and `Assignment` are never constructed [INFO] [stdout] --> src/parser.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | enum Expression { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 18 | Value { value: ValueType }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 19 | Infix { left: Box, operator: Operator, right: Box }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 20 | Assignment { identifier: String, value: Box }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `NumberValueInvalid` and `UnknownError` are never constructed [INFO] [stdout] --> src/parser.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | enum ParsingError { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 25 | NumberValueInvalid, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | UnknownError, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsingError` 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: type alias `ParsingResult` is never used [INFO] [stdout] --> src/parser.rs:29:6 [INFO] [stdout] | [INFO] [stdout] 29 | type ParsingResult = Result, ParsingError>; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `CurrentToken` is never used [INFO] [stdout] --> src/parser.rs:30:6 [INFO] [stdout] | [INFO] [stdout] 30 | type CurrentToken = usize; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `IntermediateParsingResult` is never used [INFO] [stdout] --> src/parser.rs:31:6 [INFO] [stdout] | [INFO] [stdout] 31 | type IntermediateParsingResult<'a> = Result<(CurrentToken, &'a mut Vec), ParsingError>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse` is never used [INFO] [stdout] --> src/parser.rs:33:4 [INFO] [stdout] | [INFO] [stdout] 33 | fn parse(tokens: &mut Vec) -> ParsingResult { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_recursive` is never used [INFO] [stdout] --> src/parser.rs:37:4 [INFO] [stdout] | [INFO] [stdout] 37 | fn parse_recursive(tokens: &Vec, current: usize, mut output: Vec) -> ParsingResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_next_expr` is never used [INFO] [stdout] --> src/parser.rs:48:4 [INFO] [stdout] | [INFO] [stdout] 48 | fn parse_next_expr<'a>(input: &Vec, current: usize, output: &'a mut Vec) -> IntermediateParsingResult<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_number_expr` is never used [INFO] [stdout] --> src/parser.rs:62:4 [INFO] [stdout] | [INFO] [stdout] 62 | fn parse_number_expr<'a>(value: &str, current: usize, output: &'a mut Vec) -> IntermediateParsingResult<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_word_or_rewind` is never used [INFO] [stdout] --> src/lexer.rs:122:4 [INFO] [stdout] | [INFO] [stdout] 122 | fn test_word_or_rewind<'a>(input: &mut Peekable, word: &'a str) -> Option<&'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Float` and `String` are never constructed [INFO] [stdout] --> src/parser.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 4 | enum ValueType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 5 | Integer(i32), [INFO] [stdout] 6 | Float(f32), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | String(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ValueType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Plus` and `Minus` are never constructed [INFO] [stdout] --> src/parser.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | enum Operator { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 12 | Plus, [INFO] [stdout] | ^^^^ [INFO] [stdout] 13 | Minus, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Operator` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Infix` and `Assignment` are never constructed [INFO] [stdout] --> src/parser.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 17 | enum Expression { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 18 | Value { value: ValueType }, [INFO] [stdout] 19 | Infix { left: Box, operator: Operator, right: Box }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 20 | Assignment { identifier: String, value: Box }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.14s [INFO] running `Command { std: "docker" "inspect" "a11e35f5b8bb58d99e065d9839a132097b04eb679c837da535377f8a3d934eac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a11e35f5b8bb58d99e065d9839a132097b04eb679c837da535377f8a3d934eac", kill_on_drop: false }` [INFO] [stdout] a11e35f5b8bb58d99e065d9839a132097b04eb679c837da535377f8a3d934eac