[INFO] fetching crate leafbuild 0.0.1-dev.1...
[INFO] checking leafbuild-0.0.1-dev.1 against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] extracting crate leafbuild 0.0.1-dev.1 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate leafbuild 0.0.1-dev.1
[INFO] finished tweaking crates.io crate leafbuild 0.0.1-dev.1
[INFO] tweaked toml for crates.io crate leafbuild 0.0.1-dev.1 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate leafbuild 0.0.1-dev.1 on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate leafbuild 0.0.1-dev.1 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" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded beef v0.4.4
[INFO] [stderr]   Downloaded thiserror-impl v1.0.21
[INFO] [stderr]   Downloaded thiserror v1.0.21
[INFO] [stderr]   Downloaded unindent v0.1.7
[INFO] [stderr]   Downloaded which v4.0.2
[INFO] [stderr]   Downloaded logos-derive v0.11.5
[INFO] [stderr]   Downloaded bit-vec v0.6.2
[INFO] [stderr]   Downloaded os_str_bytes v2.3.2
[INFO] [stderr]   Downloaded codespan-reporting v0.9.5
[INFO] [stderr]   Downloaded serde_derive v1.0.117
[INFO] [stderr]   Downloaded serde v1.0.117
[INFO] [stderr]   Downloaded docopt v1.1.0
[INFO] [stderr]   Downloaded ascii-canvas v2.0.0
[INFO] [stderr]   Downloaded ena v0.14.0
[INFO] [stderr]   Downloaded lalrpop v0.19.1
[INFO] [stderr]   Downloaded siphasher v0.3.3
[INFO] [stderr]   Downloaded lalrpop-util v0.19.1
[INFO] [stderr]   Downloaded paste v1.0.2
[INFO] [stderr]   Downloaded string_cache v0.8.0
[INFO] [stderr]   Downloaded logos v0.11.4
[INFO] [stderr]   Downloaded utf8-ranges v1.0.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6afcf37cd846d92915b4f8fc495bcd921459e38fd78e8f849354c819e1bc5b54
[INFO] running `Command { std: "docker" "start" "-a" "6afcf37cd846d92915b4f8fc495bcd921459e38fd78e8f849354c819e1bc5b54", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6afcf37cd846d92915b4f8fc495bcd921459e38fd78e8f849354c819e1bc5b54", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6afcf37cd846d92915b4f8fc495bcd921459e38fd78e8f849354c819e1bc5b54", kill_on_drop: false }`
[INFO] [stdout] 6afcf37cd846d92915b4f8fc495bcd921459e38fd78e8f849354c819e1bc5b54
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 18bcfcbc6f1e8ab0cfd2d70f9fab92473bdab39121fa318ff1a521cfa9f4768b
[INFO] running `Command { std: "docker" "start" "-a" "18bcfcbc6f1e8ab0cfd2d70f9fab92473bdab39121fa318ff1a521cfa9f4768b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.80
[INFO] [stderr]    Compiling syn v1.0.48
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]    Compiling serde_derive v1.0.117
[INFO] [stderr]    Compiling regex-syntax v0.6.20
[INFO] [stderr]    Compiling serde v1.0.117
[INFO] [stderr]    Compiling byte-tools v0.3.1
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling typenum v1.12.0
[INFO] [stderr]    Compiling indexmap v1.6.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling thread_local v1.0.1
[INFO] [stderr]    Compiling hashbrown v0.9.1
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling siphasher v0.3.3
[INFO] [stderr]    Compiling block-padding v0.1.5
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.4
[INFO] [stderr]    Compiling bit-vec v0.6.2
[INFO] [stderr]    Compiling fake-simd v0.1.2
[INFO] [stderr]    Compiling strsim v0.9.3
[INFO] [stderr]    Compiling fixedbitset v0.2.0
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling opaque-debug v0.2.3
[INFO] [stderr]    Compiling aho-corasick v0.7.14
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]    Compiling ena v0.14.0
[INFO] [stderr]    Compiling lalrpop-util v0.19.1
[INFO] [stderr]    Compiling bit-set v0.5.2
[INFO] [stderr]    Compiling unicode-segmentation v1.6.0
[INFO] [stderr]    Compiling diff v0.1.12
[INFO] [stderr]    Compiling dirs v1.0.5
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]     Checking dirs-sys v0.3.5
[INFO] [stderr]    Compiling utf8-ranges v1.0.4
[INFO] [stderr]    Compiling beef v0.4.4
[INFO] [stderr]    Compiling generic-array v0.12.3
[INFO] [stderr]    Compiling term v0.5.2
[INFO] [stderr]    Compiling petgraph v0.5.1
[INFO] [stderr]    Compiling heck v0.3.1
[INFO] [stderr]     Checking textwrap v0.12.1
[INFO] [stderr]     Checking os_str_bytes v2.3.2
[INFO] [stderr]    Compiling digest v0.8.1
[INFO] [stderr]    Compiling block-buffer v0.7.3
[INFO] [stderr]     Checking codespan-reporting v0.9.5
[INFO] [stderr]     Checking dirs v2.0.2
[INFO] [stderr]    Compiling paste v1.0.2
[INFO] [stderr]     Checking unindent v0.1.7
[INFO] [stderr]    Compiling sha2 v0.8.2
[INFO] [stderr]     Checking term v0.6.1
[INFO] [stderr]    Compiling ascii-canvas v2.0.0
[INFO] [stderr]    Compiling regex v1.4.1
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]     Checking pretty_env_logger v0.4.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.21
[INFO] [stderr]    Compiling clap_derive v3.0.0-beta.2
[INFO] [stderr]    Compiling logos-derive v0.11.5
[INFO] [stderr]     Checking thiserror v1.0.21
[INFO] [stderr]     Checking which v4.0.2
[INFO] [stderr]     Checking clap v3.0.0-beta.2
[INFO] [stderr]     Checking logos v0.11.4
[INFO] [stderr]    Compiling docopt v1.1.0
[INFO] [stderr]    Compiling string_cache v0.8.0
[INFO] [stderr]    Compiling lalrpop v0.19.1
[INFO] [stderr]    Compiling leafbuild v0.0.1-dev.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: associated function `from_string` is never used
[INFO] [stdout]   --> src/buildsys-utils/toolchain/flags/c.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl CCompilationFlag {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 40 |     /// creates a flag from a string
[INFO] [stdout] 41 |     fn from_string(s: impl Into<String>) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_string` is never used
[INFO] [stdout]   --> src/buildsys-utils/toolchain/flags/c.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl CLinkFlag {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 55 |     /// creates a flag from a string
[INFO] [stdout] 56 |     fn from_string(s: impl Into<String>) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Location` is never used
[INFO] [stdout]  --> src/grammar/ast.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | type Location = Range<usize>;
[INFO] [stdout]   |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AstLoc` is never used
[INFO] [stdout]  --> src/grammar/ast.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) trait AstLoc {
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_boxed_value` is never used
[INFO] [stdout]   --> src/grammar/ast.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl NumVal {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 39 |     fn to_boxed_value(self) -> Box<dyn Any> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Spanned` is never constructed
[INFO] [stdout]    --> src/grammar/ast.rs:204:19
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub(crate) struct Spanned<T> {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base` and `property_name` are never read
[INFO] [stdout]    --> src/grammar/ast.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub struct AstPropertyAccess {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 265 |     base: Box<Expr>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 266 |     property_name: (String, Span),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstPropertyAccess` 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: methods `get_base`, `get_property_name`, and `get_property_name_loc` are never used
[INFO] [stdout]    --> src/grammar/ast.rs:277:19
[INFO] [stdout]     |
[INFO] [stdout] 269 | impl AstPropertyAccess {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub(crate) fn get_base(&self) -> &Expr {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub(crate) fn get_property_name(&self) -> &String {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub(crate) fn get_property_name_loc(&self) -> &Span {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `end_pos` is never read
[INFO] [stdout]    --> src/grammar/ast.rs:412:5
[INFO] [stdout]     |
[INFO] [stdout] 409 | pub struct AstFuncCall {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 412 |     end_pos: usize,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstFuncCall` 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 `value` is never read
[INFO] [stdout]    --> src/grammar/ast.rs:486:5
[INFO] [stdout]     |
[INFO] [stdout] 485 | pub struct AstPositionalArg {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 486 |     value: Expr,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstPositionalArg` 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: method `get_value` is never used
[INFO] [stdout]    --> src/grammar/ast.rs:490:19
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl AstPositionalArg {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] 490 |     pub(crate) fn get_value(&self) -> &Expr {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `method_property`, `args`, and `end_pos` are never read
[INFO] [stdout]    --> src/grammar/ast.rs:549:5
[INFO] [stdout]     |
[INFO] [stdout] 548 | pub struct AstMethodCall {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 549 |     method_property: AstPropertyAccess,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 550 |     args: AstFuncCallArgs,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 551 |     end_pos: usize,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstMethodCall` 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: methods `get_base_expr`, `get_name`, `get_name_loc`, and `get_args` are never used
[INFO] [stdout]    --> src/grammar/ast.rs:567:19
[INFO] [stdout]     |
[INFO] [stdout] 554 | impl AstMethodCall {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 567 |     pub(crate) fn get_base_expr(&self) -> &Expr {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 571 |     pub(crate) fn get_name(&self) -> &String {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 575 |     pub(crate) fn get_name_loc(&self) -> &Span {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 579 |     pub(crate) fn get_args(&self) -> &AstFuncCallArgs {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `let_tok` and `eq` are never read
[INFO] [stdout]    --> src/grammar/ast.rs:635:5
[INFO] [stdout]     |
[INFO] [stdout] 634 | pub struct AstDeclaration {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 635 |     let_tok: Span,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 636 |     name: (String, Span),
[INFO] [stdout] 637 |     eq: Span,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstDeclaration` 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 `if_tok`, `condition`, `lbrace`, `statements`, and `rbrace` are never read
[INFO] [stdout]    --> src/grammar/ast.rs:686:5
[INFO] [stdout]     |
[INFO] [stdout] 685 | pub struct AstIf {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 686 |     if_tok: Span,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 687 |     condition: Box<Expr>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 688 |     lbrace: Span,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 689 |     statements: Vec<AstStatement>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 690 |     rbrace: Span,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstIf` 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: methods `get_condition` and `get_statements` are never used
[INFO] [stdout]    --> src/grammar/ast.rs:710:19
[INFO] [stdout]     |
[INFO] [stdout] 693 | impl AstIf {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 710 |     pub(crate) fn get_condition(&self) -> &Expr {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 713 |     pub(crate) fn get_statements(&self) -> &Vec<AstStatement> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `else_tok` and `if_` are never read
[INFO] [stdout]    --> src/grammar/ast.rs:730:5
[INFO] [stdout]     |
[INFO] [stdout] 729 | pub struct AstElseIf {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 730 |     else_tok: Span,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 731 |     if_: AstIf,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstElseIf` 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: method `get_if` is never used
[INFO] [stdout]    --> src/grammar/ast.rs:749:19
[INFO] [stdout]     |
[INFO] [stdout] 744 | impl AstElseIf {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 749 |     pub(crate) fn get_if(&self) -> &AstIf {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `else_tok`, `lbrace`, `statements`, and `rbrace` are never read
[INFO] [stdout]    --> src/grammar/ast.rs:756:5
[INFO] [stdout]     |
[INFO] [stdout] 755 | pub struct AstElse {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 756 |     else_tok: Span,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 757 |     lbrace: Span,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 758 |     statements: Vec<AstStatement>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 759 |     rbrace: Span,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstElse` 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: method `get_statements` is never used
[INFO] [stdout]    --> src/grammar/ast.rs:787:19
[INFO] [stdout]     |
[INFO] [stdout] 772 | impl AstElse {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 787 |     pub(crate) fn get_statements(&self) -> &Vec<AstStatement> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `initial_if`, `else_ifs`, and `else_` are never read
[INFO] [stdout]    --> src/grammar/ast.rs:794:5
[INFO] [stdout]     |
[INFO] [stdout] 793 | pub struct AstConditionalStatement {
[INFO] [stdout]     |            ----------------------- fields in this struct
[INFO] [stdout] 794 |     initial_if: Box<AstIf>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 795 |     else_ifs: Vec<AstElseIf>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 796 |     else_: Box<Option<AstElse>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstConditionalStatement` 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: methods `get_initial_if`, `get_else_ifs`, and `get_else` are never used
[INFO] [stdout]    --> src/grammar/ast.rs:808:19
[INFO] [stdout]     |
[INFO] [stdout] 799 | impl AstConditionalStatement {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 808 |     pub(crate) fn get_initial_if(&self) -> &AstIf {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 811 |     pub(crate) fn get_else_ifs(&self) -> &Vec<AstElseIf> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 814 |     pub(crate) fn get_else(&self) -> &Option<AstElse> {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `foreach_tok`, `for_in_expr`, `lbrace`, `statements`, and `rbrace` are never read
[INFO] [stdout]    --> src/grammar/ast.rs:837:5
[INFO] [stdout]     |
[INFO] [stdout] 836 | pub struct AstRepetitiveStatement {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] 837 |     foreach_tok: Span,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 838 |     for_in_expr: AstForInExpr,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 839 |     lbrace: Span,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 840 |     statements: Vec<AstStatement>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 841 |     rbrace: Span,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstRepetitiveStatement` 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: methods `get_for_in_expr` and `get_statements` are never used
[INFO] [stdout]    --> src/grammar/ast.rs:861:19
[INFO] [stdout]     |
[INFO] [stdout] 844 | impl AstRepetitiveStatement {
[INFO] [stdout]     | --------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 861 |     pub(crate) fn get_for_in_expr(&self) -> &AstForInExpr {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 864 |     pub(crate) fn get_statements(&self) -> &Vec<AstStatement> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `in_tok`, and `expr` are never read
[INFO] [stdout]    --> src/grammar/ast.rs:881:5
[INFO] [stdout]     |
[INFO] [stdout] 880 | pub struct AstForInExpr {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 881 |     name: (String, Span),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 882 |     in_tok: Span,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 883 |     expr: Box<Expr>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstForInExpr` 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: methods `get_name` and `get_expr` are never used
[INFO] [stdout]    --> src/grammar/ast.rs:891:19
[INFO] [stdout]     |
[INFO] [stdout] 886 | impl AstForInExpr {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 891 |     pub(crate) fn get_name(&self) -> &(String, Span) {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 895 |     pub(crate) fn get_expr(&self) -> &Expr {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start` and `end` are never read
[INFO] [stdout]  --> src/grammar/lexer.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Span {
[INFO] [stdout]   |            ---- fields in this struct
[INFO] [stdout] 6 |     start: usize,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 7 |     end: usize,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Span` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_rng`, `get_start`, and `get_end` are never used
[INFO] [stdout]   --> src/grammar/lexer.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Span {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub(crate) fn as_rng(&self) -> Range<usize> {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub(crate) fn get_start(&self) -> usize {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub(crate) fn get_end(&self) -> usize {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `token`, `data`, and `span` are never read
[INFO] [stdout]    --> src/grammar/lexer.rs:159:16
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub struct LexicalError<'data> {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 159 |     pub(crate) token: Tk,
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 160 |     pub(crate) data: &'data str,
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 161 |     pub(crate) span: Span,
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write_results` and `get_env` are never used
[INFO] [stdout]   --> src/handle/mod.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<'a> Handle<'a> {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub(crate) fn write_results(&mut self) {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub(crate) fn get_env(&self) -> &Env {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DOCS_ROOT` is never used
[INFO] [stdout]  --> src/interpreter/mod.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub(crate) const DOCS_ROOT: &str = "https://leafbuild.github.io/";
[INFO] [stdout]   |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_id` is never read
[INFO] [stdout]   --> src/interpreter/env.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) struct EnvFrame<'frame> {
[INFO] [stdout]    |                   -------- field in this struct
[INFO] [stdout] 25 |     file_id: FileId,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grammar/mod.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |     source: &str,
[INFO] [stdout]    |             ^^^^ the lifetime is elided here
[INFO] [stdout] 14 | ) -> Result<ast::AstBuildDefinition, ParseError<usize, lexer::Token, LexicalError>> {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^  ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 | ) -> Result<ast::AstBuildDefinition, ParseError<usize, lexer::Token<'_>, LexicalError<'_>>> {
[INFO] [stdout]    |                                                                    ++++              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/handle/mod.rs:20:27
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub(crate) fn get_env(&self) -> &Env {
[INFO] [stdout]    |                           ^^^^^     ^^^^
[INFO] [stdout]    |                           |         ||
[INFO] [stdout]    |                           |         |the same lifetime is hidden here
[INFO] [stdout]    |                           |         the same lifetime is elided here
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub(crate) fn get_env(&self) -> &Env<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/handle/mod.rs:24:56
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub(crate) fn get_env_mut(&'a mut self) -> &'a mut Env {
[INFO] [stdout]    |                                --               --     ^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                |                |
[INFO] [stdout]    |                                |                the same lifetime is named here
[INFO] [stdout]    |                                the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub(crate) fn get_env_mut(&'a mut self) -> &'a mut Env<'a> {
[INFO] [stdout]    |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_string` is never used
[INFO] [stdout]   --> src/buildsys-utils/toolchain/flags/c.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl CCompilationFlag {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 40 |     /// creates a flag from a string
[INFO] [stdout] 41 |     fn from_string(s: impl Into<String>) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_string` is never used
[INFO] [stdout]   --> src/buildsys-utils/toolchain/flags/c.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl CLinkFlag {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 55 |     /// creates a flag from a string
[INFO] [stdout] 56 |     fn from_string(s: impl Into<String>) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Location` is never used
[INFO] [stdout]  --> src/grammar/ast.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | type Location = Range<usize>;
[INFO] [stdout]   |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AstLoc` is never used
[INFO] [stdout]  --> src/grammar/ast.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) trait AstLoc {
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_boxed_value` is never used
[INFO] [stdout]   --> src/grammar/ast.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl NumVal {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 39 |     fn to_boxed_value(self) -> Box<dyn Any> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Spanned` is never constructed
[INFO] [stdout]    --> src/grammar/ast.rs:204:19
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub(crate) struct Spanned<T> {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base` and `property_name` are never read
[INFO] [stdout]    --> src/grammar/ast.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub struct AstPropertyAccess {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 265 |     base: Box<Expr>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 266 |     property_name: (String, Span),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstPropertyAccess` 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: methods `get_base`, `get_property_name`, and `get_property_name_loc` are never used
[INFO] [stdout]    --> src/grammar/ast.rs:277:19
[INFO] [stdout]     |
[INFO] [stdout] 269 | impl AstPropertyAccess {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub(crate) fn get_base(&self) -> &Expr {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub(crate) fn get_property_name(&self) -> &String {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub(crate) fn get_property_name_loc(&self) -> &Span {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `end_pos` is never read
[INFO] [stdout]    --> src/grammar/ast.rs:412:5
[INFO] [stdout]     |
[INFO] [stdout] 409 | pub struct AstFuncCall {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 412 |     end_pos: usize,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstFuncCall` 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 `value` is never read
[INFO] [stdout]    --> src/grammar/ast.rs:486:5
[INFO] [stdout]     |
[INFO] [stdout] 485 | pub struct AstPositionalArg {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 486 |     value: Expr,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstPositionalArg` 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: method `get_value` is never used
[INFO] [stdout]    --> src/grammar/ast.rs:490:19
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl AstPositionalArg {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] 490 |     pub(crate) fn get_value(&self) -> &Expr {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `method_property`, `args`, and `end_pos` are never read
[INFO] [stdout]    --> src/grammar/ast.rs:549:5
[INFO] [stdout]     |
[INFO] [stdout] 548 | pub struct AstMethodCall {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 549 |     method_property: AstPropertyAccess,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 550 |     args: AstFuncCallArgs,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 551 |     end_pos: usize,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstMethodCall` 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: methods `get_base_expr`, `get_name`, `get_name_loc`, and `get_args` are never used
[INFO] [stdout]    --> src/grammar/ast.rs:567:19
[INFO] [stdout]     |
[INFO] [stdout] 554 | impl AstMethodCall {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 567 |     pub(crate) fn get_base_expr(&self) -> &Expr {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 571 |     pub(crate) fn get_name(&self) -> &String {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 575 |     pub(crate) fn get_name_loc(&self) -> &Span {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 579 |     pub(crate) fn get_args(&self) -> &AstFuncCallArgs {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `let_tok` and `eq` are never read
[INFO] [stdout]    --> src/grammar/ast.rs:635:5
[INFO] [stdout]     |
[INFO] [stdout] 634 | pub struct AstDeclaration {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 635 |     let_tok: Span,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 636 |     name: (String, Span),
[INFO] [stdout] 637 |     eq: Span,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstDeclaration` 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 `if_tok`, `condition`, `lbrace`, `statements`, and `rbrace` are never read
[INFO] [stdout]    --> src/grammar/ast.rs:686:5
[INFO] [stdout]     |
[INFO] [stdout] 685 | pub struct AstIf {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 686 |     if_tok: Span,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 687 |     condition: Box<Expr>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 688 |     lbrace: Span,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 689 |     statements: Vec<AstStatement>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 690 |     rbrace: Span,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstIf` 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: methods `get_condition` and `get_statements` are never used
[INFO] [stdout]    --> src/grammar/ast.rs:710:19
[INFO] [stdout]     |
[INFO] [stdout] 693 | impl AstIf {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 710 |     pub(crate) fn get_condition(&self) -> &Expr {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 713 |     pub(crate) fn get_statements(&self) -> &Vec<AstStatement> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `else_tok` and `if_` are never read
[INFO] [stdout]    --> src/grammar/ast.rs:730:5
[INFO] [stdout]     |
[INFO] [stdout] 729 | pub struct AstElseIf {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 730 |     else_tok: Span,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 731 |     if_: AstIf,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstElseIf` 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: method `get_if` is never used
[INFO] [stdout]    --> src/grammar/ast.rs:749:19
[INFO] [stdout]     |
[INFO] [stdout] 744 | impl AstElseIf {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 749 |     pub(crate) fn get_if(&self) -> &AstIf {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `else_tok`, `lbrace`, `statements`, and `rbrace` are never read
[INFO] [stdout]    --> src/grammar/ast.rs:756:5
[INFO] [stdout]     |
[INFO] [stdout] 755 | pub struct AstElse {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 756 |     else_tok: Span,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 757 |     lbrace: Span,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 758 |     statements: Vec<AstStatement>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 759 |     rbrace: Span,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstElse` 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: method `get_statements` is never used
[INFO] [stdout]    --> src/grammar/ast.rs:787:19
[INFO] [stdout]     |
[INFO] [stdout] 772 | impl AstElse {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 787 |     pub(crate) fn get_statements(&self) -> &Vec<AstStatement> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `initial_if`, `else_ifs`, and `else_` are never read
[INFO] [stdout]    --> src/grammar/ast.rs:794:5
[INFO] [stdout]     |
[INFO] [stdout] 793 | pub struct AstConditionalStatement {
[INFO] [stdout]     |            ----------------------- fields in this struct
[INFO] [stdout] 794 |     initial_if: Box<AstIf>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 795 |     else_ifs: Vec<AstElseIf>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 796 |     else_: Box<Option<AstElse>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstConditionalStatement` 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: methods `get_initial_if`, `get_else_ifs`, and `get_else` are never used
[INFO] [stdout]    --> src/grammar/ast.rs:808:19
[INFO] [stdout]     |
[INFO] [stdout] 799 | impl AstConditionalStatement {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 808 |     pub(crate) fn get_initial_if(&self) -> &AstIf {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 811 |     pub(crate) fn get_else_ifs(&self) -> &Vec<AstElseIf> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 814 |     pub(crate) fn get_else(&self) -> &Option<AstElse> {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `foreach_tok`, `for_in_expr`, `lbrace`, `statements`, and `rbrace` are never read
[INFO] [stdout]    --> src/grammar/ast.rs:837:5
[INFO] [stdout]     |
[INFO] [stdout] 836 | pub struct AstRepetitiveStatement {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] 837 |     foreach_tok: Span,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 838 |     for_in_expr: AstForInExpr,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 839 |     lbrace: Span,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 840 |     statements: Vec<AstStatement>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 841 |     rbrace: Span,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstRepetitiveStatement` 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: methods `get_for_in_expr` and `get_statements` are never used
[INFO] [stdout]    --> src/grammar/ast.rs:861:19
[INFO] [stdout]     |
[INFO] [stdout] 844 | impl AstRepetitiveStatement {
[INFO] [stdout]     | --------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 861 |     pub(crate) fn get_for_in_expr(&self) -> &AstForInExpr {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 864 |     pub(crate) fn get_statements(&self) -> &Vec<AstStatement> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `in_tok`, and `expr` are never read
[INFO] [stdout]    --> src/grammar/ast.rs:881:5
[INFO] [stdout]     |
[INFO] [stdout] 880 | pub struct AstForInExpr {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 881 |     name: (String, Span),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 882 |     in_tok: Span,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 883 |     expr: Box<Expr>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstForInExpr` 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: methods `get_name` and `get_expr` are never used
[INFO] [stdout]    --> src/grammar/ast.rs:891:19
[INFO] [stdout]     |
[INFO] [stdout] 886 | impl AstForInExpr {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 891 |     pub(crate) fn get_name(&self) -> &(String, Span) {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 895 |     pub(crate) fn get_expr(&self) -> &Expr {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start` and `end` are never read
[INFO] [stdout]  --> src/grammar/lexer.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Span {
[INFO] [stdout]   |            ---- fields in this struct
[INFO] [stdout] 6 |     start: usize,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 7 |     end: usize,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Span` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_rng`, `get_start`, and `get_end` are never used
[INFO] [stdout]   --> src/grammar/lexer.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Span {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub(crate) fn as_rng(&self) -> Range<usize> {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub(crate) fn get_start(&self) -> usize {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub(crate) fn get_end(&self) -> usize {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `token`, `data`, and `span` are never read
[INFO] [stdout]    --> src/grammar/lexer.rs:159:16
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub struct LexicalError<'data> {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 159 |     pub(crate) token: Tk,
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 160 |     pub(crate) data: &'data str,
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 161 |     pub(crate) span: Span,
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write_results` and `get_env` are never used
[INFO] [stdout]   --> src/handle/mod.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<'a> Handle<'a> {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub(crate) fn write_results(&mut self) {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub(crate) fn get_env(&self) -> &Env {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DOCS_ROOT` is never used
[INFO] [stdout]  --> src/interpreter/mod.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub(crate) const DOCS_ROOT: &str = "https://leafbuild.github.io/";
[INFO] [stdout]   |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_id` is never read
[INFO] [stdout]   --> src/interpreter/env.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) struct EnvFrame<'frame> {
[INFO] [stdout]    |                   -------- field in this struct
[INFO] [stdout] 25 |     file_id: FileId,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grammar/mod.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |     source: &str,
[INFO] [stdout]    |             ^^^^ the lifetime is elided here
[INFO] [stdout] 14 | ) -> Result<ast::AstBuildDefinition, ParseError<usize, lexer::Token, LexicalError>> {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^  ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 | ) -> Result<ast::AstBuildDefinition, ParseError<usize, lexer::Token<'_>, LexicalError<'_>>> {
[INFO] [stdout]    |                                                                    ++++              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/handle/mod.rs:20:27
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub(crate) fn get_env(&self) -> &Env {
[INFO] [stdout]    |                           ^^^^^     ^^^^
[INFO] [stdout]    |                           |         ||
[INFO] [stdout]    |                           |         |the same lifetime is hidden here
[INFO] [stdout]    |                           |         the same lifetime is elided here
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub(crate) fn get_env(&self) -> &Env<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/handle/mod.rs:24:56
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub(crate) fn get_env_mut(&'a mut self) -> &'a mut Env {
[INFO] [stdout]    |                                --               --     ^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                |                |
[INFO] [stdout]    |                                |                the same lifetime is named here
[INFO] [stdout]    |                                the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub(crate) fn get_env_mut(&'a mut self) -> &'a mut Env<'a> {
[INFO] [stdout]    |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |             interpreter::start_on(&mut handle, proj_path.to_path_buf());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 100 |             let _ = interpreter::start_on(&mut handle, proj_path.to_path_buf());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |             interpreter::start_on(&mut handle, proj_path.to_path_buf());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 100 |             let _ = interpreter::start_on(&mut handle, proj_path.to_path_buf());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.69s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: lalrpop v0.19.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "18bcfcbc6f1e8ab0cfd2d70f9fab92473bdab39121fa318ff1a521cfa9f4768b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "18bcfcbc6f1e8ab0cfd2d70f9fab92473bdab39121fa318ff1a521cfa9f4768b", kill_on_drop: false }`
[INFO] [stdout] 18bcfcbc6f1e8ab0cfd2d70f9fab92473bdab39121fa318ff1a521cfa9f4768b
