[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] 6cbcbdc555948ddc8cd826e13a0a06b30ecb9439
[INFO] testing kavishsathia/star against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkavishsathia%2Fstar" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/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-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kavishsathia/star on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wat v1.243.0
[INFO] [stderr]   Downloaded leb128fmt v0.1.0
[INFO] [stderr]   Downloaded wasmtime-winch v29.0.1
[INFO] [stderr]   Downloaded wasm-encoder v0.243.0
[INFO] [stderr]   Downloaded trait-variant v0.1.2
[INFO] [stderr]   Downloaded wasmtime-asm-macros v29.0.1
[INFO] [stderr]   Downloaded memfd v0.6.5
[INFO] [stderr]   Downloaded find-msvc-tools v0.1.6
[INFO] [stderr]   Downloaded wasmtime-jit-debug v29.0.1
[INFO] [stderr]   Downloaded debugid v0.8.0
[INFO] [stderr]   Downloaded beef v0.5.2
[INFO] [stderr]   Downloaded cranelift-bforest v0.116.1
[INFO] [stderr]   Downloaded logos-derive v0.16.0
[INFO] [stderr]   Downloaded pulley-interpreter v29.0.1
[INFO] [stderr]   Downloaded logos-codegen v0.16.0
[INFO] [stderr]   Downloaded cc v1.2.51
[INFO] [stderr]   Downloaded cpp_demangle v0.4.5
[INFO] [stderr]   Downloaded wast v243.0.0
[INFO] [stderr]   Downloaded ittapi-sys v0.4.0
[INFO] [stderr]   Downloaded regalloc2 v0.11.2
[INFO] [stderr]   Downloaded wasmtime-cranelift v29.0.1
[INFO] [stderr]   Downloaded wasmtime-component-macro v29.0.1
[INFO] [stderr]   Downloaded wasmparser v0.243.0
[INFO] [stderr]   Downloaded wasmtime-environ v29.0.1
[INFO] [stderr]   Downloaded syn v2.0.112
[INFO] [stderr]   Downloaded wasmparser v0.221.3
[INFO] [stderr]   Downloaded wit-parser v0.221.3
[INFO] [stderr]   Downloaded wasm-encoder v0.221.3
[INFO] [stderr]   Downloaded winch-codegen v29.0.1
[INFO] [stderr]   Downloaded cranelift-codegen-meta v0.116.1
[INFO] [stderr]   Downloaded arbitrary v1.4.2
[INFO] [stderr]   Downloaded rustix v0.38.44
[INFO] [stderr]   Downloaded cranelift-isle v0.116.1
[INFO] [stderr]   Downloaded cranelift-frontend v0.116.1
[INFO] [stderr]   Downloaded postcard v1.1.3
[INFO] [stderr]   Downloaded wasmprinter v0.221.3
[INFO] [stderr]   Downloaded fxprof-processed-profile v0.6.0
[INFO] [stderr]   Downloaded mach2 v0.4.3
[INFO] [stderr]   Downloaded wasmtime-cache v29.0.1
[INFO] [stderr]   Downloaded cranelift-entity v0.116.1
[INFO] [stderr]   Downloaded target-lexicon v0.13.4
[INFO] [stderr]   Downloaded wasmtime-component-util v29.0.1
[INFO] [stderr]   Downloaded logos v0.16.0
[INFO] [stderr]   Downloaded ittapi v0.4.0
[INFO] [stderr]   Downloaded sptr v0.3.2
[INFO] [stderr]   Downloaded wasmtime-wit-bindgen v29.0.1
[INFO] [stderr]   Downloaded wasmtime-fiber v29.0.1
[INFO] [stderr]   Downloaded wasmtime-jit-icache-coherence v29.0.1
[INFO] [stderr]   Downloaded wasmtime-slab v29.0.1
[INFO] [stderr]   Downloaded wasmtime-math v29.0.1
[INFO] [stderr]   Downloaded cranelift-codegen-shared v0.116.1
[INFO] [stderr]   Downloaded cranelift-control v0.116.1
[INFO] [stderr]   Downloaded cranelift-native v0.116.1
[INFO] [stderr]   Downloaded wasmtime v29.0.1
[INFO] [stderr]   Downloaded wasmtime-versioned-export-macros v29.0.1
[INFO] [stderr]   Downloaded leb128 v0.2.5
[INFO] [stderr]   Downloaded cranelift-bitset v0.116.1
[INFO] [stderr]   Downloaded cobs v0.3.0
[INFO] [stderr]   Downloaded libredox v0.1.12
[INFO] [stderr]   Downloaded directories-next v2.0.0
[INFO] [stderr]   Downloaded id-arena v2.2.1
[INFO] [stderr]   Downloaded cranelift-codegen v0.116.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 30e7510c35034969bcd2752d4f87b2a96bec9277da2765a21e8578287997f09d
[INFO] running `Command { std: "docker" "start" "-a" "30e7510c35034969bcd2752d4f87b2a96bec9277da2765a21e8578287997f09d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "30e7510c35034969bcd2752d4f87b2a96bec9277da2765a21e8578287997f09d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "30e7510c35034969bcd2752d4f87b2a96bec9277da2765a21e8578287997f09d", kill_on_drop: false }`
[INFO] [stdout] 30e7510c35034969bcd2752d4f87b2a96bec9277da2765a21e8578287997f09d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ce4adcfd8f6a65200dcf89e1fc50d623d2ba59c2386392908df1d8c420dff7ac
[INFO] running `Command { std: "docker" "start" "-a" "ce4adcfd8f6a65200dcf89e1fc50d623d2ba59c2386392908df1d8c420dff7ac", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.104
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling libc v0.2.179
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling find-msvc-tools v0.1.6
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling zmij v1.0.10
[INFO] [stderr]    Compiling cranelift-isle v0.116.1
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling bumpalo v3.19.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling serde_json v1.0.148
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling cranelift-codegen-shared v0.116.1
[INFO] [stderr]    Compiling target-lexicon v0.13.4
[INFO] [stderr]    Compiling cranelift-codegen-meta v0.116.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling syn v2.0.112
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling cc v1.2.51
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling wasmparser v0.221.3
[INFO] [stderr]    Compiling rustc-hash v2.1.1
[INFO] [stderr]    Compiling arbitrary v1.4.2
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]    Compiling indexmap v2.12.1
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling cranelift-control v0.116.1
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling gimli v0.31.1
[INFO] [stderr]    Compiling wasm-encoder v0.243.0
[INFO] [stderr]    Compiling cranelift-codegen v0.116.1
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling cpp_demangle v0.4.5
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling ittapi-sys v0.4.0
[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 crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling leb128 v0.2.5
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling leb128fmt v0.1.0
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling cobs v0.3.0
[INFO] [stderr]    Compiling wasmtime-component-util v29.0.1
[INFO] [stderr]    Compiling id-arena v2.2.1
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling wasm-encoder v0.221.3
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling wasmtime-fiber v29.0.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling cranelift-bitset v0.116.1
[INFO] [stderr]    Compiling cranelift-entity v0.116.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling cranelift-bforest v0.116.1
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling postcard v1.1.3
[INFO] [stderr]    Compiling regalloc2 v0.11.2
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling wit-parser v0.221.3
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling rustc-demangle v0.1.26
[INFO] [stderr]    Compiling uuid v1.19.0
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling wasmtime-component-macro v29.0.1
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling wasmtime-cache v29.0.1
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling logos-codegen v0.16.0
[INFO] [stderr]    Compiling wasmtime-wit-bindgen v29.0.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling debugid v0.8.0
[INFO] [stderr]    Compiling wast v243.0.0
[INFO] [stderr]    Compiling directories-next v2.0.0
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling wasmtime v29.0.1
[INFO] [stderr]    Compiling wasmtime-asm-macros v29.0.1
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling wasmprinter v0.221.3
[INFO] [stderr]    Compiling fxprof-processed-profile v0.6.0
[INFO] [stderr]    Compiling wasmtime-environ v29.0.1
[INFO] [stderr]    Compiling wasmtime-math v29.0.1
[INFO] [stderr]    Compiling memfd v0.6.5
[INFO] [stderr]    Compiling ittapi v0.4.0
[INFO] [stderr]    Compiling logos-derive v0.16.0
[INFO] [stderr]    Compiling wasmtime-jit-debug v29.0.1
[INFO] [stderr]    Compiling addr2line v0.24.2
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling trait-variant v0.1.2
[INFO] [stderr]    Compiling wasmtime-jit-icache-coherence v29.0.1
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling sptr v0.3.2
[INFO] [stderr]    Compiling wasmtime-slab v29.0.1
[INFO] [stderr]    Compiling logos v0.16.0
[INFO] [stderr]    Compiling wat v1.243.0
[INFO] [stderr]    Compiling cranelift-native v0.116.1
[INFO] [stderr]    Compiling cranelift-frontend v0.116.1
[INFO] [stderr]    Compiling wasmtime-cranelift v29.0.1
[INFO] [stderr]    Compiling star v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::f32::INFINITY`
[INFO] [stdout]  --> src/codegen.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f32::INFINITY;
[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: `IRStruct`
[INFO] [stdout]  --> src/codegen.rs:4:68
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ir::{IRExpr, IRExprKind, IRFunction, IRProgram, IRStmt, IRStruct};
[INFO] [stdout]   |                                                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Type`
[INFO] [stdout]  --> src/irgen.rs:2:37
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::ast::{BinaryOp, Pattern, Type};
[INFO] [stdout]   |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Expr`, `Statement`, `TypeKind`, `Type`, and `UnaryOp`
[INFO] [stdout]  --> src/parser/mod.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::ast::{BinaryOp, Expr, Program, Statement, Type, TypeKind, UnaryOp};
[INFO] [stdout]   |                            ^^^^           ^^^^^^^^^  ^^^^  ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/types/stmt.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::tast::{self, TypedProgram, TypedStatement};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object`
[INFO] [stdout]    --> src/codegen.rs:316:60
[INFO] [stdout]     |
[INFO] [stdout] 316 |                 } else if let IRExprKind::FieldReference { object, offset } = &left.node {
[INFO] [stdout]     |                                                            ^^^^^^ help: try ignoring the field: `object: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/codegen.rs:316:68
[INFO] [stdout]     |
[INFO] [stdout] 316 |                 } else if let IRExprKind::FieldReference { object, offset } = &left.node {
[INFO] [stdout]     |                                                                    ^^^^^^ help: try ignoring the field: `offset: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]   --> src/flatten.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 59 |                     condition,
[INFO] [stdout]    |                     ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]   --> src/flatten.rs:68:44
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 AnalyzedStatement::While { condition, body } => {
[INFO] [stdout]    |                                            ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]   --> src/flatten.rs:73:21
[INFO] [stdout]    |
[INFO] [stdout] 73 |                     condition,
[INFO] [stdout]    |                     ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/flatten.rs:146:14
[INFO] [stdout]     |
[INFO] [stdout] 146 |         for (name, ty, index, captured) in params.iter() {
[INFO] [stdout]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/flatten.rs:176:28
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 for (n, t, k) in captures.iter() {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fn_type`
[INFO] [stdout]    --> src/flatten.rs:274:21
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 let fn_type = Type {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fn_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `captured`
[INFO] [stdout]   --> src/irgen.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 captured,
[INFO] [stdout]    |                 ^^^^^^^^ help: try ignoring the field: `captured: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/irgen.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 index,
[INFO] [stdout]    |                 ^^^^^ help: try ignoring the field: `index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/irgen.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |                 name,
[INFO] [stdout]    |                 ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `captured`
[INFO] [stdout]   --> src/irgen.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 captured,
[INFO] [stdout]    |                 ^^^^^^^^ help: try ignoring the field: `captured: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/irgen.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 name,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/irgen.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 ty,
[INFO] [stdout]     |                 ^^ help: try ignoring the field: `ty: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `captured`
[INFO] [stdout]    --> src/irgen.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 |                 captured,
[INFO] [stdout]     |                 ^^^^^^^^ help: try ignoring the field: `captured: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/irgen.rs:217:32
[INFO] [stdout]     |
[INFO] [stdout] 217 |             Expr::Identifier { name, index } => IRExpr {
[INFO] [stdout]     |                                ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/irgen.rs:285:45
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 Expr::Identifier { name: _, index } => {
[INFO] [stdout]     |                                             ^^^^^ help: try ignoring the field: `index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/irgen.rs:398:32
[INFO] [stdout]     |
[INFO] [stdout] 398 |             Pattern::MatchType(ty) => todo!(),
[INFO] [stdout]     |                                ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/irgen.rs:418:20
[INFO] [stdout]     |
[INFO] [stdout] 418 |         for (name, ty) in &structure.fields {
[INFO] [stdout]     |                    ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]    --> src/types/expr.rs:325:17
[INFO] [stdout]     |
[INFO] [stdout] 325 |                 expr,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `expr: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binding`
[INFO] [stdout]    --> src/types/expr.rs:326:17
[INFO] [stdout]     |
[INFO] [stdout] 326 |                 binding,
[INFO] [stdout]     |                 ^^^^^^^ help: try ignoring the field: `binding: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arms`
[INFO] [stdout]    --> src/types/expr.rs:327:17
[INFO] [stdout]     |
[INFO] [stdout] 327 |                 arms,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `arms: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CaptureKind` is more private than the item `Flattener::gather_captures`
[INFO] [stdout]   --> src/flatten.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | /     pub fn gather_captures(
[INFO] [stdout] 52 | |         &mut self,
[INFO] [stdout] 53 | |         body: &Vec<AnalyzedStatement>,
[INFO] [stdout] 54 | |     ) -> Vec<(String, Type, CaptureKind)> {
[INFO] [stdout]    | |_________________________________________^ method `Flattener::gather_captures` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `CaptureKind` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/flatten.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | enum CaptureKind {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CaptureKind` is more private than the item `Flattener::scan_params`
[INFO] [stdout]    --> src/flatten.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | /     pub fn scan_params(
[INFO] [stdout] 137 | |         &mut self,
[INFO] [stdout] 138 | |         params: &Vec<(
[INFO] [stdout] 139 | |             String,
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |         )>,
[INFO] [stdout] 144 | |     ) -> Vec<(String, Type, CaptureKind)> {
[INFO] [stdout]     | |_________________________________________^ method `Flattener::scan_params` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `CaptureKind` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/flatten.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | enum CaptureKind {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CaptureKind` is more private than the item `Flattener::flatten_stmt`
[INFO] [stdout]    --> src/flatten.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 | /     pub fn flatten_stmt(
[INFO] [stdout] 156 | |         &mut self,
[INFO] [stdout] 157 | |         stmt: &AnalyzedStatement,
[INFO] [stdout] 158 | |         captures: Vec<(String, Type, CaptureKind)>,
[INFO] [stdout] 159 | |         prev: String,
[INFO] [stdout] 160 | |     ) -> AnalyzedStatement {
[INFO] [stdout]     | |__________________________^ method `Flattener::flatten_stmt` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `CaptureKind` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/flatten.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | enum CaptureKind {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `VariableKind` is more private than the item `LocalsIndexer::lookup`
[INFO] [stdout]    --> src/locals.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     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:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | enum VariableKind {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> src/aast.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |     Error {
[INFO] [stdout]     |     ----- field in this variant
[INFO] [stdout] 117 |         name: String,
[INFO] [stdout]     |         ^^^^
[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]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Error` is never constructed
[INFO] [stdout]   --> src/ast.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum TypeKind {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 56 |     Error {
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MatchAll` is never constructed
[INFO] [stdout]    --> src/ast.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub enum Pattern {
[INFO] [stdout]     |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 122 |     MatchAll,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Pattern` 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/ir.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |     UnwrapError(Box<IRExpr>),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IRExprKind` 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] 74 -     UnwrapError(Box<IRExpr>),
[INFO] [stdout] 74 +     UnwrapError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Match` is never constructed
[INFO] [stdout]   --> src/ir.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum IRExprKind {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 68 |     Match {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IRExprKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Null`, `Error`, `Type`, and `All` are never constructed
[INFO] [stdout]   --> src/ir.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub enum IRPattern {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 80 |     Null,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 81 |     Error,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 82 |     Type(u32),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 83 |     All,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IRPattern` 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/ir.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |     Produce(IRExpr),
[INFO] [stdout]     |     ------- ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IRStmt` 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] 112 -     Produce(IRExpr),
[INFO] [stdout] 112 +     Produce(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `captures_struct` and `func_index` are never read
[INFO] [stdout]    --> src/ir.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct IRFunction {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub captures_struct: Option<u32>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 127 |     pub body: Vec<IRStmt>,
[INFO] [stdout] 128 |     pub func_index: u32,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IRFunction` 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 `offsets` and `kind` are never read
[INFO] [stdout]    --> src/ir.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct IRStruct {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub offsets: Vec<u32>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 137 |     pub kind: IRStructKind,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IRStruct` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `User` and `Error` are never constructed
[INFO] [stdout]    --> src/ir.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub enum IRStructKind {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] 144 |     User,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 145 |     Captures,
[INFO] [stdout] 146 |     Error,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IRStructKind` 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 `lower_pattern` is never used
[INFO] [stdout]    --> src/irgen.rs:394:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl IRGenerator {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 394 |     fn lower_pattern(&mut self, pattern: &Pattern) -> IRPattern {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Match` is never constructed
[INFO] [stdout]   --> src/tast.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Expr {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 48 |     Match {
[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] 28 | 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 4m 12s
[INFO] running `Command { std: "docker" "inspect" "ce4adcfd8f6a65200dcf89e1fc50d623d2ba59c2386392908df1d8c420dff7ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ce4adcfd8f6a65200dcf89e1fc50d623d2ba59c2386392908df1d8c420dff7ac", kill_on_drop: false }`
[INFO] [stdout] ce4adcfd8f6a65200dcf89e1fc50d623d2ba59c2386392908df1d8c420dff7ac
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 54776c88aa7bff62b3e06dbd333d81040b5c128a0b325e9b754aa028d12dadef
[INFO] running `Command { std: "docker" "start" "-a" "54776c88aa7bff62b3e06dbd333d81040b5c128a0b325e9b754aa028d12dadef", kill_on_drop: false }`
[INFO] [stderr]    Compiling star v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::f32::INFINITY`
[INFO] [stdout]  --> src/codegen.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f32::INFINITY;
[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: `IRStruct`
[INFO] [stdout]  --> src/codegen.rs:4:68
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ir::{IRExpr, IRExprKind, IRFunction, IRProgram, IRStmt, IRStruct};
[INFO] [stdout]   |                                                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Type`
[INFO] [stdout]  --> src/irgen.rs:2:37
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::ast::{BinaryOp, Pattern, Type};
[INFO] [stdout]   |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Expr`, `Statement`, `TypeKind`, `Type`, and `UnaryOp`
[INFO] [stdout]  --> src/parser/mod.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::ast::{BinaryOp, Expr, Program, Statement, Type, TypeKind, UnaryOp};
[INFO] [stdout]   |                            ^^^^           ^^^^^^^^^  ^^^^  ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/types/stmt.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::tast::{self, TypedProgram, TypedStatement};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object`
[INFO] [stdout]    --> src/codegen.rs:316:60
[INFO] [stdout]     |
[INFO] [stdout] 316 |                 } else if let IRExprKind::FieldReference { object, offset } = &left.node {
[INFO] [stdout]     |                                                            ^^^^^^ help: try ignoring the field: `object: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/codegen.rs:316:68
[INFO] [stdout]     |
[INFO] [stdout] 316 |                 } else if let IRExprKind::FieldReference { object, offset } = &left.node {
[INFO] [stdout]     |                                                                    ^^^^^^ help: try ignoring the field: `offset: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]   --> src/flatten.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 59 |                     condition,
[INFO] [stdout]    |                     ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]   --> src/flatten.rs:68:44
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 AnalyzedStatement::While { condition, body } => {
[INFO] [stdout]    |                                            ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]   --> src/flatten.rs:73:21
[INFO] [stdout]    |
[INFO] [stdout] 73 |                     condition,
[INFO] [stdout]    |                     ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/flatten.rs:146:14
[INFO] [stdout]     |
[INFO] [stdout] 146 |         for (name, ty, index, captured) in params.iter() {
[INFO] [stdout]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/flatten.rs:176:28
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 for (n, t, k) in captures.iter() {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fn_type`
[INFO] [stdout]    --> src/flatten.rs:274:21
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 let fn_type = Type {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fn_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `captured`
[INFO] [stdout]   --> src/irgen.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 captured,
[INFO] [stdout]    |                 ^^^^^^^^ help: try ignoring the field: `captured: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/irgen.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 index,
[INFO] [stdout]    |                 ^^^^^ help: try ignoring the field: `index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/irgen.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |                 name,
[INFO] [stdout]    |                 ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `captured`
[INFO] [stdout]   --> src/irgen.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 captured,
[INFO] [stdout]    |                 ^^^^^^^^ help: try ignoring the field: `captured: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/irgen.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 name,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/irgen.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 ty,
[INFO] [stdout]     |                 ^^ help: try ignoring the field: `ty: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `captured`
[INFO] [stdout]    --> src/irgen.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 |                 captured,
[INFO] [stdout]     |                 ^^^^^^^^ help: try ignoring the field: `captured: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/irgen.rs:217:32
[INFO] [stdout]     |
[INFO] [stdout] 217 |             Expr::Identifier { name, index } => IRExpr {
[INFO] [stdout]     |                                ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/irgen.rs:285:45
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 Expr::Identifier { name: _, index } => {
[INFO] [stdout]     |                                             ^^^^^ help: try ignoring the field: `index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/irgen.rs:398:32
[INFO] [stdout]     |
[INFO] [stdout] 398 |             Pattern::MatchType(ty) => todo!(),
[INFO] [stdout]     |                                ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/irgen.rs:418:20
[INFO] [stdout]     |
[INFO] [stdout] 418 |         for (name, ty) in &structure.fields {
[INFO] [stdout]     |                    ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]    --> src/types/expr.rs:325:17
[INFO] [stdout]     |
[INFO] [stdout] 325 |                 expr,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `expr: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binding`
[INFO] [stdout]    --> src/types/expr.rs:326:17
[INFO] [stdout]     |
[INFO] [stdout] 326 |                 binding,
[INFO] [stdout]     |                 ^^^^^^^ help: try ignoring the field: `binding: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arms`
[INFO] [stdout]    --> src/types/expr.rs:327:17
[INFO] [stdout]     |
[INFO] [stdout] 327 |                 arms,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `arms: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CaptureKind` is more private than the item `Flattener::gather_captures`
[INFO] [stdout]   --> src/flatten.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | /     pub fn gather_captures(
[INFO] [stdout] 52 | |         &mut self,
[INFO] [stdout] 53 | |         body: &Vec<AnalyzedStatement>,
[INFO] [stdout] 54 | |     ) -> Vec<(String, Type, CaptureKind)> {
[INFO] [stdout]    | |_________________________________________^ method `Flattener::gather_captures` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `CaptureKind` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/flatten.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | enum CaptureKind {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CaptureKind` is more private than the item `Flattener::scan_params`
[INFO] [stdout]    --> src/flatten.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | /     pub fn scan_params(
[INFO] [stdout] 137 | |         &mut self,
[INFO] [stdout] 138 | |         params: &Vec<(
[INFO] [stdout] 139 | |             String,
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |         )>,
[INFO] [stdout] 144 | |     ) -> Vec<(String, Type, CaptureKind)> {
[INFO] [stdout]     | |_________________________________________^ method `Flattener::scan_params` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `CaptureKind` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/flatten.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | enum CaptureKind {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CaptureKind` is more private than the item `Flattener::flatten_stmt`
[INFO] [stdout]    --> src/flatten.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 | /     pub fn flatten_stmt(
[INFO] [stdout] 156 | |         &mut self,
[INFO] [stdout] 157 | |         stmt: &AnalyzedStatement,
[INFO] [stdout] 158 | |         captures: Vec<(String, Type, CaptureKind)>,
[INFO] [stdout] 159 | |         prev: String,
[INFO] [stdout] 160 | |     ) -> AnalyzedStatement {
[INFO] [stdout]     | |__________________________^ method `Flattener::flatten_stmt` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `CaptureKind` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/flatten.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | enum CaptureKind {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `VariableKind` is more private than the item `LocalsIndexer::lookup`
[INFO] [stdout]    --> src/locals.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     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:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | enum VariableKind {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> src/aast.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |     Error {
[INFO] [stdout]     |     ----- field in this variant
[INFO] [stdout] 117 |         name: String,
[INFO] [stdout]     |         ^^^^
[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]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Error` is never constructed
[INFO] [stdout]   --> src/ast.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum TypeKind {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 56 |     Error {
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MatchAll` is never constructed
[INFO] [stdout]    --> src/ast.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub enum Pattern {
[INFO] [stdout]     |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 122 |     MatchAll,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Pattern` 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/ir.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |     UnwrapError(Box<IRExpr>),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IRExprKind` 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] 74 -     UnwrapError(Box<IRExpr>),
[INFO] [stdout] 74 +     UnwrapError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Match` is never constructed
[INFO] [stdout]   --> src/ir.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum IRExprKind {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 68 |     Match {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IRExprKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Null`, `Error`, `Type`, and `All` are never constructed
[INFO] [stdout]   --> src/ir.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub enum IRPattern {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 80 |     Null,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 81 |     Error,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 82 |     Type(u32),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 83 |     All,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IRPattern` 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/ir.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |     Produce(IRExpr),
[INFO] [stdout]     |     ------- ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IRStmt` 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] 112 -     Produce(IRExpr),
[INFO] [stdout] 112 +     Produce(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `captures_struct` and `func_index` are never read
[INFO] [stdout]    --> src/ir.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct IRFunction {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub captures_struct: Option<u32>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 127 |     pub body: Vec<IRStmt>,
[INFO] [stdout] 128 |     pub func_index: u32,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IRFunction` 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 `offsets` and `kind` are never read
[INFO] [stdout]    --> src/ir.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct IRStruct {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub offsets: Vec<u32>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 137 |     pub kind: IRStructKind,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IRStruct` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `User` and `Error` are never constructed
[INFO] [stdout]    --> src/ir.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub enum IRStructKind {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] 144 |     User,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 145 |     Captures,
[INFO] [stdout] 146 |     Error,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IRStructKind` 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 `lower_pattern` is never used
[INFO] [stdout]    --> src/irgen.rs:394:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl IRGenerator {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 394 |     fn lower_pattern(&mut self, pattern: &Pattern) -> IRPattern {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Match` is never constructed
[INFO] [stdout]   --> src/tast.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Expr {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 48 |     Match {
[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] 28 | 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 `test` profile [unoptimized + debuginfo] target(s) in 3.12s
[INFO] running `Command { std: "docker" "inspect" "54776c88aa7bff62b3e06dbd333d81040b5c128a0b325e9b754aa028d12dadef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "54776c88aa7bff62b3e06dbd333d81040b5c128a0b325e9b754aa028d12dadef", kill_on_drop: false }`
[INFO] [stdout] 54776c88aa7bff62b3e06dbd333d81040b5c128a0b325e9b754aa028d12dadef
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e33ef5f473b911364dda54135263bd005cc35b0563cbcb04b0e41ed570460598
[INFO] running `Command { std: "docker" "start" "-a" "e33ef5f473b911364dda54135263bd005cc35b0563cbcb04b0e41ed570460598", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::f32::INFINITY`
[INFO] [stderr]  --> src/codegen.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::f32::INFINITY;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `IRStruct`
[INFO] [stderr]  --> src/codegen.rs:4:68
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::ir::{IRExpr, IRExprKind, IRFunction, IRProgram, IRStmt, IRStruct};
[INFO] [stderr]   |                                                                    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Type`
[INFO] [stderr]  --> src/irgen.rs:2:37
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::ast::{BinaryOp, Pattern, Type};
[INFO] [stderr]   |                                     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Expr`, `Statement`, `TypeKind`, `Type`, and `UnaryOp`
[INFO] [stderr]  --> src/parser/mod.rs:5:28
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::ast::{BinaryOp, Expr, Program, Statement, Type, TypeKind, UnaryOp};
[INFO] [stderr]   |                            ^^^^           ^^^^^^^^^  ^^^^  ^^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self`
[INFO] [stderr]  --> src/types/stmt.rs:3:19
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::tast::{self, TypedProgram, TypedStatement};
[INFO] [stderr]   |                   ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `object`
[INFO] [stderr]    --> src/codegen.rs:316:60
[INFO] [stderr]     |
[INFO] [stderr] 316 |                 } else if let IRExprKind::FieldReference { object, offset } = &left.node {
[INFO] [stderr]     |                                                            ^^^^^^ help: try ignoring the field: `object: _`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `offset`
[INFO] [stderr]    --> src/codegen.rs:316:68
[INFO] [stderr]     |
[INFO] [stderr] 316 |                 } else if let IRExprKind::FieldReference { object, offset } = &left.node {
[INFO] [stderr]     |                                                                    ^^^^^^ help: try ignoring the field: `offset: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `condition`
[INFO] [stderr]   --> src/flatten.rs:59:21
[INFO] [stderr]    |
[INFO] [stderr] 59 |                     condition,
[INFO] [stderr]    |                     ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `condition`
[INFO] [stderr]   --> src/flatten.rs:68:44
[INFO] [stderr]    |
[INFO] [stderr] 68 |                 AnalyzedStatement::While { condition, body } => {
[INFO] [stderr]    |                                            ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `condition`
[INFO] [stderr]   --> src/flatten.rs:73:21
[INFO] [stderr]    |
[INFO] [stderr] 73 |                     condition,
[INFO] [stderr]    |                     ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> src/flatten.rs:146:14
[INFO] [stderr]     |
[INFO] [stderr] 146 |         for (name, ty, index, captured) in params.iter() {
[INFO] [stderr]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `k`
[INFO] [stderr]    --> src/flatten.rs:176:28
[INFO] [stderr]     |
[INFO] [stderr] 176 |                 for (n, t, k) in captures.iter() {
[INFO] [stderr]     |                            ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fn_type`
[INFO] [stderr]    --> src/flatten.rs:274:21
[INFO] [stderr]     |
[INFO] [stderr] 274 |                 let fn_type = Type {
[INFO] [stderr]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fn_type`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `captured`
[INFO] [stderr]   --> src/irgen.rs:64:17
[INFO] [stderr]    |
[INFO] [stderr] 64 |                 captured,
[INFO] [stderr]    |                 ^^^^^^^^ help: try ignoring the field: `captured: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]   --> src/irgen.rs:65:17
[INFO] [stderr]    |
[INFO] [stderr] 65 |                 index,
[INFO] [stderr]    |                 ^^^^^ help: try ignoring the field: `index: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]   --> src/irgen.rs:91:17
[INFO] [stderr]    |
[INFO] [stderr] 91 |                 name,
[INFO] [stderr]    |                 ^^^^ help: try ignoring the field: `name: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `captured`
[INFO] [stderr]   --> src/irgen.rs:94:17
[INFO] [stderr]    |
[INFO] [stderr] 94 |                 captured,
[INFO] [stderr]    |                 ^^^^^^^^ help: try ignoring the field: `captured: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> src/irgen.rs:107:17
[INFO] [stderr]     |
[INFO] [stderr] 107 |                 name,
[INFO] [stderr]     |                 ^^^^ help: try ignoring the field: `name: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ty`
[INFO] [stderr]    --> src/irgen.rs:108:17
[INFO] [stderr]     |
[INFO] [stderr] 108 |                 ty,
[INFO] [stderr]     |                 ^^ help: try ignoring the field: `ty: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `captured`
[INFO] [stderr]    --> src/irgen.rs:110:17
[INFO] [stderr]     |
[INFO] [stderr] 110 |                 captured,
[INFO] [stderr]     |                 ^^^^^^^^ help: try ignoring the field: `captured: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> src/irgen.rs:217:32
[INFO] [stderr]     |
[INFO] [stderr] 217 |             Expr::Identifier { name, index } => IRExpr {
[INFO] [stderr]     |                                ^^^^ help: try ignoring the field: `name: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> src/irgen.rs:285:45
[INFO] [stderr]     |
[INFO] [stderr] 285 |                 Expr::Identifier { name: _, index } => {
[INFO] [stderr]     |                                             ^^^^^ help: try ignoring the field: `index: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ty`
[INFO] [stderr]    --> src/irgen.rs:398:32
[INFO] [stderr]     |
[INFO] [stderr] 398 |             Pattern::MatchType(ty) => todo!(),
[INFO] [stderr]     |                                ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ty`
[INFO] [stderr]    --> src/irgen.rs:418:20
[INFO] [stderr]     |
[INFO] [stderr] 418 |         for (name, ty) in &structure.fields {
[INFO] [stderr]     |                    ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expr`
[INFO] [stderr]    --> src/types/expr.rs:325:17
[INFO] [stderr]     |
[INFO] [stderr] 325 |                 expr,
[INFO] [stderr]     |                 ^^^^ help: try ignoring the field: `expr: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `binding`
[INFO] [stderr]    --> src/types/expr.rs:326:17
[INFO] [stderr]     |
[INFO] [stderr] 326 |                 binding,
[INFO] [stderr]     |                 ^^^^^^^ help: try ignoring the field: `binding: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `arms`
[INFO] [stderr]    --> src/types/expr.rs:327:17
[INFO] [stderr]     |
[INFO] [stderr] 327 |                 arms,
[INFO] [stderr]     |                 ^^^^ help: try ignoring the field: `arms: _`
[INFO] [stderr] 
[INFO] [stderr] warning: type `CaptureKind` is more private than the item `Flattener::gather_captures`
[INFO] [stderr]   --> src/flatten.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 51 | /     pub fn gather_captures(
[INFO] [stderr] 52 | |         &mut self,
[INFO] [stderr] 53 | |         body: &Vec<AnalyzedStatement>,
[INFO] [stderr] 54 | |     ) -> Vec<(String, Type, CaptureKind)> {
[INFO] [stderr]    | |_________________________________________^ method `Flattener::gather_captures` is reachable at visibility `pub(crate)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `CaptureKind` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/flatten.rs:35:1
[INFO] [stderr]    |
[INFO] [stderr] 35 | enum CaptureKind {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `CaptureKind` is more private than the item `Flattener::scan_params`
[INFO] [stderr]    --> src/flatten.rs:136:5
[INFO] [stderr]     |
[INFO] [stderr] 136 | /     pub fn scan_params(
[INFO] [stderr] 137 | |         &mut self,
[INFO] [stderr] 138 | |         params: &Vec<(
[INFO] [stderr] 139 | |             String,
[INFO] [stderr] ...   |
[INFO] [stderr] 143 | |         )>,
[INFO] [stderr] 144 | |     ) -> Vec<(String, Type, CaptureKind)> {
[INFO] [stderr]     | |_________________________________________^ method `Flattener::scan_params` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `CaptureKind` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/flatten.rs:35:1
[INFO] [stderr]     |
[INFO] [stderr]  35 | enum CaptureKind {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `CaptureKind` is more private than the item `Flattener::flatten_stmt`
[INFO] [stderr]    --> src/flatten.rs:155:5
[INFO] [stderr]     |
[INFO] [stderr] 155 | /     pub fn flatten_stmt(
[INFO] [stderr] 156 | |         &mut self,
[INFO] [stderr] 157 | |         stmt: &AnalyzedStatement,
[INFO] [stderr] 158 | |         captures: Vec<(String, Type, CaptureKind)>,
[INFO] [stderr] 159 | |         prev: String,
[INFO] [stderr] 160 | |     ) -> AnalyzedStatement {
[INFO] [stderr]     | |__________________________^ method `Flattener::flatten_stmt` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `CaptureKind` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/flatten.rs:35:1
[INFO] [stderr]     |
[INFO] [stderr]  35 | enum CaptureKind {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `VariableKind` is more private than the item `LocalsIndexer::lookup`
[INFO] [stderr]    --> src/locals.rs:105:5
[INFO] [stderr]     |
[INFO] [stderr] 105 |     pub fn lookup(&mut self, name: &str) -> VariableKind {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `LocalsIndexer::lookup` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `VariableKind` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/locals.rs:15:1
[INFO] [stderr]     |
[INFO] [stderr]  15 | enum VariableKind {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `name` is never read
[INFO] [stderr]    --> src/aast.rs:117:9
[INFO] [stderr]     |
[INFO] [stderr] 116 |     Error {
[INFO] [stderr]     |     ----- field in this variant
[INFO] [stderr] 117 |         name: String,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedStatement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Error` is never constructed
[INFO] [stderr]   --> src/ast.rs:56:5
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub enum TypeKind {
[INFO] [stderr]    |          -------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 56 |     Error {
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TypeKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `MatchAll` is never constructed
[INFO] [stderr]    --> src/ast.rs:122:5
[INFO] [stderr]     |
[INFO] [stderr] 119 | pub enum Pattern {
[INFO] [stderr]     |          ------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 122 |     MatchAll,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Pattern` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/ir.rs:74:17
[INFO] [stderr]    |
[INFO] [stderr] 74 |     UnwrapError(Box<IRExpr>),
[INFO] [stderr]    |     ----------- ^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `IRExprKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 74 -     UnwrapError(Box<IRExpr>),
[INFO] [stderr] 74 +     UnwrapError(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Match` is never constructed
[INFO] [stderr]   --> src/ir.rs:68:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub enum IRExprKind {
[INFO] [stderr]    |          ---------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 68 |     Match {
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `IRExprKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Null`, `Error`, `Type`, and `All` are never constructed
[INFO] [stderr]   --> src/ir.rs:80:5
[INFO] [stderr]    |
[INFO] [stderr] 79 | pub enum IRPattern {
[INFO] [stderr]    |          --------- variants in this enum
[INFO] [stderr] 80 |     Null,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 81 |     Error,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 82 |     Type(u32),
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 83 |     All,
[INFO] [stderr]    |     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `IRPattern` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ir.rs:112:13
[INFO] [stderr]     |
[INFO] [stderr] 112 |     Produce(IRExpr),
[INFO] [stderr]     |     ------- ^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `IRStmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 112 -     Produce(IRExpr),
[INFO] [stderr] 112 +     Produce(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `captures_struct` and `func_index` are never read
[INFO] [stderr]    --> src/ir.rs:126:9
[INFO] [stderr]     |
[INFO] [stderr] 121 | pub struct IRFunction {
[INFO] [stderr]     |            ---------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 126 |     pub captures_struct: Option<u32>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 127 |     pub body: Vec<IRStmt>,
[INFO] [stderr] 128 |     pub func_index: u32,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `IRFunction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `offsets` and `kind` are never read
[INFO] [stderr]    --> src/ir.rs:136:9
[INFO] [stderr]     |
[INFO] [stderr] 132 | pub struct IRStruct {
[INFO] [stderr]     |            -------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 136 |     pub offsets: Vec<u32>,
[INFO] [stderr]     |         ^^^^^^^
[INFO] [stderr] 137 |     pub kind: IRStructKind,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `IRStruct` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `User` and `Error` are never constructed
[INFO] [stderr]    --> src/ir.rs:144:5
[INFO] [stderr]     |
[INFO] [stderr] 143 | pub enum IRStructKind {
[INFO] [stderr]     |          ------------ variants in this enum
[INFO] [stderr] 144 |     User,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 145 |     Captures,
[INFO] [stderr] 146 |     Error,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `IRStructKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `lower_pattern` is never used
[INFO] [stderr]    --> src/irgen.rs:394:8
[INFO] [stderr]     |
[INFO] [stderr]  10 | impl IRGenerator {
[INFO] [stderr]     | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 394 |     fn lower_pattern(&mut self, pattern: &Pattern) -> IRPattern {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Match` is never constructed
[INFO] [stderr]   --> src/tast.rs:48:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub enum Expr {
[INFO] [stderr]    |          ---- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 48 |     Match {
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `types_equal` is never used
[INFO] [stderr]   --> src/types/mod.rs:62:12
[INFO] [stderr]    |
[INFO] [stderr] 28 | impl TypeChecker {
[INFO] [stderr]    | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 62 |     pub fn types_equal(&self, a: &Type, b: &Type) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `star` (bin "star" test) generated 44 warnings (run `cargo fix --bin "star" -p star --tests` to apply 27 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.23s
[INFO] [stderr]      Running unittests src/bin/run.rs (/opt/rustwide/target/debug/deps/run-fda677e211db6039)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/star-ed92a8a79698badc)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e33ef5f473b911364dda54135263bd005cc35b0563cbcb04b0e41ed570460598", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e33ef5f473b911364dda54135263bd005cc35b0563cbcb04b0e41ed570460598", kill_on_drop: false }`
[INFO] [stdout] e33ef5f473b911364dda54135263bd005cc35b0563cbcb04b0e41ed570460598
