[INFO] cloning repository https://github.com/colbyhall/toy-lang [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/colbyhall/toy-lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcolbyhall%2Ftoy-lang", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcolbyhall%2Ftoy-lang'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 750ebe04fc8970ce562641a64dbe668458cdec46 [INFO] checking colbyhall/toy-lang/750ebe04fc8970ce562641a64dbe668458cdec46 against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcolbyhall%2Ftoy-lang" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/colbyhall/toy-lang on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/colbyhall/toy-lang [INFO] finished tweaking git repo https://github.com/colbyhall/toy-lang [INFO] tweaked toml for git repo https://github.com/colbyhall/toy-lang written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/colbyhall/toy-lang 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" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 598d1a5b0dc308cf6b48cca8ee86a231a08a5c06d3acc7b9067febe51b385d19 [INFO] running `Command { std: "docker" "start" "-a" "598d1a5b0dc308cf6b48cca8ee86a231a08a5c06d3acc7b9067febe51b385d19", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "598d1a5b0dc308cf6b48cca8ee86a231a08a5c06d3acc7b9067febe51b385d19", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "598d1a5b0dc308cf6b48cca8ee86a231a08a5c06d3acc7b9067febe51b385d19", kill_on_drop: false }` [INFO] [stdout] 598d1a5b0dc308cf6b48cca8ee86a231a08a5c06d3acc7b9067febe51b385d19 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b9f3fec83bf8d1c1a2c8c6c0c16e76420bb237153ca177ea088cbeca5eb9e7ef [INFO] running `Command { std: "docker" "start" "-a" "b9f3fec83bf8d1c1a2c8c6c0c16e76420bb237153ca177ea088cbeca5eb9e7ef", kill_on_drop: false }` [INFO] [stderr] Checking toy-lang v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `analyzer::*` [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use analyzer::*; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `analyzer::*` [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use analyzer::*; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `analyzer` [INFO] [stdout] --> src/analyzer.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | let mut analyzer = Analyzer { ast }; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analyzer` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/analyzer.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | let mut analyzer = Analyzer { ast }; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/main.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | ParseError(ParseError), [INFO] [stdout] | ---------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProgramError` 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] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 26 | ParseError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Bang` is never constructed [INFO] [stdout] --> src/lexer.rs:37:2 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum TokenVariant { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 37 | Bang, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenVariant` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `line` and `column` are never read [INFO] [stdout] --> src/lexer.rs:61:6 [INFO] [stdout] | [INFO] [stdout] 57 | pub struct Token { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 61 | pub line: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] 62 | pub column: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | LexerError(LexerError), [INFO] [stdout] | ---------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 11 | LexerError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `expected` and `found` are never read [INFO] [stdout] --> src/parser.rs:13:3 [INFO] [stdout] | [INFO] [stdout] 12 | UnexpectedToken { [INFO] [stdout] | --------------- fields in this variant [INFO] [stdout] 13 | expected: Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 14 | found: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParseError` 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 `body` is never read [INFO] [stdout] --> src/parser.rs:47:6 [INFO] [stdout] | [INFO] [stdout] 46 | pub struct Ast { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 47 | pub body: Body, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Ast` 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 `statements` is never read [INFO] [stdout] --> src/parser.rs:52:6 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct Body { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 52 | pub statements: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Body` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `mutable`, `variant`, and `value` are never read [INFO] [stdout] --> src/parser.rs:58:3 [INFO] [stdout] | [INFO] [stdout] 57 | Definition { [INFO] [stdout] | ---------- fields in this variant [INFO] [stdout] 58 | name: Token, [INFO] [stdout] | ^^^^ [INFO] [stdout] 59 | mutable: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 60 | variant: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 61 | value: Expression, [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: fields `name` and `value` are never read [INFO] [stdout] --> src/parser.rs:64:3 [INFO] [stdout] | [INFO] [stdout] 63 | Assignment { [INFO] [stdout] | ---------- fields in this variant [INFO] [stdout] 64 | name: Expression, // Variable [INFO] [stdout] | ^^^^ [INFO] [stdout] 65 | value: Expression, [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: fields `name` and `members` are never read [INFO] [stdout] --> src/parser.rs:68:3 [INFO] [stdout] | [INFO] [stdout] 67 | StructDeclaration { [INFO] [stdout] | ----------------- fields in this variant [INFO] [stdout] 68 | name: Token, [INFO] [stdout] | ^^^^ [INFO] [stdout] 69 | members: Vec, [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: fields `name`, `params`, `result`, and `body` are never read [INFO] [stdout] --> src/parser.rs:72:3 [INFO] [stdout] | [INFO] [stdout] 71 | FuntionDeclaration { [INFO] [stdout] | ------------------ fields in this variant [INFO] [stdout] 72 | name: Token, [INFO] [stdout] | ^^^^ [INFO] [stdout] 73 | params: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 74 | result: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 75 | body: Body, [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 `0` is never read [INFO] [stdout] --> src/parser.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | Expression(Expression), [INFO] [stdout] | ---------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [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] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 77 | Expression(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser.rs:78:7 [INFO] [stdout] | [INFO] [stdout] 78 | Body(Body), [INFO] [stdout] | ---- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [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] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 78 | Body(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `variant` are never read [INFO] [stdout] --> src/parser.rs:83:6 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct Declaration { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 83 | pub name: Token, [INFO] [stdout] | ^^^^ [INFO] [stdout] 84 | pub variant: Token, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Declaration` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `if_branch`, `else_if_branches`, and `else_body` are never read [INFO] [stdout] --> src/parser.rs:90:3 [INFO] [stdout] | [INFO] [stdout] 89 | Branch { [INFO] [stdout] | ------ fields in this variant [INFO] [stdout] 90 | if_branch: Box, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 91 | else_if_branches: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 92 | else_body: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `params` are never read [INFO] [stdout] --> src/parser.rs:95:3 [INFO] [stdout] | [INFO] [stdout] 94 | FunctionCall { [INFO] [stdout] | ------------ fields in this variant [INFO] [stdout] 95 | name: Token, [INFO] [stdout] | ^^^^ [INFO] [stdout] 96 | params: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` 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 `token` is never read [INFO] [stdout] --> src/parser.rs:99:3 [INFO] [stdout] | [INFO] [stdout] 98 | Constant { [INFO] [stdout] | -------- field in this variant [INFO] [stdout] 99 | token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `variant` and `members` are never read [INFO] [stdout] --> src/parser.rs:102:3 [INFO] [stdout] | [INFO] [stdout] 101 | StructLiteral { [INFO] [stdout] | ------------- fields in this variant [INFO] [stdout] 102 | variant: Token, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 103 | members: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `accesses` are never read [INFO] [stdout] --> src/parser.rs:106:3 [INFO] [stdout] | [INFO] [stdout] 105 | Variable { [INFO] [stdout] | -------- fields in this variant [INFO] [stdout] 106 | name: Token, [INFO] [stdout] | ^^^^ [INFO] [stdout] 107 | accesses: Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `condition` and `body` are never read [INFO] [stdout] --> src/parser.rs:113:6 [INFO] [stdout] | [INFO] [stdout] 112 | pub struct Branch { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 113 | pub condition: Expression, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 114 | pub body: Body, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Branch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `expression` are never read [INFO] [stdout] --> src/parser.rs:119:2 [INFO] [stdout] | [INFO] [stdout] 118 | pub struct StructLiteralDefinition { [INFO] [stdout] | ----------------------- fields in this struct [INFO] [stdout] 119 | name: Token, [INFO] [stdout] | ^^^^ [INFO] [stdout] 120 | expression: Expression, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StructLiteralDefinition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TypeInfo` is never used [INFO] [stdout] --> src/analyzer.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | pub enum TypeInfo {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AnalyzerError` is never used [INFO] [stdout] --> src/analyzer.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum AnalyzerError {} [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Analyzer` is never constructed [INFO] [stdout] --> src/analyzer.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Analyzer { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `analyze` is never used [INFO] [stdout] --> src/analyzer.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 11 | impl Analyzer { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 12 | pub fn analyze(ast: Ast) -> Result<(), AnalyzerError> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 28 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `analyzer` [INFO] [stdout] --> src/analyzer.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | let mut analyzer = Analyzer { ast }; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analyzer` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/analyzer.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | let mut analyzer = Analyzer { ast }; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/main.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | ParseError(ParseError), [INFO] [stdout] | ---------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProgramError` 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] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 26 | ParseError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Bang` is never constructed [INFO] [stdout] --> src/lexer.rs:37:2 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum TokenVariant { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 37 | Bang, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenVariant` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `line` and `column` are never read [INFO] [stdout] --> src/lexer.rs:61:6 [INFO] [stdout] | [INFO] [stdout] 57 | pub struct Token { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 61 | pub line: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] 62 | pub column: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | LexerError(LexerError), [INFO] [stdout] | ---------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 11 | LexerError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `expected` and `found` are never read [INFO] [stdout] --> src/parser.rs:13:3 [INFO] [stdout] | [INFO] [stdout] 12 | UnexpectedToken { [INFO] [stdout] | --------------- fields in this variant [INFO] [stdout] 13 | expected: Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 14 | found: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParseError` 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 `body` is never read [INFO] [stdout] --> src/parser.rs:47:6 [INFO] [stdout] | [INFO] [stdout] 46 | pub struct Ast { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 47 | pub body: Body, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Ast` 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 `statements` is never read [INFO] [stdout] --> src/parser.rs:52:6 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct Body { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 52 | pub statements: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Body` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `mutable`, `variant`, and `value` are never read [INFO] [stdout] --> src/parser.rs:58:3 [INFO] [stdout] | [INFO] [stdout] 57 | Definition { [INFO] [stdout] | ---------- fields in this variant [INFO] [stdout] 58 | name: Token, [INFO] [stdout] | ^^^^ [INFO] [stdout] 59 | mutable: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 60 | variant: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 61 | value: Expression, [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: fields `name` and `value` are never read [INFO] [stdout] --> src/parser.rs:64:3 [INFO] [stdout] | [INFO] [stdout] 63 | Assignment { [INFO] [stdout] | ---------- fields in this variant [INFO] [stdout] 64 | name: Expression, // Variable [INFO] [stdout] | ^^^^ [INFO] [stdout] 65 | value: Expression, [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: fields `name` and `members` are never read [INFO] [stdout] --> src/parser.rs:68:3 [INFO] [stdout] | [INFO] [stdout] 67 | StructDeclaration { [INFO] [stdout] | ----------------- fields in this variant [INFO] [stdout] 68 | name: Token, [INFO] [stdout] | ^^^^ [INFO] [stdout] 69 | members: Vec, [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: fields `name`, `params`, `result`, and `body` are never read [INFO] [stdout] --> src/parser.rs:72:3 [INFO] [stdout] | [INFO] [stdout] 71 | FuntionDeclaration { [INFO] [stdout] | ------------------ fields in this variant [INFO] [stdout] 72 | name: Token, [INFO] [stdout] | ^^^^ [INFO] [stdout] 73 | params: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 74 | result: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 75 | body: Body, [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 `0` is never read [INFO] [stdout] --> src/parser.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | Expression(Expression), [INFO] [stdout] | ---------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [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] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 77 | Expression(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser.rs:78:7 [INFO] [stdout] | [INFO] [stdout] 78 | Body(Body), [INFO] [stdout] | ---- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [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] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 78 | Body(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `variant` are never read [INFO] [stdout] --> src/parser.rs:83:6 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct Declaration { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 83 | pub name: Token, [INFO] [stdout] | ^^^^ [INFO] [stdout] 84 | pub variant: Token, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Declaration` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `if_branch`, `else_if_branches`, and `else_body` are never read [INFO] [stdout] --> src/parser.rs:90:3 [INFO] [stdout] | [INFO] [stdout] 89 | Branch { [INFO] [stdout] | ------ fields in this variant [INFO] [stdout] 90 | if_branch: Box, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 91 | else_if_branches: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 92 | else_body: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `params` are never read [INFO] [stdout] --> src/parser.rs:95:3 [INFO] [stdout] | [INFO] [stdout] 94 | FunctionCall { [INFO] [stdout] | ------------ fields in this variant [INFO] [stdout] 95 | name: Token, [INFO] [stdout] | ^^^^ [INFO] [stdout] 96 | params: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` 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 `token` is never read [INFO] [stdout] --> src/parser.rs:99:3 [INFO] [stdout] | [INFO] [stdout] 98 | Constant { [INFO] [stdout] | -------- field in this variant [INFO] [stdout] 99 | token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `variant` and `members` are never read [INFO] [stdout] --> src/parser.rs:102:3 [INFO] [stdout] | [INFO] [stdout] 101 | StructLiteral { [INFO] [stdout] | ------------- fields in this variant [INFO] [stdout] 102 | variant: Token, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 103 | members: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `accesses` are never read [INFO] [stdout] --> src/parser.rs:106:3 [INFO] [stdout] | [INFO] [stdout] 105 | Variable { [INFO] [stdout] | -------- fields in this variant [INFO] [stdout] 106 | name: Token, [INFO] [stdout] | ^^^^ [INFO] [stdout] 107 | accesses: Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `condition` and `body` are never read [INFO] [stdout] --> src/parser.rs:113:6 [INFO] [stdout] | [INFO] [stdout] 112 | pub struct Branch { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 113 | pub condition: Expression, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 114 | pub body: Body, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Branch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `expression` are never read [INFO] [stdout] --> src/parser.rs:119:2 [INFO] [stdout] | [INFO] [stdout] 118 | pub struct StructLiteralDefinition { [INFO] [stdout] | ----------------------- fields in this struct [INFO] [stdout] 119 | name: Token, [INFO] [stdout] | ^^^^ [INFO] [stdout] 120 | expression: Expression, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StructLiteralDefinition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TypeInfo` is never used [INFO] [stdout] --> src/analyzer.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | pub enum TypeInfo {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AnalyzerError` is never used [INFO] [stdout] --> src/analyzer.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum AnalyzerError {} [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Analyzer` is never constructed [INFO] [stdout] --> src/analyzer.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Analyzer { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `analyze` is never used [INFO] [stdout] --> src/analyzer.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 11 | impl Analyzer { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 12 | pub fn analyze(ast: Ast) -> Result<(), AnalyzerError> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 28 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.35s [INFO] running `Command { std: "docker" "inspect" "b9f3fec83bf8d1c1a2c8c6c0c16e76420bb237153ca177ea088cbeca5eb9e7ef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b9f3fec83bf8d1c1a2c8c6c0c16e76420bb237153ca177ea088cbeca5eb9e7ef", kill_on_drop: false }` [INFO] [stdout] b9f3fec83bf8d1c1a2c8c6c0c16e76420bb237153ca177ea088cbeca5eb9e7ef