[INFO] fetching crate evalit 0.2.0-beta.0...
[INFO] checking evalit-0.2.0-beta.0 against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] extracting crate evalit 0.2.0-beta.0 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate evalit 0.2.0-beta.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate evalit 0.2.0-beta.0
[INFO] tweaked toml for crates.io crate evalit 0.2.0-beta.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate evalit 0.2.0-beta.0 on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate evalit 0.2.0-beta.0 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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded redox_syscall v0.5.12
[INFO] [stderr]   Downloaded pest_generator v2.8.0
[INFO] [stderr]   Downloaded pest_meta v2.8.0
[INFO] [stderr]   Downloaded pest_derive v2.8.0
[INFO] [stderr]   Downloaded clap v4.5.38
[INFO] [stderr]   Downloaded jiff-static v0.2.13
[INFO] [stderr]   Downloaded pest v2.8.0
[INFO] [stderr]   Downloaded hyper-util v0.1.11
[INFO] [stderr]   Downloaded criterion v0.6.0
[INFO] [stderr]   Downloaded clap_builder v4.5.38
[INFO] [stderr]   Downloaded jiff v0.2.13
[INFO] [stderr]   Downloaded petgraph v0.8.1
[INFO] [stderr]   Downloaded tokio v1.45.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8476350a19943cda59f7eb3a5006dc202dae9335214dee9411b783113cec36e0
[INFO] running `Command { std: "docker" "start" "-a" "8476350a19943cda59f7eb3a5006dc202dae9335214dee9411b783113cec36e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8476350a19943cda59f7eb3a5006dc202dae9335214dee9411b783113cec36e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8476350a19943cda59f7eb3a5006dc202dae9335214dee9411b783113cec36e0", kill_on_drop: false }`
[INFO] [stdout] 8476350a19943cda59f7eb3a5006dc202dae9335214dee9411b783113cec36e0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] eb4cca7964d0f66b46a4f1c64dad2c4a557cec78647e9702f7f40de567fd7637
[INFO] running `Command { std: "docker" "start" "-a" "eb4cca7964d0f66b46a4f1c64dad2c4a557cec78647e9702f7f40de567fd7637", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]     Checking hashbrown v0.15.3
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking half v2.6.0
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking clap_builder v4.5.38
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking socket2 v0.5.9
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking fixedbitset v0.5.7
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking petgraph v0.8.1
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking clap v4.5.38
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking jiff v0.2.13
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking env_filter v0.1.3
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]     Checking tokio v1.45.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling pest v2.8.0
[INFO] [stderr]    Compiling pest_meta v2.8.0
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking env_logger v0.11.8
[INFO] [stderr]    Compiling pest_generator v2.8.0
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]    Compiling pest_derive v2.8.0
[INFO] [stderr]     Checking evalit v0.2.0-beta.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/compiler/typing.rs:378:14
[INFO] [stdout]     |
[INFO] [stdout] 378 |         for (name, func) in self.type_cx.functions.iter() {
[INFO] [stdout]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `literal`
[INFO] [stdout]    --> src/compiler/typing.rs:474:30
[INFO] [stdout]     |
[INFO] [stdout] 474 |             Pattern::Literal(literal) => Ok(()),
[INFO] [stdout]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_literal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]    --> src/compiler/typing.rs:582:37
[INFO] [stdout]     |
[INFO] [stdout] 582 |             Expression::Environment(env) => Ok(Type::String),
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]    --> src/compiler/typing.rs:586:29
[INFO] [stdout]     |
[INFO] [stdout] 586 |             Expression::Map(map) => Ok(Type::Any), // 暂定Map类型为Any
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `range`
[INFO] [stdout]    --> src/compiler/typing.rs:588:31
[INFO] [stdout]     |
[INFO] [stdout] 588 |             Expression::Range(range) => Ok(Type::Any), // 暂定Range类型为Any
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/compiler/typing.rs:605:26
[INFO] [stdout]     |
[INFO] [stdout] 605 |     fn check_path(&self, path: &PathExpression) -> Result<Type, TypeError> {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tuple`
[INFO] [stdout]    --> src/compiler/typing.rs:610:31
[INFO] [stdout]     |
[INFO] [stdout] 610 |     fn check_tuple(&mut self, tuple: &TupleExpression) -> Result<Type, TypeError> {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_tuple`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr`
[INFO] [stdout]    --> src/compiler/typing.rs:615:31
[INFO] [stdout]     |
[INFO] [stdout] 615 |     fn check_array(&mut self, arr: &ArrayExpression) -> Result<Type, TypeError> {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_arr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `closure`
[INFO] [stdout]    --> src/compiler/typing.rs:620:33
[INFO] [stdout]     |
[INFO] [stdout] 620 |     fn check_closure(&mut self, closure: &ClosureExpression) -> Result<Type, TypeError> {
[INFO] [stdout]     |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_closure`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]    --> src/compiler/typing.rs:631:31
[INFO] [stdout]     |
[INFO] [stdout] 631 |     fn check_slice(&mut self, slice: &SliceExpression) -> Result<Type, TypeError> {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/compiler/typing.rs:641:35
[INFO] [stdout]     |
[INFO] [stdout] 641 |     fn check_index_get(&mut self, index: &IndexGetExpression) -> Result<Type, TypeError> {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prop`
[INFO] [stdout]    --> src/compiler/typing.rs:651:38
[INFO] [stdout]     |
[INFO] [stdout] 651 |     fn check_property_get(&mut self, prop: &PropertyGetExpression) -> Result<Type, TypeError> {
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `call`
[INFO] [stdout]    --> src/compiler/typing.rs:661:37
[INFO] [stdout]     |
[INFO] [stdout] 661 |     fn check_call_method(&mut self, call: &CallMethodExpression) -> Result<Type, TypeError> {
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_call`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `param_name`
[INFO] [stdout]    --> src/compiler/typing.rs:830:26
[INFO] [stdout]     |
[INFO] [stdout] 830 |                 for (i, (param_name, param_type)) in func_def.params.iter().enumerate() {
[INFO] [stdout]     |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking h2 v0.4.10
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/runtime/object.rs:117:24
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn call(&mut self, args: &[ValueRef]) -> Result<Option<Value>, RuntimeError> {
[INFO] [stdout]     |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/runtime/object.rs:125:25
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn index_get(&self, index: &Value) -> Result<ValueRef, RuntimeError> {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/runtime/object.rs:132:29
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn index_set(&mut self, index: &Value, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/runtime/object.rs:132:44
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn index_set(&mut self, index: &Value, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stdout]     |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `property`
[INFO] [stdout]    --> src/runtime/object.rs:139:28
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn property_get(&self, property: &str) -> Result<ValueRef, RuntimeError> {
[INFO] [stdout]     |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `property`
[INFO] [stdout]    --> src/runtime/object.rs:146:32
[INFO] [stdout]     |
[INFO] [stdout] 146 |     fn property_set(&mut self, property: &str, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stdout]     |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/runtime/object.rs:146:48
[INFO] [stdout]     |
[INFO] [stdout] 146 |     fn property_set(&mut self, property: &str, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stdout]     |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/runtime/object.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |         args: &[ValueRef],
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `range`
[INFO] [stdout]    --> src/runtime/object.rs:180:26
[INFO] [stdout]     |
[INFO] [stdout] 180 |     fn make_slice(&self, range: ValueRef) -> Result<Value, RuntimeError> {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/runtime/object.rs:445:24
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn call(&mut self, args: &[ValueRef]) -> Result<Option<Value>, RuntimeError> {
[INFO] [stdout]     |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/runtime/object.rs:453:25
[INFO] [stdout]     |
[INFO] [stdout] 453 |     fn index_get(&self, index: &Value) -> Result<ValueRef, RuntimeError> {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/runtime/object.rs:460:29
[INFO] [stdout]     |
[INFO] [stdout] 460 |     fn index_set(&mut self, index: &Value, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/runtime/object.rs:460:44
[INFO] [stdout]     |
[INFO] [stdout] 460 |     fn index_set(&mut self, index: &Value, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stdout]     |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `property`
[INFO] [stdout]    --> src/runtime/object.rs:467:28
[INFO] [stdout]     |
[INFO] [stdout] 467 |     fn property_get(&self, property: &str) -> Result<ValueRef, RuntimeError> {
[INFO] [stdout]     |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `property`
[INFO] [stdout]    --> src/runtime/object.rs:474:32
[INFO] [stdout]     |
[INFO] [stdout] 474 |     fn property_set(&mut self, property: &str, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stdout]     |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/runtime/object.rs:474:48
[INFO] [stdout]     |
[INFO] [stdout] 474 |     fn property_set(&mut self, property: &str, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stdout]     |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/runtime/object.rs:484:9
[INFO] [stdout]     |
[INFO] [stdout] 484 |         args: &[ValueRef],
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `range`
[INFO] [stdout]    --> src/runtime/object.rs:508:26
[INFO] [stdout]     |
[INFO] [stdout] 508 |     fn make_slice(&self, range: ValueRef) -> Result<Value, RuntimeError> {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]   --> src/compiler.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct LineCol {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 38 |     line: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 39 |     col: usize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LineCol` 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 `Block` is never constructed
[INFO] [stdout]    --> src/compiler/ast/syntax.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub enum Statement {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 105 |     Block(BlockStatement),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Statement` 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 `Range` is never constructed
[INFO] [stdout]    --> src/compiler/ast/syntax.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub enum Expression {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 227 |     Range(RangeExpression),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` 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: enum `PostfixOp` is never used
[INFO] [stdout]    --> src/compiler/ast/syntax.rs:407:10
[INFO] [stdout]     |
[INFO] [stdout] 407 | pub enum PostfixOp {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PostfixExpression` is never constructed
[INFO] [stdout]    --> src/compiler/ast/syntax.rs:413:12
[INFO] [stdout]     |
[INFO] [stdout] 413 | pub struct PostfixExpression {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/compiler/ast/syntax.rs:422:12
[INFO] [stdout]     |
[INFO] [stdout] 421 | impl IdentifierExpression {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 422 |     pub fn new(name: String, span: Span) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Crate` is never constructed
[INFO] [stdout]    --> src/compiler/ast/syntax.rs:461:5
[INFO] [stdout]     |
[INFO] [stdout] 457 | pub enum PathSeg {
[INFO] [stdout]     |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 461 |     Crate,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PathSeg` 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 `id` is never used
[INFO] [stdout]   --> src/compiler/ir/instruction.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 12 |         impl $name {
[INFO] [stdout]    |         ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |             pub fn id(&self) -> usize {
[INFO] [stdout]    |                    ^^
[INFO] [stdout] ...
[INFO] [stdout] 34 | id_entity!(VariableId);
[INFO] [stdout]    | ---------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `id_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `id` is never used
[INFO] [stdout]   --> src/compiler/ir/instruction.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 12 |         impl $name {
[INFO] [stdout]    |         ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |             pub fn id(&self) -> usize {
[INFO] [stdout]    |                    ^^
[INFO] [stdout] ...
[INFO] [stdout] 36 | id_entity!(BlockId);
[INFO] [stdout]    | ------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `id_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_variable`, `as_function`, and `as_constant` are never used
[INFO] [stdout]   --> src/compiler/ir/instruction.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl Value {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn as_variable(&self) -> VariableId {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn as_function(&self) -> Option<FunctionId> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn as_constant(&self) -> Option<ConstantId> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_terminator` and `is_call` are never used
[INFO] [stdout]    --> src/compiler/ir/instruction.rs:295:12
[INFO] [stdout]     |
[INFO] [stdout] 294 | impl Instruction {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] 295 |     pub fn is_terminator(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn is_call(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Instructions` is never constructed
[INFO] [stdout]    --> src/compiler/ir/instruction.rs:571:12
[INFO] [stdout]     |
[INFO] [stdout] 571 | pub struct Instructions {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `push`, and `iter` are never used
[INFO] [stdout]    --> src/compiler/ir/instruction.rs:576:12
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl Instructions {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 576 |     pub fn new(insts: Vec<Instruction>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 580 |     pub fn push(&mut self, instruction: Instruction) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 584 |     pub fn iter(&self) -> InstructionsIterator {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InstructionsIterator` is never constructed
[INFO] [stdout]    --> src/compiler/ir/instruction.rs:591:12
[INFO] [stdout]     |
[INFO] [stdout] 591 | pub struct InstructionsIterator<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `create_block_with_instructions` and `block_remove_successor` are never used
[INFO] [stdout]    --> src/compiler/ir/instruction.rs:646:19
[INFO] [stdout]     |
[INFO] [stdout] 622 | impl ControlFlowGraph {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 646 |     pub(crate) fn create_block_with_instructions(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 723 |     pub fn block_remove_successor(&mut self, block: BlockId, successors: BlockId) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_anonymous` is never used
[INFO] [stdout]    --> src/compiler/ir/instruction.rs:751:12
[INFO] [stdout]     |
[INFO] [stdout] 742 | impl Name {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 751 |     pub fn is_anonymous(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `label` is never read
[INFO] [stdout]    --> src/compiler/ir/instruction.rs:789:16
[INFO] [stdout]     |
[INFO] [stdout] 787 | pub struct Block {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 788 |     pub(crate) id: BlockId,
[INFO] [stdout] 789 |     pub(crate) label: Name,
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Block` 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 `with_instructions` is never used
[INFO] [stdout]    --> src/compiler/ir/instruction.rs:806:12
[INFO] [stdout]     |
[INFO] [stdout] 793 | impl Block {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 806 |     pub fn with_instructions(mut self, instructions: Vec<Instruction>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_function`, `get_block`, and `with_control_flow_graph` are never used
[INFO] [stdout]    --> src/compiler/ir/instruction.rs:871:12
[INFO] [stdout]     |
[INFO] [stdout] 862 | impl IrUnit {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 871 |     pub fn get_function(&self, id: FunctionId) -> Option<&IrFunction> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 910 |     pub fn get_block(&self, id: BlockId) -> Option<&Block> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 914 |     pub fn with_control_flow_graph(mut self, control_flow_graph: ControlFlowGraph) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_expression_input` is never used
[INFO] [stdout]   --> src/compiler/parser.rs:73:15
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub(crate) fn parse_expression_input(input: &str) -> Result<ExpressionNode> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_statement_input` is never used
[INFO] [stdout]   --> src/compiler/parser.rs:78:15
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub(crate) fn parse_statement_input(input: &str) -> Result<StatementNode> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `type_is_defined` and `get_type_id` are never used
[INFO] [stdout]    --> src/compiler/typing.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl TypeContext {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn type_is_defined(&self, name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn get_type_id(&self, name: &str) -> Option<TypeId> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ObjectBase` is never used
[INFO] [stdout]    --> src/runtime/object.rs:361:11
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub trait ObjectBase: std::any::Any + std::fmt::Debug {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `properties` are never read
[INFO] [stdout]   --> src/runtime/object/metatable.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MetaTable<T> {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 11 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 12 |     pub methods: HashMap<String, Method<T>>,
[INFO] [stdout] 13 |     pub properties: HashMap<String, MetaProperty<T>>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetaTable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_property`, `with_property_getter`, `with_property_setter`, `property_get`, and `property_set` are never used
[INFO] [stdout]   --> src/runtime/object/metatable.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl<T> MetaTable<T> {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn add_property(&mut self, property: MetaProperty<T>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn with_property_getter(mut self, name: &str, getter: Getter<T>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn with_property_setter(mut self, name: &str, setter: Setter<T>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn property_get(&self, this: &T, name: &str) -> Result<Value, RuntimeError> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn property_set(&self, this: &mut T, name: &str, value: Value) -> Result<(), RuntimeError> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `getter`, and `setter` are never read
[INFO] [stdout]   --> src/runtime/object/metatable.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct MetaProperty<T> {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 85 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 86 |     pub getter: Option<Getter<T>>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 87 |     pub setter: Option<Setter<T>>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetaProperty` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/runtime/object/metatable.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | impl<T> MetaProperty<T> {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 91 |     pub fn new(name: &str, getter: Option<Getter<T>>, setter: Option<Setter<T>>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/compiler/ir/instruction.rs:584:17
[INFO] [stdout]     |
[INFO] [stdout] 584 |     pub fn iter(&self) -> InstructionsIterator {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 584 |     pub fn iter(&self) -> InstructionsIterator<'_> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/interpreter.rs:6:42
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn eval<T: Object + 'static>(script: &str, env: Environment) -> Result<Option<T>, Error> {
[INFO] [stdout]   |                                          ^^^^ the lifetime is elided here             ^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn eval<T: Object + 'static>(script: &str, env: Environment) -> Result<Option<T>, Error<'_>> {
[INFO] [stdout]   |                                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/interpreter.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |     script: &str,
[INFO] [stdout]    |             ^^^^ the lifetime is elided here
[INFO] [stdout] 28 |     env: Environment,
[INFO] [stdout] 29 | ) -> Result<Option<T>, Error> {
[INFO] [stdout]    |                        ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 29 | ) -> Result<Option<T>, Error<'_>> {
[INFO] [stdout]    |                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/interpreter.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn eval(script: &str, env: Environment) -> Result<Option<Value>, Error> {
[INFO] [stdout]    |                         ^^^^ the lifetime is elided here                 ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn eval(script: &str, env: Environment) -> Result<Option<Value>, Error<'_>> {
[INFO] [stdout]    |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/runtime/value.rs:71:18
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn value(&self) -> RwLockReadGuard<Value> {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn value(&self) -> RwLockReadGuard<'_, Value> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/runtime/value.rs:75:22
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn value_mut(&self) -> RwLockWriteGuard<Value> {
[INFO] [stdout]    |                      ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn value_mut(&self) -> RwLockWriteGuard<'_, Value> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion v0.6.0
[INFO] [stderr]     Checking hyper v1.6.0
[INFO] [stderr]     Checking hyper-util v0.1.11
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/compiler/typing.rs:378:14
[INFO] [stdout]     |
[INFO] [stdout] 378 |         for (name, func) in self.type_cx.functions.iter() {
[INFO] [stdout]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `literal`
[INFO] [stdout]    --> src/compiler/typing.rs:474:30
[INFO] [stdout]     |
[INFO] [stdout] 474 |             Pattern::Literal(literal) => Ok(()),
[INFO] [stdout]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_literal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]    --> src/compiler/typing.rs:582:37
[INFO] [stdout]     |
[INFO] [stdout] 582 |             Expression::Environment(env) => Ok(Type::String),
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]    --> src/compiler/typing.rs:586:29
[INFO] [stdout]     |
[INFO] [stdout] 586 |             Expression::Map(map) => Ok(Type::Any), // 暂定Map类型为Any
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `range`
[INFO] [stdout]    --> src/compiler/typing.rs:588:31
[INFO] [stdout]     |
[INFO] [stdout] 588 |             Expression::Range(range) => Ok(Type::Any), // 暂定Range类型为Any
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/compiler/typing.rs:605:26
[INFO] [stdout]     |
[INFO] [stdout] 605 |     fn check_path(&self, path: &PathExpression) -> Result<Type, TypeError> {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tuple`
[INFO] [stdout]    --> src/compiler/typing.rs:610:31
[INFO] [stdout]     |
[INFO] [stdout] 610 |     fn check_tuple(&mut self, tuple: &TupleExpression) -> Result<Type, TypeError> {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_tuple`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr`
[INFO] [stdout]    --> src/compiler/typing.rs:615:31
[INFO] [stdout]     |
[INFO] [stdout] 615 |     fn check_array(&mut self, arr: &ArrayExpression) -> Result<Type, TypeError> {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_arr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `closure`
[INFO] [stdout]    --> src/compiler/typing.rs:620:33
[INFO] [stdout]     |
[INFO] [stdout] 620 |     fn check_closure(&mut self, closure: &ClosureExpression) -> Result<Type, TypeError> {
[INFO] [stdout]     |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_closure`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]    --> src/compiler/typing.rs:631:31
[INFO] [stdout]     |
[INFO] [stdout] 631 |     fn check_slice(&mut self, slice: &SliceExpression) -> Result<Type, TypeError> {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/compiler/typing.rs:641:35
[INFO] [stdout]     |
[INFO] [stdout] 641 |     fn check_index_get(&mut self, index: &IndexGetExpression) -> Result<Type, TypeError> {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prop`
[INFO] [stdout]    --> src/compiler/typing.rs:651:38
[INFO] [stdout]     |
[INFO] [stdout] 651 |     fn check_property_get(&mut self, prop: &PropertyGetExpression) -> Result<Type, TypeError> {
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `call`
[INFO] [stdout]    --> src/compiler/typing.rs:661:37
[INFO] [stdout]     |
[INFO] [stdout] 661 |     fn check_call_method(&mut self, call: &CallMethodExpression) -> Result<Type, TypeError> {
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_call`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `param_name`
[INFO] [stdout]    --> src/compiler/typing.rs:830:26
[INFO] [stdout]     |
[INFO] [stdout] 830 |                 for (i, (param_name, param_type)) in func_def.params.iter().enumerate() {
[INFO] [stdout]     |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/runtime/object.rs:117:24
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn call(&mut self, args: &[ValueRef]) -> Result<Option<Value>, RuntimeError> {
[INFO] [stdout]     |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/runtime/object.rs:125:25
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn index_get(&self, index: &Value) -> Result<ValueRef, RuntimeError> {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/runtime/object.rs:132:29
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn index_set(&mut self, index: &Value, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/runtime/object.rs:132:44
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn index_set(&mut self, index: &Value, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stdout]     |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `property`
[INFO] [stdout]    --> src/runtime/object.rs:139:28
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn property_get(&self, property: &str) -> Result<ValueRef, RuntimeError> {
[INFO] [stdout]     |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `property`
[INFO] [stdout]    --> src/runtime/object.rs:146:32
[INFO] [stdout]     |
[INFO] [stdout] 146 |     fn property_set(&mut self, property: &str, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stdout]     |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/runtime/object.rs:146:48
[INFO] [stdout]     |
[INFO] [stdout] 146 |     fn property_set(&mut self, property: &str, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stdout]     |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/runtime/object.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |         args: &[ValueRef],
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `range`
[INFO] [stdout]    --> src/runtime/object.rs:180:26
[INFO] [stdout]     |
[INFO] [stdout] 180 |     fn make_slice(&self, range: ValueRef) -> Result<Value, RuntimeError> {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/runtime/object.rs:445:24
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn call(&mut self, args: &[ValueRef]) -> Result<Option<Value>, RuntimeError> {
[INFO] [stdout]     |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/runtime/object.rs:453:25
[INFO] [stdout]     |
[INFO] [stdout] 453 |     fn index_get(&self, index: &Value) -> Result<ValueRef, RuntimeError> {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/runtime/object.rs:460:29
[INFO] [stdout]     |
[INFO] [stdout] 460 |     fn index_set(&mut self, index: &Value, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/runtime/object.rs:460:44
[INFO] [stdout]     |
[INFO] [stdout] 460 |     fn index_set(&mut self, index: &Value, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stdout]     |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `property`
[INFO] [stdout]    --> src/runtime/object.rs:467:28
[INFO] [stdout]     |
[INFO] [stdout] 467 |     fn property_get(&self, property: &str) -> Result<ValueRef, RuntimeError> {
[INFO] [stdout]     |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `property`
[INFO] [stdout]    --> src/runtime/object.rs:474:32
[INFO] [stdout]     |
[INFO] [stdout] 474 |     fn property_set(&mut self, property: &str, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stdout]     |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/runtime/object.rs:474:48
[INFO] [stdout]     |
[INFO] [stdout] 474 |     fn property_set(&mut self, property: &str, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stdout]     |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/runtime/object.rs:484:9
[INFO] [stdout]     |
[INFO] [stdout] 484 |         args: &[ValueRef],
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `range`
[INFO] [stdout]    --> src/runtime/object.rs:508:26
[INFO] [stdout]     |
[INFO] [stdout] 508 |     fn make_slice(&self, range: ValueRef) -> Result<Value, RuntimeError> {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]   --> src/compiler.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct LineCol {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 38 |     line: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 39 |     col: usize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LineCol` 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 `Block` is never constructed
[INFO] [stdout]    --> src/compiler/ast/syntax.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub enum Statement {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 105 |     Block(BlockStatement),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Statement` 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 `Range` is never constructed
[INFO] [stdout]    --> src/compiler/ast/syntax.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub enum Expression {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 227 |     Range(RangeExpression),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` 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: enum `PostfixOp` is never used
[INFO] [stdout]    --> src/compiler/ast/syntax.rs:407:10
[INFO] [stdout]     |
[INFO] [stdout] 407 | pub enum PostfixOp {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PostfixExpression` is never constructed
[INFO] [stdout]    --> src/compiler/ast/syntax.rs:413:12
[INFO] [stdout]     |
[INFO] [stdout] 413 | pub struct PostfixExpression {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/compiler/ast/syntax.rs:422:12
[INFO] [stdout]     |
[INFO] [stdout] 421 | impl IdentifierExpression {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 422 |     pub fn new(name: String, span: Span) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Crate` is never constructed
[INFO] [stdout]    --> src/compiler/ast/syntax.rs:461:5
[INFO] [stdout]     |
[INFO] [stdout] 457 | pub enum PathSeg {
[INFO] [stdout]     |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 461 |     Crate,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PathSeg` 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 `id` is never used
[INFO] [stdout]   --> src/compiler/ir/instruction.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 12 |         impl $name {
[INFO] [stdout]    |         ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |             pub fn id(&self) -> usize {
[INFO] [stdout]    |                    ^^
[INFO] [stdout] ...
[INFO] [stdout] 34 | id_entity!(VariableId);
[INFO] [stdout]    | ---------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `id_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `id` is never used
[INFO] [stdout]   --> src/compiler/ir/instruction.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 12 |         impl $name {
[INFO] [stdout]    |         ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |             pub fn id(&self) -> usize {
[INFO] [stdout]    |                    ^^
[INFO] [stdout] ...
[INFO] [stdout] 36 | id_entity!(BlockId);
[INFO] [stdout]    | ------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `id_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_variable`, `as_function`, and `as_constant` are never used
[INFO] [stdout]   --> src/compiler/ir/instruction.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl Value {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn as_variable(&self) -> VariableId {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn as_function(&self) -> Option<FunctionId> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn as_constant(&self) -> Option<ConstantId> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_terminator` and `is_call` are never used
[INFO] [stdout]    --> src/compiler/ir/instruction.rs:295:12
[INFO] [stdout]     |
[INFO] [stdout] 294 | impl Instruction {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] 295 |     pub fn is_terminator(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn is_call(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Instructions` is never constructed
[INFO] [stdout]    --> src/compiler/ir/instruction.rs:571:12
[INFO] [stdout]     |
[INFO] [stdout] 571 | pub struct Instructions {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `push`, and `iter` are never used
[INFO] [stdout]    --> src/compiler/ir/instruction.rs:576:12
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl Instructions {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 576 |     pub fn new(insts: Vec<Instruction>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 580 |     pub fn push(&mut self, instruction: Instruction) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 584 |     pub fn iter(&self) -> InstructionsIterator {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InstructionsIterator` is never constructed
[INFO] [stdout]    --> src/compiler/ir/instruction.rs:591:12
[INFO] [stdout]     |
[INFO] [stdout] 591 | pub struct InstructionsIterator<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `create_block_with_instructions` and `block_remove_successor` are never used
[INFO] [stdout]    --> src/compiler/ir/instruction.rs:646:19
[INFO] [stdout]     |
[INFO] [stdout] 622 | impl ControlFlowGraph {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 646 |     pub(crate) fn create_block_with_instructions(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 723 |     pub fn block_remove_successor(&mut self, block: BlockId, successors: BlockId) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_anonymous` is never used
[INFO] [stdout]    --> src/compiler/ir/instruction.rs:751:12
[INFO] [stdout]     |
[INFO] [stdout] 742 | impl Name {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 751 |     pub fn is_anonymous(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `label` is never read
[INFO] [stdout]    --> src/compiler/ir/instruction.rs:789:16
[INFO] [stdout]     |
[INFO] [stdout] 787 | pub struct Block {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 788 |     pub(crate) id: BlockId,
[INFO] [stdout] 789 |     pub(crate) label: Name,
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Block` 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 `with_instructions` is never used
[INFO] [stdout]    --> src/compiler/ir/instruction.rs:806:12
[INFO] [stdout]     |
[INFO] [stdout] 793 | impl Block {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 806 |     pub fn with_instructions(mut self, instructions: Vec<Instruction>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_function`, `get_block`, and `with_control_flow_graph` are never used
[INFO] [stdout]    --> src/compiler/ir/instruction.rs:871:12
[INFO] [stdout]     |
[INFO] [stdout] 862 | impl IrUnit {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 871 |     pub fn get_function(&self, id: FunctionId) -> Option<&IrFunction> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 910 |     pub fn get_block(&self, id: BlockId) -> Option<&Block> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 914 |     pub fn with_control_flow_graph(mut self, control_flow_graph: ControlFlowGraph) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_expression_input` is never used
[INFO] [stdout]   --> src/compiler/parser.rs:73:15
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub(crate) fn parse_expression_input(input: &str) -> Result<ExpressionNode> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `type_is_defined` and `get_type_id` are never used
[INFO] [stdout]    --> src/compiler/typing.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl TypeContext {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn type_is_defined(&self, name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn get_type_id(&self, name: &str) -> Option<TypeId> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ObjectBase` is never used
[INFO] [stdout]    --> src/runtime/object.rs:361:11
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub trait ObjectBase: std::any::Any + std::fmt::Debug {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `properties` are never read
[INFO] [stdout]   --> src/runtime/object/metatable.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MetaTable<T> {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 11 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 12 |     pub methods: HashMap<String, Method<T>>,
[INFO] [stdout] 13 |     pub properties: HashMap<String, MetaProperty<T>>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetaTable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_property`, `with_property_getter`, `with_property_setter`, `property_get`, and `property_set` are never used
[INFO] [stdout]   --> src/runtime/object/metatable.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl<T> MetaTable<T> {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn add_property(&mut self, property: MetaProperty<T>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn with_property_getter(mut self, name: &str, getter: Getter<T>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn with_property_setter(mut self, name: &str, setter: Setter<T>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn property_get(&self, this: &T, name: &str) -> Result<Value, RuntimeError> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn property_set(&self, this: &mut T, name: &str, value: Value) -> Result<(), RuntimeError> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `getter`, and `setter` are never read
[INFO] [stdout]   --> src/runtime/object/metatable.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct MetaProperty<T> {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 85 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 86 |     pub getter: Option<Getter<T>>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 87 |     pub setter: Option<Setter<T>>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetaProperty` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/runtime/object/metatable.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | impl<T> MetaProperty<T> {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 91 |     pub fn new(name: &str, getter: Option<Getter<T>>, setter: Option<Setter<T>>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/compiler/ir/instruction.rs:584:17
[INFO] [stdout]     |
[INFO] [stdout] 584 |     pub fn iter(&self) -> InstructionsIterator {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 584 |     pub fn iter(&self) -> InstructionsIterator<'_> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/interpreter.rs:6:42
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn eval<T: Object + 'static>(script: &str, env: Environment) -> Result<Option<T>, Error> {
[INFO] [stdout]   |                                          ^^^^ the lifetime is elided here             ^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn eval<T: Object + 'static>(script: &str, env: Environment) -> Result<Option<T>, Error<'_>> {
[INFO] [stdout]   |                                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/interpreter.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |     script: &str,
[INFO] [stdout]    |             ^^^^ the lifetime is elided here
[INFO] [stdout] 28 |     env: Environment,
[INFO] [stdout] 29 | ) -> Result<Option<T>, Error> {
[INFO] [stdout]    |                        ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 29 | ) -> Result<Option<T>, Error<'_>> {
[INFO] [stdout]    |                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/interpreter.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn eval(script: &str, env: Environment) -> Result<Option<Value>, Error> {
[INFO] [stdout]    |                         ^^^^ the lifetime is elided here                 ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn eval(script: &str, env: Environment) -> Result<Option<Value>, Error<'_>> {
[INFO] [stdout]    |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/runtime/value.rs:71:18
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn value(&self) -> RwLockReadGuard<Value> {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn value(&self) -> RwLockReadGuard<'_, Value> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/runtime/value.rs:75:22
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn value_mut(&self) -> RwLockWriteGuard<Value> {
[INFO] [stdout]    |                      ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn value_mut(&self) -> RwLockWriteGuard<'_, Value> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 11s
[INFO] running `Command { std: "docker" "inspect" "eb4cca7964d0f66b46a4f1c64dad2c4a557cec78647e9702f7f40de567fd7637", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eb4cca7964d0f66b46a4f1c64dad2c4a557cec78647e9702f7f40de567fd7637", kill_on_drop: false }`
[INFO] [stdout] eb4cca7964d0f66b46a4f1c64dad2c4a557cec78647e9702f7f40de567fd7637
