[INFO] cloning repository https://github.com/rtificr/u
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rtificr/u" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frtificr%2Fu", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frtificr%2Fu'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5ea10da3963a3073e3d771f6b6e28f305abc2237
[INFO] checking rtificr/u against 5c543b0b8c73c7b72bc8284ced4fb22ead15734d for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frtificr%2Fu" "/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/rtificr/u
[INFO] finished tweaking git repo https://github.com/rtificr/u
[INFO] tweaked toml for git repo https://github.com/rtificr/u written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rtificr/u on toolchain 5c543b0b8c73c7b72bc8284ced4fb22ead15734d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rtificr/u 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" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_derive v1.0.226
[INFO] [stderr]   Downloaded string-interner v0.19.0
[INFO] [stderr]   Downloaded serde_core v1.0.226
[INFO] [stderr]   Downloaded serde v1.0.226
[INFO] [stderr]   Downloaded interns v1.0.0
[INFO] [stderr]   Downloaded libc v0.2.176
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.27
[INFO] [stderr]   Downloaded zerocopy v0.8.27
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] bc18b436a8a6c57d294c69642d0e10d29c033c361ebfd0b21775919403f2cc9e
[INFO] running `Command { std: "docker" "start" "bc18b436a8a6c57d294c69642d0e10d29c033c361ebfd0b21775919403f2cc9e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bc18b436a8a6c57d294c69642d0e10d29c033c361ebfd0b21775919403f2cc9e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bc18b436a8a6c57d294c69642d0e10d29c033c361ebfd0b21775919403f2cc9e" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bc18b436a8a6c57d294c69642d0e10d29c033c361ebfd0b21775919403f2cc9e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bc18b436a8a6c57d294c69642d0e10d29c033c361ebfd0b21775919403f2cc9e" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling libc v0.2.176
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling serde_core v1.0.226
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling serde v1.0.226
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]     Checking cfg-if v1.0.3
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking interns v1.0.0
[INFO] [stderr]     Checking nohash-hasher v0.2.0
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]     Checking string-interner v0.19.0
[INFO] [stderr]    Compiling pest v2.8.2
[INFO] [stderr]    Compiling pest_meta v2.8.2
[INFO] [stderr]    Compiling pest_generator v2.8.2
[INFO] [stderr]    Compiling pest_derive v2.8.2
[INFO] [stderr]     Checking ulang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]   --> src/runtime/value.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{collections::HashMap, hash::Hash};
[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: `collections::HashMap`
[INFO] [stdout]   --> src/runtime/value.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{collections::HashMap, hash::Hash};
[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 variable: `i`
[INFO] [stdout]   --> src/noder.rs:61:22
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 for (i, inner) in pair.into_inner().enumerate() {
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/noder.rs:67:29
[INFO] [stdout]    |
[INFO] [stdout] 67 |                         Err(e) => {}
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/runtime/transform.rs:127:31
[INFO] [stdout]     |
[INFO] [stdout] 127 |                     .map(|(k, v)| { self.strint.resolve(*k).unwrap_or("unknown") })
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]   --> src/runtime/transform.rs:81:28
[INFO] [stdout]    |
[INFO] [stdout] 81 |                     .map(|(k, v)| {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `of`
[INFO] [stdout]   --> src/runtime/transform.rs:69:28
[INFO] [stdout]    |
[INFO] [stdout] 69 |             Value::Array { of, elements } => format!(
[INFO] [stdout]    |                            ^^ help: try ignoring the field: `of: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/runtime/transform.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 body,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l_enclosed`
[INFO] [stdout]   --> src/runtime/value.rs:58:31
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     enclosed: l_enclosed,
[INFO] [stdout]    |                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_l_enclosed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l_params`
[INFO] [stdout]   --> src/runtime/value.rs:59:29
[INFO] [stdout]    |
[INFO] [stdout] 59 |                     params: l_params,
[INFO] [stdout]    |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_l_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l_return_type`
[INFO] [stdout]   --> src/runtime/value.rs:61:34
[INFO] [stdout]    |
[INFO] [stdout] 61 |                     return_type: l_return_type,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_l_return_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_enclosed`
[INFO] [stdout]   --> src/runtime/value.rs:64:31
[INFO] [stdout]    |
[INFO] [stdout] 64 |                     enclosed: r_enclosed,
[INFO] [stdout]    |                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_r_enclosed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_params`
[INFO] [stdout]   --> src/runtime/value.rs:65:29
[INFO] [stdout]    |
[INFO] [stdout] 65 |                     params: r_params,
[INFO] [stdout]    |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_r_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_return_type`
[INFO] [stdout]   --> src/runtime/value.rs:67:34
[INFO] [stdout]    |
[INFO] [stdout] 67 |                     return_type: r_return_type,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_r_return_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `runtime`
[INFO] [stdout]    --> src/runtime/mod.rs:116:18
[INFO] [stdout]     |
[INFO] [stdout] 116 |         fn sleep(runtime: &mut Runtime, args: Vec<Value>) -> anyhow::Result<Value> {
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/noder.rs:61:22
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 for (i, inner) in pair.into_inner().enumerate() {
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/noder.rs:67:29
[INFO] [stdout]    |
[INFO] [stdout] 67 |                         Err(e) => {}
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/runtime/transform.rs:127:31
[INFO] [stdout]     |
[INFO] [stdout] 127 |                     .map(|(k, v)| { self.strint.resolve(*k).unwrap_or("unknown") })
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]   --> src/runtime/transform.rs:81:28
[INFO] [stdout]    |
[INFO] [stdout] 81 |                     .map(|(k, v)| {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `of`
[INFO] [stdout]   --> src/runtime/transform.rs:69:28
[INFO] [stdout]    |
[INFO] [stdout] 69 |             Value::Array { of, elements } => format!(
[INFO] [stdout]    |                            ^^ help: try ignoring the field: `of: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/runtime/transform.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 body,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l_enclosed`
[INFO] [stdout]   --> src/runtime/value.rs:58:31
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     enclosed: l_enclosed,
[INFO] [stdout]    |                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_l_enclosed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l_params`
[INFO] [stdout]   --> src/runtime/value.rs:59:29
[INFO] [stdout]    |
[INFO] [stdout] 59 |                     params: l_params,
[INFO] [stdout]    |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_l_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l_return_type`
[INFO] [stdout]   --> src/runtime/value.rs:61:34
[INFO] [stdout]    |
[INFO] [stdout] 61 |                     return_type: l_return_type,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_l_return_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_enclosed`
[INFO] [stdout]   --> src/runtime/value.rs:64:31
[INFO] [stdout]    |
[INFO] [stdout] 64 |                     enclosed: r_enclosed,
[INFO] [stdout]    |                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_r_enclosed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_params`
[INFO] [stdout]   --> src/runtime/value.rs:65:29
[INFO] [stdout]    |
[INFO] [stdout] 65 |                     params: r_params,
[INFO] [stdout]    |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_r_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_return_type`
[INFO] [stdout]   --> src/runtime/value.rs:67:34
[INFO] [stdout]    |
[INFO] [stdout] 67 |                     return_type: r_return_type,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_r_return_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `runtime`
[INFO] [stdout]    --> src/runtime/mod.rs:116:18
[INFO] [stdout]     |
[INFO] [stdout] 116 |         fn sleep(runtime: &mut Runtime, args: Vec<Value>) -> anyhow::Result<Value> {
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `NodeIdRaw` is never used
[INFO] [stdout]   --> src/ast.rs:44:25
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl_id!(NodeId, usize, NodeIdRaw);
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_id` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `StringIdRaw` is never used
[INFO] [stdout]   --> src/ast.rs:45:27
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl_id!(StringId, usize, StringIdRaw);
[INFO] [stdout]    |                           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_id` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TypeIdRaw` is never used
[INFO] [stdout]   --> src/ast.rs:46:33
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl_id!(TypeId, Symbol<usize>, TypeIdRaw);
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_id` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TypeError` is never used
[INFO] [stdout]  --> src/err.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum TypeError {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MissingTypeAnnotation`, `InvalidAssignmentTarget`, `InvalidFStringFormat`, and `EmptyFStringExpression` are never constructed
[INFO] [stdout]   --> src/err.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum ParseError {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 20 |     MissingTypeAnnotation { ident: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     InvalidAssignmentTarget,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     InvalidFStringFormat { value: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     EmptyFStringExpression,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParseError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `use_strint` and `parse_type_ident` are never used
[INFO] [stdout]     --> src/noder.rs:23:12
[INFO] [stdout]      |
[INFO] [stdout]   15 | impl Noder {
[INFO] [stdout]      | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]   23 |     pub fn use_strint(&mut self, strint: StringInt) {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1018 |     pub fn parse_type_ident(&mut self, str: &str) -> anyhow::Result<TypeIdent> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_expr` is never used
[INFO] [stdout]  --> src/printexpr.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn print_expr(nodes: &NodeReg, strint: &StringInt, depth: usize, node_id: NodeId) {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `use_colors` and `show_node_ids` are never read
[INFO] [stdout]   --> src/printexpr.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct PrintConfig {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 11 |     pub indent_size: usize,
[INFO] [stdout] 12 |     pub use_colors: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 13 |     pub show_node_ids: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `debug_print` is never used
[INFO] [stdout]    --> src/printexpr.rs:357:8
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub fn debug_print(nodes: &NodeReg, strint: &StringInt, node_id: NodeId) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `source` is never read
[INFO] [stdout]   --> src/runtime/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Runtime {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub source: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `collapse_value` and `finish` are never used
[INFO] [stdout]    --> src/runtime/mod.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl Runtime {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn collapse_value(&self, id: ValPtr) -> anyhow::Result<&Value> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 721 |     pub fn finish(self) -> (NodeReg, StringInt, TypeReg) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AccessMode` is never used
[INFO] [stdout]    --> src/runtime/mod.rs:782:10
[INFO] [stdout]     |
[INFO] [stdout] 782 | pub enum AccessMode {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `un_op` is never used
[INFO] [stdout]   --> src/runtime/assign.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Runtime {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn un_op(&mut self, expr: &NodeId, op: &Operator) -> Result<Evaluation> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `malloc_eval` is never used
[INFO] [stdout]   --> src/runtime/helpers.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Runtime {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn malloc_eval(&mut self, value: Value) -> Evaluation {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/runtime/memory.rs:66:12
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl Memory {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub fn malloc_mut(&mut self, value: Value) -> &mut Value {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn named_malloc(&mut self, name: StringId, value: Value) -> ValPtr {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn search_val(&self, name: StringId) -> Option<&Value> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn with_mut<T, F>(&mut self, id: ValPtr, f: F) -> Result<T>
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn push_new_scope(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn push_scope(&mut self, scope: Scope) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn push_new_exclusive_scope(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn free(&mut self, id: ValPtr) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_exclusive` and `get_mut` are never used
[INFO] [stdout]    --> src/runtime/memory.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 173 | impl Scope {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn new_exclusive() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn get_mut(&mut self, key: &ScopeKey) -> Option<&mut ScopeValue> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Exclusive` is never constructed
[INFO] [stdout]    --> src/runtime/memory.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub enum ScopeMode {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] 211 |     Exclusive,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ScopeMode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Module` is never constructed
[INFO] [stdout]   --> src/runtime/value.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Value {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 34 |     Module(StringId),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Value` 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 `to_eval` is never used
[INFO] [stdout]   --> src/runtime/value.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | impl Value {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn to_eval(self, runtime: &mut Runtime) -> Evaluation {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/runtime/value.rs:70:55
[INFO] [stdout]    |
[INFO] [stdout] 70 |             (Self::Builtin(l0), Self::Builtin(r0)) => l0 == r0,
[INFO] [stdout]    |                                                       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]    |
[INFO] [stdout] 70 -             (Self::Builtin(l0), Self::Builtin(r0)) => l0 == r0,
[INFO] [stdout] 70 +             (Self::Builtin(l0), Self::Builtin(r0)) => std::ptr::fn_addr_eq(*l0, *r0),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `NodeIdRaw` is never used
[INFO] [stdout]   --> src/ast.rs:44:25
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl_id!(NodeId, usize, NodeIdRaw);
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_id` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `StringIdRaw` is never used
[INFO] [stdout]   --> src/ast.rs:45:27
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl_id!(StringId, usize, StringIdRaw);
[INFO] [stdout]    |                           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_id` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TypeIdRaw` is never used
[INFO] [stdout]   --> src/ast.rs:46:33
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl_id!(TypeId, Symbol<usize>, TypeIdRaw);
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_id` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TypeError` is never used
[INFO] [stdout]  --> src/err.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum TypeError {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MissingTypeAnnotation`, `InvalidAssignmentTarget`, `InvalidFStringFormat`, and `EmptyFStringExpression` are never constructed
[INFO] [stdout]   --> src/err.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum ParseError {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 20 |     MissingTypeAnnotation { ident: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     InvalidAssignmentTarget,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     InvalidFStringFormat { value: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     EmptyFStringExpression,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParseError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `use_strint` and `parse_type_ident` are never used
[INFO] [stdout]     --> src/noder.rs:23:12
[INFO] [stdout]      |
[INFO] [stdout]   15 | impl Noder {
[INFO] [stdout]      | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]   23 |     pub fn use_strint(&mut self, strint: StringInt) {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1018 |     pub fn parse_type_ident(&mut self, str: &str) -> anyhow::Result<TypeIdent> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_expr` is never used
[INFO] [stdout]  --> src/printexpr.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn print_expr(nodes: &NodeReg, strint: &StringInt, depth: usize, node_id: NodeId) {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `use_colors` and `show_node_ids` are never read
[INFO] [stdout]   --> src/printexpr.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct PrintConfig {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 11 |     pub indent_size: usize,
[INFO] [stdout] 12 |     pub use_colors: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 13 |     pub show_node_ids: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `debug_print` is never used
[INFO] [stdout]    --> src/printexpr.rs:357:8
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub fn debug_print(nodes: &NodeReg, strint: &StringInt, node_id: NodeId) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `source` is never read
[INFO] [stdout]   --> src/runtime/mod.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Runtime {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub source: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `collapse_value` and `finish` are never used
[INFO] [stdout]    --> src/runtime/mod.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl Runtime {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn collapse_value(&self, id: ValPtr) -> anyhow::Result<&Value> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 721 |     pub fn finish(self) -> (NodeReg, StringInt, TypeReg) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AccessMode` is never used
[INFO] [stdout]    --> src/runtime/mod.rs:782:10
[INFO] [stdout]     |
[INFO] [stdout] 782 | pub enum AccessMode {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `un_op` is never used
[INFO] [stdout]   --> src/runtime/assign.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Runtime {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn un_op(&mut self, expr: &NodeId, op: &Operator) -> Result<Evaluation> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `malloc_eval` is never used
[INFO] [stdout]   --> src/runtime/helpers.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Runtime {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn malloc_eval(&mut self, value: Value) -> Evaluation {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/runtime/memory.rs:66:12
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl Memory {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub fn malloc_mut(&mut self, value: Value) -> &mut Value {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn named_malloc(&mut self, name: StringId, value: Value) -> ValPtr {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn search_val(&self, name: StringId) -> Option<&Value> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn with_mut<T, F>(&mut self, id: ValPtr, f: F) -> Result<T>
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn push_new_scope(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn push_scope(&mut self, scope: Scope) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn push_new_exclusive_scope(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn free(&mut self, id: ValPtr) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_exclusive` and `get_mut` are never used
[INFO] [stdout]    --> src/runtime/memory.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 173 | impl Scope {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn new_exclusive() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn get_mut(&mut self, key: &ScopeKey) -> Option<&mut ScopeValue> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Exclusive` is never constructed
[INFO] [stdout]    --> src/runtime/memory.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub enum ScopeMode {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] 211 |     Exclusive,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ScopeMode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Module` is never constructed
[INFO] [stdout]   --> src/runtime/value.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Value {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 34 |     Module(StringId),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Value` 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 `to_eval` is never used
[INFO] [stdout]   --> src/runtime/value.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | impl Value {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn to_eval(self, runtime: &mut Runtime) -> Evaluation {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/runtime/value.rs:70:55
[INFO] [stdout]    |
[INFO] [stdout] 70 |             (Self::Builtin(l0), Self::Builtin(r0)) => l0 == r0,
[INFO] [stdout]    |                                                       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]    |
[INFO] [stdout] 70 -             (Self::Builtin(l0), Self::Builtin(r0)) => l0 == r0,
[INFO] [stdout] 70 +             (Self::Builtin(l0), Self::Builtin(r0)) => std::ptr::fn_addr_eq(*l0, *r0),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `paste`
[INFO] [stderr]  --> Cargo.toml:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | paste = "1.0"
[INFO] [stderr]   | ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `paste`
[INFO] [stderr] warning: `ulang` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.59s
[INFO] running `Command { std: "docker" "inspect" "bc18b436a8a6c57d294c69642d0e10d29c033c361ebfd0b21775919403f2cc9e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bc18b436a8a6c57d294c69642d0e10d29c033c361ebfd0b21775919403f2cc9e", kill_on_drop: false }`
[INFO] [stdout] bc18b436a8a6c57d294c69642d0e10d29c033c361ebfd0b21775919403f2cc9e
