[INFO] cloning repository https://github.com/Trevo-IoT/nxc
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Trevo-IoT/nxc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTrevo-IoT%2Fnxc", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTrevo-IoT%2Fnxc'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 047da98a1ca45dc9cdc28d0174b7d0dbd6e111c5
[INFO] checking Trevo-IoT/nxc against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTrevo-IoT%2Fnxc" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Trevo-IoT/nxc
[INFO] finished tweaking git repo https://github.com/Trevo-IoT/nxc
[INFO] tweaked toml for git repo https://github.com/Trevo-IoT/nxc written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Trevo-IoT/nxc on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Trevo-IoT/nxc 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7065042f7c740f3238c6d04c14c2225407bfe3d46bb420045d43c070694b4fb8
[INFO] running `Command { std: "docker" "start" "-a" "7065042f7c740f3238c6d04c14c2225407bfe3d46bb420045d43c070694b4fb8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7065042f7c740f3238c6d04c14c2225407bfe3d46bb420045d43c070694b4fb8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7065042f7c740f3238c6d04c14c2225407bfe3d46bb420045d43c070694b4fb8", kill_on_drop: false }`
[INFO] [stdout] 7065042f7c740f3238c6d04c14c2225407bfe3d46bb420045d43c070694b4fb8
[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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a969018557fff06e0cd21832f771414d2d3d74693471e0d09b756d2d9d049b92
[INFO] running `Command { std: "docker" "start" "-a" "a969018557fff06e0cd21832f771414d2d3d74693471e0d09b756d2d9d049b92", kill_on_drop: false }`
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking nxc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:519:21
[INFO] [stdout]     |
[INFO] [stdout] 519 | fn parse_assignment(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:523:25
[INFO] [stdout]     |
[INFO] [stdout] 523 | fn parse_assignment_sum(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:527:27
[INFO] [stdout]     |
[INFO] [stdout] 527 | fn parse_assignment_minus(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:531:26
[INFO] [stdout]     |
[INFO] [stdout] 531 | fn parse_assignment_mult(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:535:25
[INFO] [stdout]     |
[INFO] [stdout] 535 | fn parse_assignment_div(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:539:25
[INFO] [stdout]     |
[INFO] [stdout] 539 | fn parse_assignment_mod(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:543:16
[INFO] [stdout]     |
[INFO] [stdout] 543 | fn parse_delay(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:547:16
[INFO] [stdout]     |
[INFO] [stdout] 547 | fn parse_store(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:551:13
[INFO] [stdout]     |
[INFO] [stdout] 551 | fn parse_if(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:555:14
[INFO] [stdout]     |
[INFO] [stdout] 555 | fn parse_for(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:559:16
[INFO] [stdout]     |
[INFO] [stdout] 559 | fn parse_while(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:563:16
[INFO] [stdout]     |
[INFO] [stdout] 563 | fn parse_match(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:567:17
[INFO] [stdout]     |
[INFO] [stdout] 567 | fn parse_return(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:571:34
[INFO] [stdout]     |
[INFO] [stdout] 571 | fn parse_statement_function_call(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `arguments`, and `body` are never read
[INFO] [stdout]  --> src/parser.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Function {
[INFO] [stdout]   |     -------- fields in this variant
[INFO] [stdout] 6 |         name: String,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 7 |         arguments: Vec<String>,
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 8 |         body: Vec<Statement>,
[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]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `length`, and `data_size` are never read
[INFO] [stdout]   --> src/parser.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Record {
[INFO] [stdout]    |     ------ fields in this variant
[INFO] [stdout] 11 |         name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 12 |         length: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 13 |         data_size: usize,
[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: fields `name`, `interval_ms`, and `body` are never read
[INFO] [stdout]   --> src/parser.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Task {
[INFO] [stdout]    |     ---- fields in this variant
[INFO] [stdout] 16 |         name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 17 |         interval_ms: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 18 |         body: Vec<Statement>,
[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: fields `interface`, `packet`, `guard`, and `body` are never read
[INFO] [stdout]   --> src/parser.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     When {
[INFO] [stdout]    |     ---- fields in this variant
[INFO] [stdout] 21 |         interface: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 22 |         packet: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 23 |         guard: Guard,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 24 |         body: Vec<Statement>,
[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 `0` is never read
[INFO] [stdout]   --> src/parser.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Numeric(isize),
[INFO] [stdout]    |     ------- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Guard` 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] 30 -     Numeric(isize),
[INFO] [stdout] 30 +     Numeric(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 |     Regex(String),
[INFO] [stdout]    |     ----- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Guard` 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] 31 -     Regex(String),
[INFO] [stdout] 31 +     Regex(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/parser.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub enum Statement {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 36 |     Assignment {
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     AssignmentSum {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     AssignmentMinus {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     AssignmentMult {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     AssignmentDiv {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     AssignmentMod {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     Delay {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     Store {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     If {
[INFO] [stdout]    |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     For {
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     While {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     Match {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     Return {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     FunctionCall(FunctionCall),
[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: multiple variants are never constructed
[INFO] [stdout]    --> src/parser.rs:94:5
[INFO] [stdout]     |
[INFO] [stdout]  93 | pub enum Expression {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout]  94 |     Literal(Literal),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  95 |     Equal(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]  96 |     NotEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]  97 |     Less(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]  98 |     Greater(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  99 |     LessOrEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 100 |     GreaterOrEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 101 |     Sum(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 102 |     Minus(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 103 |     Multiply(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 104 |     Division(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 105 |     Modulus(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 106 |     Guard(Box<Expression>, Guard),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 107 |     Time(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 108 |     Pipe(Box<Expression>, FunctionCall),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 109 |     FunctionCall(FunctionCall),
[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 `arguments` are never read
[INFO] [stdout]    --> src/parser.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct FunctionCall {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 114 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 115 |     arguments: Vec<Box<Expression>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FunctionCall` 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 `Integer`, `String`, `Boolean`, and `Nil` are never constructed
[INFO] [stdout]    --> src/parser.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub enum Literal {
[INFO] [stdout]     |          ------- variants in this enum
[INFO] [stdout] 120 |     Integer(isize),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 121 |     String(String),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 122 |     Boolean(bool),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 123 |     Nil,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Literal` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:519:21
[INFO] [stdout]     |
[INFO] [stdout] 519 | fn parse_assignment(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:523:25
[INFO] [stdout]     |
[INFO] [stdout] 523 | fn parse_assignment_sum(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:527:27
[INFO] [stdout]     |
[INFO] [stdout] 527 | fn parse_assignment_minus(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:531:26
[INFO] [stdout]     |
[INFO] [stdout] 531 | fn parse_assignment_mult(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:535:25
[INFO] [stdout]     |
[INFO] [stdout] 535 | fn parse_assignment_div(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:539:25
[INFO] [stdout]     |
[INFO] [stdout] 539 | fn parse_assignment_mod(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:543:16
[INFO] [stdout]     |
[INFO] [stdout] 543 | fn parse_delay(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:547:16
[INFO] [stdout]     |
[INFO] [stdout] 547 | fn parse_store(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:551:13
[INFO] [stdout]     |
[INFO] [stdout] 551 | fn parse_if(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:555:14
[INFO] [stdout]     |
[INFO] [stdout] 555 | fn parse_for(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:559:16
[INFO] [stdout]     |
[INFO] [stdout] 559 | fn parse_while(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:563:16
[INFO] [stdout]     |
[INFO] [stdout] 563 | fn parse_match(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:567:17
[INFO] [stdout]     |
[INFO] [stdout] 567 | fn parse_return(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:571:34
[INFO] [stdout]     |
[INFO] [stdout] 571 | fn parse_statement_function_call(tokens: &mut Vec<Token>) -> Result<Option<Statement>, String> {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `arguments`, and `body` are never read
[INFO] [stdout]  --> src/parser.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Function {
[INFO] [stdout]   |     -------- fields in this variant
[INFO] [stdout] 6 |         name: String,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 7 |         arguments: Vec<String>,
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 8 |         body: Vec<Statement>,
[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]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `length`, and `data_size` are never read
[INFO] [stdout]   --> src/parser.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Record {
[INFO] [stdout]    |     ------ fields in this variant
[INFO] [stdout] 11 |         name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 12 |         length: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 13 |         data_size: usize,
[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: fields `name`, `interval_ms`, and `body` are never read
[INFO] [stdout]   --> src/parser.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Task {
[INFO] [stdout]    |     ---- fields in this variant
[INFO] [stdout] 16 |         name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 17 |         interval_ms: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 18 |         body: Vec<Statement>,
[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: fields `interface`, `packet`, `guard`, and `body` are never read
[INFO] [stdout]   --> src/parser.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     When {
[INFO] [stdout]    |     ---- fields in this variant
[INFO] [stdout] 21 |         interface: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 22 |         packet: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 23 |         guard: Guard,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 24 |         body: Vec<Statement>,
[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 `0` is never read
[INFO] [stdout]   --> src/parser.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Numeric(isize),
[INFO] [stdout]    |     ------- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Guard` 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] 30 -     Numeric(isize),
[INFO] [stdout] 30 +     Numeric(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 |     Regex(String),
[INFO] [stdout]    |     ----- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Guard` 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] 31 -     Regex(String),
[INFO] [stdout] 31 +     Regex(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/parser.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub enum Statement {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 36 |     Assignment {
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     AssignmentSum {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     AssignmentMinus {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     AssignmentMult {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     AssignmentDiv {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     AssignmentMod {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     Delay {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     Store {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     If {
[INFO] [stdout]    |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     For {
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     While {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     Match {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     Return {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     FunctionCall(FunctionCall),
[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: multiple variants are never constructed
[INFO] [stdout]    --> src/parser.rs:94:5
[INFO] [stdout]     |
[INFO] [stdout]  93 | pub enum Expression {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout]  94 |     Literal(Literal),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  95 |     Equal(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]  96 |     NotEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]  97 |     Less(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]  98 |     Greater(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  99 |     LessOrEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 100 |     GreaterOrEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 101 |     Sum(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 102 |     Minus(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 103 |     Multiply(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 104 |     Division(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 105 |     Modulus(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 106 |     Guard(Box<Expression>, Guard),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 107 |     Time(Box<Expression>, Box<Expression>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 108 |     Pipe(Box<Expression>, FunctionCall),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 109 |     FunctionCall(FunctionCall),
[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 `arguments` are never read
[INFO] [stdout]    --> src/parser.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct FunctionCall {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 114 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 115 |     arguments: Vec<Box<Expression>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FunctionCall` 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 `Integer`, `String`, `Boolean`, and `Nil` are never constructed
[INFO] [stdout]    --> src/parser.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub enum Literal {
[INFO] [stdout]     |          ------- variants in this enum
[INFO] [stdout] 120 |     Integer(isize),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 121 |     String(String),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 122 |     Boolean(bool),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 123 |     Nil,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Literal` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.22s
[INFO] running `Command { std: "docker" "inspect" "a969018557fff06e0cd21832f771414d2d3d74693471e0d09b756d2d9d049b92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a969018557fff06e0cd21832f771414d2d3d74693471e0d09b756d2d9d049b92", kill_on_drop: false }`
[INFO] [stdout] a969018557fff06e0cd21832f771414d2d3d74693471e0d09b756d2d9d049b92
