[INFO] cloning repository https://github.com/kavishsathia/star [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kavishsathia/star" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkavishsathia%2Fstar", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkavishsathia%2Fstar'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 18c05d922e1f49334800c9617dd7c357a0904793 [INFO] checking kavishsathia/star against try#66388cc165a6c4ac98c074dc9f0281ff23528c55 for pr-150727 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkavishsathia%2Fstar" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/kavishsathia/star [INFO] finished tweaking git repo https://github.com/kavishsathia/star [INFO] tweaked toml for git repo https://github.com/kavishsathia/star written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/kavishsathia/star on toolchain 66388cc165a6c4ac98c074dc9f0281ff23528c55 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/kavishsathia/star 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" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 48aa918f5a64eaca7d6ccca6187b7987311e71bfc8865261f59fb3d8db0d3108 [INFO] running `Command { std: "docker" "start" "-a" "48aa918f5a64eaca7d6ccca6187b7987311e71bfc8865261f59fb3d8db0d3108", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "48aa918f5a64eaca7d6ccca6187b7987311e71bfc8865261f59fb3d8db0d3108", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "48aa918f5a64eaca7d6ccca6187b7987311e71bfc8865261f59fb3d8db0d3108", kill_on_drop: false }` [INFO] [stdout] 48aa918f5a64eaca7d6ccca6187b7987311e71bfc8865261f59fb3d8db0d3108 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c2b59009e74d37ae3fd4945d149485d5893f0cd1d29fa4f3f142a85a760ea00d [INFO] running `Command { std: "docker" "start" "-a" "c2b59009e74d37ae3fd4945d149485d5893f0cd1d29fa4f3f142a85a760ea00d", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.179 [INFO] [stderr] Compiling zmij v1.0.10 [INFO] [stderr] Compiling cranelift-isle v0.116.1 [INFO] [stderr] Compiling zerocopy v0.8.31 [INFO] [stderr] Checking log v0.4.29 [INFO] [stderr] Checking hashbrown v0.15.5 [INFO] [stderr] Checking bumpalo v3.19.1 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling cranelift-codegen-shared v0.116.1 [INFO] [stderr] Compiling serde_json v1.0.148 [INFO] [stderr] Compiling target-lexicon v0.13.4 [INFO] [stderr] Compiling syn v2.0.112 [INFO] [stderr] Checking indexmap v2.12.1 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Checking generic-array v0.14.7 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling cranelift-codegen-meta v0.116.1 [INFO] [stderr] Compiling wasmparser v0.221.3 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Checking arbitrary v1.4.2 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking semver v1.0.27 [INFO] [stderr] Compiling wasm-encoder v0.243.0 [INFO] [stderr] Checking gimli v0.31.1 [INFO] [stderr] Checking cranelift-control v0.116.1 [INFO] [stderr] Checking linux-raw-sys v0.4.15 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling cpp_demangle v0.4.5 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking crypto-common v0.1.7 [INFO] [stderr] Checking winnow v0.7.14 [INFO] [stderr] Compiling id-arena v2.2.1 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Checking leb128fmt v0.1.0 [INFO] [stderr] Checking leb128 v0.2.5 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Checking wasm-encoder v0.221.3 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling cc v1.2.51 [INFO] [stderr] Checking dirs-sys-next v0.1.2 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling wasmtime-cache v29.0.1 [INFO] [stderr] Checking wasmtime-component-util v29.0.1 [INFO] [stderr] Checking uuid v1.19.0 [INFO] [stderr] Checking ahash v0.8.12 [INFO] [stderr] Compiling wasmtime-component-macro v29.0.1 [INFO] [stderr] Checking rustc-demangle v0.1.26 [INFO] [stderr] Compiling beef v0.5.2 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking debugid v0.8.0 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking wast v243.0.0 [INFO] [stderr] Checking directories-next v2.0.0 [INFO] [stderr] Checking wasmtime-asm-macros v29.0.1 [INFO] [stderr] Checking wasmtime-math v29.0.1 [INFO] [stderr] Checking wasmtime-jit-icache-coherence v29.0.1 [INFO] [stderr] Checking sptr v0.3.2 [INFO] [stderr] Checking wasmtime-slab v29.0.1 [INFO] [stderr] Compiling cranelift-codegen v0.116.1 [INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7 [INFO] [stderr] Compiling ittapi-sys v0.4.0 [INFO] [stderr] Checking addr2line v0.24.2 [INFO] [stderr] Checking ittapi v0.4.0 [INFO] [stderr] Checking memfd v0.6.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling wasmtime-versioned-export-macros v29.0.1 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling logos-codegen v0.16.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling trait-variant v0.1.2 [INFO] [stderr] Compiling wasmtime-fiber v29.0.1 [INFO] [stderr] Compiling wasmtime v29.0.1 [INFO] [stderr] Checking cobs v0.3.0 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking wasmtime-jit-debug v29.0.1 [INFO] [stderr] Compiling logos-derive v0.16.0 [INFO] [stderr] Checking logos v0.16.0 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Checking zstd v0.13.3 [INFO] [stderr] Checking cranelift-bitset v0.116.1 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Checking postcard v1.1.3 [INFO] [stderr] Checking serde_spanned v0.6.9 [INFO] [stderr] Checking toml_datetime v0.6.11 [INFO] [stderr] Checking fxprof-processed-profile v0.6.0 [INFO] [stderr] Compiling wit-parser v0.221.3 [INFO] [stderr] Checking cranelift-entity v0.116.1 [INFO] [stderr] Checking toml_edit v0.22.27 [INFO] [stderr] Checking regalloc2 v0.11.2 [INFO] [stderr] Checking wat v1.243.0 [INFO] [stderr] Checking cranelift-bforest v0.116.1 [INFO] [stderr] Checking toml v0.8.23 [INFO] [stderr] Compiling wasmtime-wit-bindgen v29.0.1 [INFO] [stderr] Checking wasmprinter v0.221.3 [INFO] [stderr] Checking wasmtime-environ v29.0.1 [INFO] [stderr] Checking cranelift-frontend v0.116.1 [INFO] [stderr] Checking cranelift-native v0.116.1 [INFO] [stderr] Checking wasmtime-cranelift v29.0.1 [INFO] [stderr] Checking star v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Expr`, `Statement`, `TypeKind`, `Type`, and `UnaryOp` [INFO] [stdout] --> src/parser/mod.rs:7:28 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::ast::{BinaryOp, Expr, Program, Statement, Type, TypeKind, UnaryOp}; [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 import: `self` [INFO] [stdout] --> src/types/stmt.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::tast::{self, TypedStatement, TypedProgram}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Expr`, `Statement`, `TypeKind`, `Type`, and `UnaryOp` [INFO] [stdout] --> src/parser/mod.rs:7:28 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::ast::{BinaryOp, Expr, Program, Statement, Type, TypeKind, UnaryOp}; [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 import: `self` [INFO] [stdout] --> src/types/stmt.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::tast::{self, TypedStatement, TypedProgram}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/types/expr.rs:269:32 [INFO] [stdout] | [INFO] [stdout] 269 | ast::Expr::Match { expr, binding, arms } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `expr: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `binding` [INFO] [stdout] --> src/types/expr.rs:269:38 [INFO] [stdout] | [INFO] [stdout] 269 | ast::Expr::Match { expr, binding, arms } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `binding: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arms` [INFO] [stdout] --> src/types/expr.rs:269:47 [INFO] [stdout] | [INFO] [stdout] 269 | ast::Expr::Match { expr, binding, arms } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `arms: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `VariableKind` is more private than the item `LocalsIndexer::lookup` [INFO] [stdout] --> src/locals.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn lookup(&mut self, name: &str) -> VariableKind { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `LocalsIndexer::lookup` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `VariableKind` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/locals.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | enum VariableKind { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Error` is never constructed [INFO] [stdout] --> src/ast.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum TypeKind { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 50 | Error { name: String }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeKind` has derived impls for the traits `Clone` and `Debug`, but these are 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: field `statements` is never read [INFO] [stdout] --> src/aast.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct AnalyzedProgram { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 7 | pub statements: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedProgram` 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 `expr` and `ty` are never read [INFO] [stdout] --> src/aast.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct AnalyzedExpr { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 12 | pub expr: Expr, [INFO] [stdout] | ^^^^ [INFO] [stdout] 13 | pub ty: Type, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedExpr` 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/aast.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | Integer(i64), [INFO] [stdout] | ------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are 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] 19 - Integer(i64), [INFO] [stdout] 19 + Integer(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/aast.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | Float(f64), [INFO] [stdout] | ----- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are 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] 20 - Float(f64), [INFO] [stdout] 20 + Float(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/aast.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | String(String), [INFO] [stdout] | ------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are 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] 21 - String(String), [INFO] [stdout] 21 + String(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/aast.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | Boolean(bool), [INFO] [stdout] | ------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are 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] 22 - Boolean(bool), [INFO] [stdout] 22 + Boolean(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `index` are never read [INFO] [stdout] --> src/aast.rs:23:18 [INFO] [stdout] | [INFO] [stdout] 23 | Identifier { name: String, index: Option }, [INFO] [stdout] | ---------- ^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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/aast.rs:24:10 [INFO] [stdout] | [INFO] [stdout] 24 | List(Vec), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are 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] 24 - List(Vec), [INFO] [stdout] 24 + List(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `object` and `field` are never read [INFO] [stdout] --> src/aast.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | Field { object: Box, field: String }, [INFO] [stdout] | ----- ^^^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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 `object` and `key` are never read [INFO] [stdout] --> src/aast.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | Index { object: Box, key: Box }, [INFO] [stdout] | ----- ^^^^^^ ^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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 `name` and `fields` are never read [INFO] [stdout] --> src/aast.rs:27:11 [INFO] [stdout] | [INFO] [stdout] 27 | New { name: String, fields: Vec<(String, AnalyzedExpr)> }, [INFO] [stdout] | --- ^^^^ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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 `left`, `op`, and `right` are never read [INFO] [stdout] --> src/aast.rs:28:14 [INFO] [stdout] | [INFO] [stdout] 28 | Binary { left: Box, op: BinaryOp, right: Box }, [INFO] [stdout] | ------ ^^^^ ^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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 `op` and `expr` are never read [INFO] [stdout] --> src/aast.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | Unary { op: UnaryOp, expr: Box }, [INFO] [stdout] | ----- ^^ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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 `callee` and `args` are never read [INFO] [stdout] --> src/aast.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | Call { callee: Box, args: Vec }, [INFO] [stdout] | ---- ^^^^^^ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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 `expr`, `binding`, and `arms` are never read [INFO] [stdout] --> src/aast.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | Match { expr: Box, binding: String, arms: Vec<(Pattern, Vec)> }, [INFO] [stdout] | ----- ^^^^ ^^^^^^^ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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/aast.rs:33:17 [INFO] [stdout] | [INFO] [stdout] 33 | UnwrapError(Box), [INFO] [stdout] | ----------- ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are 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] 33 - UnwrapError(Box), [INFO] [stdout] 33 + UnwrapError(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/aast.rs:34:16 [INFO] [stdout] | [INFO] [stdout] 34 | UnwrapNull(Box), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are 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] 34 - UnwrapNull(Box), [INFO] [stdout] 34 + UnwrapNull(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Closure` is never constructed [INFO] [stdout] --> src/aast.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum Expr { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 32 | Closure { fn_index: u32, captures: Box }, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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/aast.rs:39:10 [INFO] [stdout] | [INFO] [stdout] 39 | Expr(AnalyzedExpr), [INFO] [stdout] | ---- ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` has derived impls for the traits `Clone` and `Debug`, but these are 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] 39 - Expr(AnalyzedExpr), [INFO] [stdout] 39 + Expr(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `ty`, `value`, `captured`, and `index` are never read [INFO] [stdout] --> src/aast.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 40 | Let { name: String, ty: Type, value: Option, captured: Rc>>, index: Option }, [INFO] [stdout] | --- ^^^^ ^^ ^^^^^ ^^^^^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` 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 `name`, `ty`, `value`, `captured`, and `index` are never read [INFO] [stdout] --> src/aast.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | Const { name: String, ty: Type, value: AnalyzedExpr, captured: Rc>>, index: Option }, [INFO] [stdout] | ----- ^^^^ ^^ ^^^^^ ^^^^^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` 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/aast.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | Return(Option), [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` has derived impls for the traits `Clone` and `Debug`, but these are 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] 42 - Return(Option), [INFO] [stdout] 42 + Return(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `condition`, `then_block`, and `else_block` are never read [INFO] [stdout] --> src/aast.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | If { condition: AnalyzedExpr, then_block: Vec, else_block: Option> }, [INFO] [stdout] | -- ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` 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 `init`, `condition`, `update`, and `body` are never read [INFO] [stdout] --> src/aast.rs:46:11 [INFO] [stdout] | [INFO] [stdout] 46 | For { init: Box, condition: AnalyzedExpr, update: Box, body: Vec }, [INFO] [stdout] | --- ^^^^ ^^^^^^^^^ ^^^^^^ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` 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 `condition` and `body` are never read [INFO] [stdout] --> src/aast.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | While { condition: AnalyzedExpr, body: Vec }, [INFO] [stdout] | ----- ^^^^^^^^^ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` 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: multiple fields are never read [INFO] [stdout] --> src/aast.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | Function { name: String, params: Vec<(String, Type, u32, Rc>>)>, returns: Type, body: Vec, captured: Rc>>, index: Option, fn_index: Option, locals: V... [INFO] [stdout] | -------- ^^^^ ^^^^^^ ^^^^^^^ ^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` 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 `name` and `fields` are never read [INFO] [stdout] --> src/aast.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | Struct { name: String, fields: Vec<(String, Type)> }, [INFO] [stdout] | ------ ^^^^ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` 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 `name` is never read [INFO] [stdout] --> src/aast.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | Error { name: String }, [INFO] [stdout] | ----- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` 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/aast.rs:51:11 [INFO] [stdout] | [INFO] [stdout] 51 | Print(AnalyzedExpr), [INFO] [stdout] | ----- ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` has derived impls for the traits `Clone` and `Debug`, but these are 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] 51 - Print(AnalyzedExpr), [INFO] [stdout] 51 + Print(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/aast.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | Produce(AnalyzedExpr), [INFO] [stdout] | ------- ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` has derived impls for the traits `Clone` and `Debug`, but these are 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] 52 - Produce(AnalyzedExpr), [INFO] [stdout] 52 + Produce(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IRProgram` is never constructed [INFO] [stdout] --> src/ir.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct IRProgram { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Typed` is never constructed [INFO] [stdout] --> src/ir.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Typed { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `IRExpr` is never used [INFO] [stdout] --> src/ir.rs:15:10 [INFO] [stdout] | [INFO] [stdout] 15 | pub type IRExpr = Typed; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IRExprKind` is never used [INFO] [stdout] --> src/ir.rs:18:10 [INFO] [stdout] | [INFO] [stdout] 18 | pub enum IRExprKind { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IRPattern` is never used [INFO] [stdout] --> src/ir.rs:44:10 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum IRPattern { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IRStmt` is never used [INFO] [stdout] --> src/ir.rs:52:10 [INFO] [stdout] | [INFO] [stdout] 52 | pub enum IRStmt { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IRFunction` is never constructed [INFO] [stdout] --> src/ir.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | pub struct IRFunction { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IRStruct` is never constructed [INFO] [stdout] --> src/ir.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct IRStruct { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IRStructKind` is never used [INFO] [stdout] --> src/ir.rs:85:10 [INFO] [stdout] | [INFO] [stdout] 85 | pub enum IRStructKind { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Match` is never constructed [INFO] [stdout] --> src/tast.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum Expr { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 29 | Match { expr: Box, binding: String, arms: Vec<(Pattern, Vec)> }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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 `types_equal` is never used [INFO] [stdout] --> src/types/mod.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl TypeChecker { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn types_equal(&self, a: &Type, b: &Type) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/types/expr.rs:269:32 [INFO] [stdout] | [INFO] [stdout] 269 | ast::Expr::Match { expr, binding, arms } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `expr: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `binding` [INFO] [stdout] --> src/types/expr.rs:269:38 [INFO] [stdout] | [INFO] [stdout] 269 | ast::Expr::Match { expr, binding, arms } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `binding: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arms` [INFO] [stdout] --> src/types/expr.rs:269:47 [INFO] [stdout] | [INFO] [stdout] 269 | ast::Expr::Match { expr, binding, arms } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `arms: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `VariableKind` is more private than the item `LocalsIndexer::lookup` [INFO] [stdout] --> src/locals.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn lookup(&mut self, name: &str) -> VariableKind { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `LocalsIndexer::lookup` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `VariableKind` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/locals.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | enum VariableKind { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Error` is never constructed [INFO] [stdout] --> src/ast.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum TypeKind { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 50 | Error { name: String }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeKind` has derived impls for the traits `Clone` and `Debug`, but these are 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: field `statements` is never read [INFO] [stdout] --> src/aast.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct AnalyzedProgram { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 7 | pub statements: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedProgram` 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 `expr` and `ty` are never read [INFO] [stdout] --> src/aast.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct AnalyzedExpr { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 12 | pub expr: Expr, [INFO] [stdout] | ^^^^ [INFO] [stdout] 13 | pub ty: Type, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedExpr` 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/aast.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | Integer(i64), [INFO] [stdout] | ------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are 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] 19 - Integer(i64), [INFO] [stdout] 19 + Integer(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/aast.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | Float(f64), [INFO] [stdout] | ----- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are 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] 20 - Float(f64), [INFO] [stdout] 20 + Float(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/aast.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | String(String), [INFO] [stdout] | ------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are 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] 21 - String(String), [INFO] [stdout] 21 + String(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/aast.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | Boolean(bool), [INFO] [stdout] | ------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are 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] 22 - Boolean(bool), [INFO] [stdout] 22 + Boolean(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `index` are never read [INFO] [stdout] --> src/aast.rs:23:18 [INFO] [stdout] | [INFO] [stdout] 23 | Identifier { name: String, index: Option }, [INFO] [stdout] | ---------- ^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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/aast.rs:24:10 [INFO] [stdout] | [INFO] [stdout] 24 | List(Vec), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are 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] 24 - List(Vec), [INFO] [stdout] 24 + List(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `object` and `field` are never read [INFO] [stdout] --> src/aast.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | Field { object: Box, field: String }, [INFO] [stdout] | ----- ^^^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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 `object` and `key` are never read [INFO] [stdout] --> src/aast.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | Index { object: Box, key: Box }, [INFO] [stdout] | ----- ^^^^^^ ^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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 `name` and `fields` are never read [INFO] [stdout] --> src/aast.rs:27:11 [INFO] [stdout] | [INFO] [stdout] 27 | New { name: String, fields: Vec<(String, AnalyzedExpr)> }, [INFO] [stdout] | --- ^^^^ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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 `left`, `op`, and `right` are never read [INFO] [stdout] --> src/aast.rs:28:14 [INFO] [stdout] | [INFO] [stdout] 28 | Binary { left: Box, op: BinaryOp, right: Box }, [INFO] [stdout] | ------ ^^^^ ^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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 `op` and `expr` are never read [INFO] [stdout] --> src/aast.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | Unary { op: UnaryOp, expr: Box }, [INFO] [stdout] | ----- ^^ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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 `callee` and `args` are never read [INFO] [stdout] --> src/aast.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | Call { callee: Box, args: Vec }, [INFO] [stdout] | ---- ^^^^^^ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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 `expr`, `binding`, and `arms` are never read [INFO] [stdout] --> src/aast.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | Match { expr: Box, binding: String, arms: Vec<(Pattern, Vec)> }, [INFO] [stdout] | ----- ^^^^ ^^^^^^^ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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/aast.rs:33:17 [INFO] [stdout] | [INFO] [stdout] 33 | UnwrapError(Box), [INFO] [stdout] | ----------- ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are 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] 33 - UnwrapError(Box), [INFO] [stdout] 33 + UnwrapError(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/aast.rs:34:16 [INFO] [stdout] | [INFO] [stdout] 34 | UnwrapNull(Box), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are 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] 34 - UnwrapNull(Box), [INFO] [stdout] 34 + UnwrapNull(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Closure` is never constructed [INFO] [stdout] --> src/aast.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum Expr { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 32 | Closure { fn_index: u32, captures: Box }, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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/aast.rs:39:10 [INFO] [stdout] | [INFO] [stdout] 39 | Expr(AnalyzedExpr), [INFO] [stdout] | ---- ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` has derived impls for the traits `Clone` and `Debug`, but these are 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] 39 - Expr(AnalyzedExpr), [INFO] [stdout] 39 + Expr(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `ty`, `value`, `captured`, and `index` are never read [INFO] [stdout] --> src/aast.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 40 | Let { name: String, ty: Type, value: Option, captured: Rc>>, index: Option }, [INFO] [stdout] | --- ^^^^ ^^ ^^^^^ ^^^^^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` 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 `name`, `ty`, `value`, `captured`, and `index` are never read [INFO] [stdout] --> src/aast.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | Const { name: String, ty: Type, value: AnalyzedExpr, captured: Rc>>, index: Option }, [INFO] [stdout] | ----- ^^^^ ^^ ^^^^^ ^^^^^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` 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/aast.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | Return(Option), [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` has derived impls for the traits `Clone` and `Debug`, but these are 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] 42 - Return(Option), [INFO] [stdout] 42 + Return(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `condition`, `then_block`, and `else_block` are never read [INFO] [stdout] --> src/aast.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | If { condition: AnalyzedExpr, then_block: Vec, else_block: Option> }, [INFO] [stdout] | -- ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` 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 `init`, `condition`, `update`, and `body` are never read [INFO] [stdout] --> src/aast.rs:46:11 [INFO] [stdout] | [INFO] [stdout] 46 | For { init: Box, condition: AnalyzedExpr, update: Box, body: Vec }, [INFO] [stdout] | --- ^^^^ ^^^^^^^^^ ^^^^^^ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` 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 `condition` and `body` are never read [INFO] [stdout] --> src/aast.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | While { condition: AnalyzedExpr, body: Vec }, [INFO] [stdout] | ----- ^^^^^^^^^ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` 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: multiple fields are never read [INFO] [stdout] --> src/aast.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | Function { name: String, params: Vec<(String, Type, u32, Rc>>)>, returns: Type, body: Vec, captured: Rc>>, index: Option, fn_index: Option, locals: V... [INFO] [stdout] | -------- ^^^^ ^^^^^^ ^^^^^^^ ^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` 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 `name` and `fields` are never read [INFO] [stdout] --> src/aast.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | Struct { name: String, fields: Vec<(String, Type)> }, [INFO] [stdout] | ------ ^^^^ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` 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 `name` is never read [INFO] [stdout] --> src/aast.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | Error { name: String }, [INFO] [stdout] | ----- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` 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/aast.rs:51:11 [INFO] [stdout] | [INFO] [stdout] 51 | Print(AnalyzedExpr), [INFO] [stdout] | ----- ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` has derived impls for the traits `Clone` and `Debug`, but these are 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] 51 - Print(AnalyzedExpr), [INFO] [stdout] 51 + Print(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/aast.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | Produce(AnalyzedExpr), [INFO] [stdout] | ------- ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnalyzedStatement` has derived impls for the traits `Clone` and `Debug`, but these are 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] 52 - Produce(AnalyzedExpr), [INFO] [stdout] 52 + Produce(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IRProgram` is never constructed [INFO] [stdout] --> src/ir.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct IRProgram { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Typed` is never constructed [INFO] [stdout] --> src/ir.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Typed { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `IRExpr` is never used [INFO] [stdout] --> src/ir.rs:15:10 [INFO] [stdout] | [INFO] [stdout] 15 | pub type IRExpr = Typed; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IRExprKind` is never used [INFO] [stdout] --> src/ir.rs:18:10 [INFO] [stdout] | [INFO] [stdout] 18 | pub enum IRExprKind { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IRPattern` is never used [INFO] [stdout] --> src/ir.rs:44:10 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum IRPattern { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IRStmt` is never used [INFO] [stdout] --> src/ir.rs:52:10 [INFO] [stdout] | [INFO] [stdout] 52 | pub enum IRStmt { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IRFunction` is never constructed [INFO] [stdout] --> src/ir.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | pub struct IRFunction { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IRStruct` is never constructed [INFO] [stdout] --> src/ir.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct IRStruct { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IRStructKind` is never used [INFO] [stdout] --> src/ir.rs:85:10 [INFO] [stdout] | [INFO] [stdout] 85 | pub enum IRStructKind { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Match` is never constructed [INFO] [stdout] --> src/tast.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum Expr { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 29 | Match { expr: Box, binding: String, arms: Vec<(Pattern, Vec)> }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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 `types_equal` is never used [INFO] [stdout] --> src/types/mod.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl TypeChecker { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn types_equal(&self, a: &Type, b: &Type) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 41s [INFO] running `Command { std: "docker" "inspect" "c2b59009e74d37ae3fd4945d149485d5893f0cd1d29fa4f3f142a85a760ea00d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c2b59009e74d37ae3fd4945d149485d5893f0cd1d29fa4f3f142a85a760ea00d", kill_on_drop: false }` [INFO] [stdout] c2b59009e74d37ae3fd4945d149485d5893f0cd1d29fa4f3f142a85a760ea00d