[INFO] fetching crate evalit 0.2.0-beta.0...
[INFO] testing evalit-0.2.0-beta.0 against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] extracting crate evalit 0.2.0-beta.0 into /workspace/builds/worker-2-tc2/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-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate evalit 0.2.0-beta.0 on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3eacbdab1439066e79950629f3036a9dac523e29b1937976bb4f5a220a32e111
[INFO] running `Command { std: "docker" "start" "-a" "3eacbdab1439066e79950629f3036a9dac523e29b1937976bb4f5a220a32e111", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3eacbdab1439066e79950629f3036a9dac523e29b1937976bb4f5a220a32e111", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3eacbdab1439066e79950629f3036a9dac523e29b1937976bb4f5a220a32e111", kill_on_drop: false }`
[INFO] [stdout] 3eacbdab1439066e79950629f3036a9dac523e29b1937976bb4f5a220a32e111
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f79375505ddd83b2c70adc9dc9c575aa0e16cfcd3110828030c3c8a25bdcad42
[INFO] running `Command { std: "docker" "start" "-a" "f79375505ddd83b2c70adc9dc9c575aa0e16cfcd3110828030c3c8a25bdcad42", kill_on_drop: false }`
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling hashbrown v0.15.3
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling pest v2.8.0
[INFO] [stderr]    Compiling petgraph v0.8.1
[INFO] [stderr]    Compiling pest_meta v2.8.0
[INFO] [stderr]    Compiling pest_generator v2.8.0
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling pest_derive v2.8.0
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling evalit v0.2.0-beta.0 (/opt/rustwide/workdir)
[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: 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]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.97s
[INFO] running `Command { std: "docker" "inspect" "f79375505ddd83b2c70adc9dc9c575aa0e16cfcd3110828030c3c8a25bdcad42", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f79375505ddd83b2c70adc9dc9c575aa0e16cfcd3110828030c3c8a25bdcad42", kill_on_drop: false }`
[INFO] [stdout] f79375505ddd83b2c70adc9dc9c575aa0e16cfcd3110828030c3c8a25bdcad42
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f605181c82256bf5f5fa6d59bc7034589a158a97adf17540d3ef5c530185bb56
[INFO] running `Command { std: "docker" "start" "-a" "f605181c82256bf5f5fa6d59bc7034589a158a97adf17540d3ef5c530185bb56", kill_on_drop: false }`
[INFO] [stderr]    Compiling smallvec v1.15.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]    Compiling socket2 v0.5.9
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling pest_meta v2.8.0
[INFO] [stderr]    Compiling half v2.6.0
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling clap_builder v4.5.38
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling anstream v0.6.18
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling jiff v0.2.13
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling tokio v1.45.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling petgraph v0.8.1
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling pest_generator v2.8.0
[INFO] [stderr]    Compiling pest_derive v2.8.0
[INFO] [stderr]    Compiling clap v4.5.38
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling evalit v0.2.0-beta.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling env_filter v0.1.3
[INFO] [stderr]    Compiling tokio-util v0.7.15
[INFO] [stderr]    Compiling env_logger v0.11.8
[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]    Compiling 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]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling criterion v0.6.0
[INFO] [stderr]    Compiling hyper v1.6.0
[INFO] [stderr]    Compiling 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 `test` profile [unoptimized + debuginfo] target(s) in 47.32s
[INFO] running `Command { std: "docker" "inspect" "f605181c82256bf5f5fa6d59bc7034589a158a97adf17540d3ef5c530185bb56", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f605181c82256bf5f5fa6d59bc7034589a158a97adf17540d3ef5c530185bb56", kill_on_drop: false }`
[INFO] [stdout] f605181c82256bf5f5fa6d59bc7034589a158a97adf17540d3ef5c530185bb56
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5da7c4ed0a611e26be99e2c2e7c43eabdf8fb0481a764153054f2de75c234519
[INFO] running `Command { std: "docker" "start" "-a" "5da7c4ed0a611e26be99e2c2e7c43eabdf8fb0481a764153054f2de75c234519", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> src/compiler/typing.rs:378:14
[INFO] [stderr]     |
[INFO] [stderr] 378 |         for (name, func) in self.type_cx.functions.iter() {
[INFO] [stderr]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `literal`
[INFO] [stderr]    --> src/compiler/typing.rs:474:30
[INFO] [stderr]     |
[INFO] [stderr] 474 |             Pattern::Literal(literal) => Ok(()),
[INFO] [stderr]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_literal`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `env`
[INFO] [stderr]    --> src/compiler/typing.rs:582:37
[INFO] [stderr]     |
[INFO] [stderr] 582 |             Expression::Environment(env) => Ok(Type::String),
[INFO] [stderr]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `map`
[INFO] [stderr]    --> src/compiler/typing.rs:586:29
[INFO] [stderr]     |
[INFO] [stderr] 586 |             Expression::Map(map) => Ok(Type::Any), // 暂定Map类型为Any
[INFO] [stderr]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `range`
[INFO] [stderr]    --> src/compiler/typing.rs:588:31
[INFO] [stderr]     |
[INFO] [stderr] 588 |             Expression::Range(range) => Ok(Type::Any), // 暂定Range类型为Any
[INFO] [stderr]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]    --> src/compiler/typing.rs:605:26
[INFO] [stderr]     |
[INFO] [stderr] 605 |     fn check_path(&self, path: &PathExpression) -> Result<Type, TypeError> {
[INFO] [stderr]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tuple`
[INFO] [stderr]    --> src/compiler/typing.rs:610:31
[INFO] [stderr]     |
[INFO] [stderr] 610 |     fn check_tuple(&mut self, tuple: &TupleExpression) -> Result<Type, TypeError> {
[INFO] [stderr]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_tuple`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `arr`
[INFO] [stderr]    --> src/compiler/typing.rs:615:31
[INFO] [stderr]     |
[INFO] [stderr] 615 |     fn check_array(&mut self, arr: &ArrayExpression) -> Result<Type, TypeError> {
[INFO] [stderr]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_arr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `closure`
[INFO] [stderr]    --> src/compiler/typing.rs:620:33
[INFO] [stderr]     |
[INFO] [stderr] 620 |     fn check_closure(&mut self, closure: &ClosureExpression) -> Result<Type, TypeError> {
[INFO] [stderr]     |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_closure`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `slice`
[INFO] [stderr]    --> src/compiler/typing.rs:631:31
[INFO] [stderr]     |
[INFO] [stderr] 631 |     fn check_slice(&mut self, slice: &SliceExpression) -> Result<Type, TypeError> {
[INFO] [stderr]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> src/compiler/typing.rs:641:35
[INFO] [stderr]     |
[INFO] [stderr] 641 |     fn check_index_get(&mut self, index: &IndexGetExpression) -> Result<Type, TypeError> {
[INFO] [stderr]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `prop`
[INFO] [stderr]    --> src/compiler/typing.rs:651:38
[INFO] [stderr]     |
[INFO] [stderr] 651 |     fn check_property_get(&mut self, prop: &PropertyGetExpression) -> Result<Type, TypeError> {
[INFO] [stderr]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_prop`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `call`
[INFO] [stderr]    --> src/compiler/typing.rs:661:37
[INFO] [stderr]     |
[INFO] [stderr] 661 |     fn check_call_method(&mut self, call: &CallMethodExpression) -> Result<Type, TypeError> {
[INFO] [stderr]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_call`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `param_name`
[INFO] [stderr]    --> src/compiler/typing.rs:830:26
[INFO] [stderr]     |
[INFO] [stderr] 830 |                 for (i, (param_name, param_type)) in func_def.params.iter().enumerate() {
[INFO] [stderr]     |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]    --> src/runtime/object.rs:117:24
[INFO] [stderr]     |
[INFO] [stderr] 117 |     fn call(&mut self, args: &[ValueRef]) -> Result<Option<Value>, RuntimeError> {
[INFO] [stderr]     |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> src/runtime/object.rs:125:25
[INFO] [stderr]     |
[INFO] [stderr] 125 |     fn index_get(&self, index: &Value) -> Result<ValueRef, RuntimeError> {
[INFO] [stderr]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> src/runtime/object.rs:132:29
[INFO] [stderr]     |
[INFO] [stderr] 132 |     fn index_set(&mut self, index: &Value, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stderr]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/runtime/object.rs:132:44
[INFO] [stderr]     |
[INFO] [stderr] 132 |     fn index_set(&mut self, index: &Value, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stderr]     |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `property`
[INFO] [stderr]    --> src/runtime/object.rs:139:28
[INFO] [stderr]     |
[INFO] [stderr] 139 |     fn property_get(&self, property: &str) -> Result<ValueRef, RuntimeError> {
[INFO] [stderr]     |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `property`
[INFO] [stderr]    --> src/runtime/object.rs:146:32
[INFO] [stderr]     |
[INFO] [stderr] 146 |     fn property_set(&mut self, property: &str, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stderr]     |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/runtime/object.rs:146:48
[INFO] [stderr]     |
[INFO] [stderr] 146 |     fn property_set(&mut self, property: &str, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stderr]     |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]    --> src/runtime/object.rs:156:9
[INFO] [stderr]     |
[INFO] [stderr] 156 |         args: &[ValueRef],
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `range`
[INFO] [stderr]    --> src/runtime/object.rs:180:26
[INFO] [stderr]     |
[INFO] [stderr] 180 |     fn make_slice(&self, range: ValueRef) -> Result<Value, RuntimeError> {
[INFO] [stderr]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]    --> src/runtime/object.rs:445:24
[INFO] [stderr]     |
[INFO] [stderr] 445 |     fn call(&mut self, args: &[ValueRef]) -> Result<Option<Value>, RuntimeError> {
[INFO] [stderr]     |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> src/runtime/object.rs:453:25
[INFO] [stderr]     |
[INFO] [stderr] 453 |     fn index_get(&self, index: &Value) -> Result<ValueRef, RuntimeError> {
[INFO] [stderr]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> src/runtime/object.rs:460:29
[INFO] [stderr]     |
[INFO] [stderr] 460 |     fn index_set(&mut self, index: &Value, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stderr]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/runtime/object.rs:460:44
[INFO] [stderr]     |
[INFO] [stderr] 460 |     fn index_set(&mut self, index: &Value, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stderr]     |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `property`
[INFO] [stderr]    --> src/runtime/object.rs:467:28
[INFO] [stderr]     |
[INFO] [stderr] 467 |     fn property_get(&self, property: &str) -> Result<ValueRef, RuntimeError> {
[INFO] [stderr]     |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `property`
[INFO] [stderr]    --> src/runtime/object.rs:474:32
[INFO] [stderr]     |
[INFO] [stderr] 474 |     fn property_set(&mut self, property: &str, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stderr]     |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/runtime/object.rs:474:48
[INFO] [stderr]     |
[INFO] [stderr] 474 |     fn property_set(&mut self, property: &str, value: ValueRef) -> Result<(), RuntimeError> {
[INFO] [stderr]     |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]    --> src/runtime/object.rs:484:9
[INFO] [stderr]     |
[INFO] [stderr] 484 |         args: &[ValueRef],
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `range`
[INFO] [stderr]    --> src/runtime/object.rs:508:26
[INFO] [stderr]     |
[INFO] [stderr] 508 |     fn make_slice(&self, range: ValueRef) -> Result<Value, RuntimeError> {
[INFO] [stderr]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `line` and `col` are never read
[INFO] [stderr]   --> src/compiler.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | struct LineCol {
[INFO] [stderr]    |        ------- fields in this struct
[INFO] [stderr] 38 |     line: usize,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 39 |     col: usize,
[INFO] [stderr]    |     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `LineCol` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Block` is never constructed
[INFO] [stderr]    --> src/compiler/ast/syntax.rs:105:5
[INFO] [stderr]     |
[INFO] [stderr] 101 | pub enum Statement {
[INFO] [stderr]     |          --------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 105 |     Block(BlockStatement),
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Range` is never constructed
[INFO] [stderr]    --> src/compiler/ast/syntax.rs:227:5
[INFO] [stderr]     |
[INFO] [stderr] 218 | pub enum Expression {
[INFO] [stderr]     |          ---------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 227 |     Range(RangeExpression),
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Expression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: enum `PostfixOp` is never used
[INFO] [stderr]    --> src/compiler/ast/syntax.rs:407:10
[INFO] [stderr]     |
[INFO] [stderr] 407 | pub enum PostfixOp {
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PostfixExpression` is never constructed
[INFO] [stderr]    --> src/compiler/ast/syntax.rs:413:12
[INFO] [stderr]     |
[INFO] [stderr] 413 | pub struct PostfixExpression {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/compiler/ast/syntax.rs:422:12
[INFO] [stderr]     |
[INFO] [stderr] 421 | impl IdentifierExpression {
[INFO] [stderr]     | ------------------------- associated function in this implementation
[INFO] [stderr] 422 |     pub fn new(name: String, span: Span) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Crate` is never constructed
[INFO] [stderr]    --> src/compiler/ast/syntax.rs:461:5
[INFO] [stderr]     |
[INFO] [stderr] 457 | pub enum PathSeg {
[INFO] [stderr]     |          ------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 461 |     Crate,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `PathSeg` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `id` is never used
[INFO] [stderr]   --> src/compiler/ir/instruction.rs:17:20
[INFO] [stderr]    |
[INFO] [stderr] 12 |         impl $name {
[INFO] [stderr]    |         ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 17 |             pub fn id(&self) -> usize {
[INFO] [stderr]    |                    ^^
[INFO] [stderr] ...
[INFO] [stderr] 34 | id_entity!(VariableId);
[INFO] [stderr]    | ---------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `id_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: method `id` is never used
[INFO] [stderr]   --> src/compiler/ir/instruction.rs:17:20
[INFO] [stderr]    |
[INFO] [stderr] 12 |         impl $name {
[INFO] [stderr]    |         ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 17 |             pub fn id(&self) -> usize {
[INFO] [stderr]    |                    ^^
[INFO] [stderr] ...
[INFO] [stderr] 36 | id_entity!(BlockId);
[INFO] [stderr]    | ------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `id_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: methods `as_variable`, `as_function`, and `as_constant` are never used
[INFO] [stderr]   --> src/compiler/ir/instruction.rs:72:12
[INFO] [stderr]    |
[INFO] [stderr] 67 | impl Value {
[INFO] [stderr]    | ---------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 72 |     pub fn as_variable(&self) -> VariableId {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 86 |     pub fn as_function(&self) -> Option<FunctionId> {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 93 |     pub fn as_constant(&self) -> Option<ConstantId> {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_terminator` and `is_call` are never used
[INFO] [stderr]    --> src/compiler/ir/instruction.rs:295:12
[INFO] [stderr]     |
[INFO] [stderr] 294 | impl Instruction {
[INFO] [stderr]     | ---------------- methods in this implementation
[INFO] [stderr] 295 |     pub fn is_terminator(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 305 |     pub fn is_call(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Instructions` is never constructed
[INFO] [stderr]    --> src/compiler/ir/instruction.rs:571:12
[INFO] [stderr]     |
[INFO] [stderr] 571 | pub struct Instructions {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `push`, and `iter` are never used
[INFO] [stderr]    --> src/compiler/ir/instruction.rs:576:12
[INFO] [stderr]     |
[INFO] [stderr] 575 | impl Instructions {
[INFO] [stderr]     | ----------------- associated items in this implementation
[INFO] [stderr] 576 |     pub fn new(insts: Vec<Instruction>) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 580 |     pub fn push(&mut self, instruction: Instruction) {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 584 |     pub fn iter(&self) -> InstructionsIterator {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `InstructionsIterator` is never constructed
[INFO] [stderr]    --> src/compiler/ir/instruction.rs:591:12
[INFO] [stderr]     |
[INFO] [stderr] 591 | pub struct InstructionsIterator<'a> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `create_block_with_instructions` and `block_remove_successor` are never used
[INFO] [stderr]    --> src/compiler/ir/instruction.rs:646:19
[INFO] [stderr]     |
[INFO] [stderr] 622 | impl ControlFlowGraph {
[INFO] [stderr]     | --------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 646 |     pub(crate) fn create_block_with_instructions(
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 723 |     pub fn block_remove_successor(&mut self, block: BlockId, successors: BlockId) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_anonymous` is never used
[INFO] [stderr]    --> src/compiler/ir/instruction.rs:751:12
[INFO] [stderr]     |
[INFO] [stderr] 742 | impl Name {
[INFO] [stderr]     | --------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 751 |     pub fn is_anonymous(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `label` is never read
[INFO] [stderr]    --> src/compiler/ir/instruction.rs:789:16
[INFO] [stderr]     |
[INFO] [stderr] 787 | pub struct Block {
[INFO] [stderr]     |            ----- field in this struct
[INFO] [stderr] 788 |     pub(crate) id: BlockId,
[INFO] [stderr] 789 |     pub(crate) label: Name,
[INFO] [stderr]     |                ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Block` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `with_instructions` is never used
[INFO] [stderr]    --> src/compiler/ir/instruction.rs:806:12
[INFO] [stderr]     |
[INFO] [stderr] 793 | impl Block {
[INFO] [stderr]     | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 806 |     pub fn with_instructions(mut self, instructions: Vec<Instruction>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_function`, `get_block`, and `with_control_flow_graph` are never used
[INFO] [stderr]    --> src/compiler/ir/instruction.rs:871:12
[INFO] [stderr]     |
[INFO] [stderr] 862 | impl IrUnit {
[INFO] [stderr]     | ----------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 871 |     pub fn get_function(&self, id: FunctionId) -> Option<&IrFunction> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 910 |     pub fn get_block(&self, id: BlockId) -> Option<&Block> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 914 |     pub fn with_control_flow_graph(mut self, control_flow_graph: ControlFlowGraph) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_expression_input` is never used
[INFO] [stderr]   --> src/compiler/parser.rs:73:15
[INFO] [stderr]    |
[INFO] [stderr] 73 | pub(crate) fn parse_expression_input(input: &str) -> Result<ExpressionNode> {
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_statement_input` is never used
[INFO] [stderr]   --> src/compiler/parser.rs:78:15
[INFO] [stderr]    |
[INFO] [stderr] 78 | pub(crate) fn parse_statement_input(input: &str) -> Result<StatementNode> {
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `type_is_defined` and `get_type_id` are never used
[INFO] [stderr]    --> src/compiler/typing.rs:137:12
[INFO] [stderr]     |
[INFO] [stderr] 123 | impl TypeContext {
[INFO] [stderr]     | ---------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 137 |     pub fn type_is_defined(&self, name: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 141 |     pub fn get_type_id(&self, name: &str) -> Option<TypeId> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `ObjectBase` is never used
[INFO] [stderr]    --> src/runtime/object.rs:361:11
[INFO] [stderr]     |
[INFO] [stderr] 361 | pub trait ObjectBase: std::any::Any + std::fmt::Debug {
[INFO] [stderr]     |           ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `name` and `properties` are never read
[INFO] [stderr]   --> src/runtime/object/metatable.rs:11:9
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct MetaTable<T> {
[INFO] [stderr]    |            --------- fields in this struct
[INFO] [stderr] 11 |     pub name: String,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 12 |     pub methods: HashMap<String, Method<T>>,
[INFO] [stderr] 13 |     pub properties: HashMap<String, MetaProperty<T>>,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `MetaTable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `add_property`, `with_property_getter`, `with_property_setter`, `property_get`, and `property_set` are never used
[INFO] [stderr]   --> src/runtime/object/metatable.rs:30:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl<T> MetaTable<T> {
[INFO] [stderr]    | -------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 30 |     pub fn add_property(&mut self, property: MetaProperty<T>) {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 34 |     pub fn with_property_getter(mut self, name: &str, getter: Getter<T>) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 42 |     pub fn with_property_setter(mut self, name: &str, setter: Setter<T>) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 50 |     pub fn property_get(&self, this: &T, name: &str) -> Result<Value, RuntimeError> {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 60 |     pub fn property_set(&self, this: &mut T, name: &str, value: Value) -> Result<(), RuntimeError> {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `name`, `getter`, and `setter` are never read
[INFO] [stderr]   --> src/runtime/object/metatable.rs:85:9
[INFO] [stderr]    |
[INFO] [stderr] 84 | pub struct MetaProperty<T> {
[INFO] [stderr]    |            ------------ fields in this struct
[INFO] [stderr] 85 |     pub name: String,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 86 |     pub getter: Option<Getter<T>>,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 87 |     pub setter: Option<Setter<T>>,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `MetaProperty` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/runtime/object/metatable.rs:91:12
[INFO] [stderr]    |
[INFO] [stderr] 90 | impl<T> MetaProperty<T> {
[INFO] [stderr]    | ----------------------- associated function in this implementation
[INFO] [stderr] 91 |     pub fn new(name: &str, getter: Option<Getter<T>>, setter: Option<Setter<T>>) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/compiler/ir/instruction.rs:584:17
[INFO] [stderr]     |
[INFO] [stderr] 584 |     pub fn iter(&self) -> InstructionsIterator {
[INFO] [stderr]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 584 |     pub fn iter(&self) -> InstructionsIterator<'_> {
[INFO] [stderr]     |                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]  --> src/interpreter.rs:6:42
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn eval<T: Object + 'static>(script: &str, env: Environment) -> Result<Option<T>, Error> {
[INFO] [stderr]   |                                          ^^^^ the lifetime is elided here             ^^^^^ the same lifetime is hidden here
[INFO] [stderr]   |
[INFO] [stderr]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn eval<T: Object + 'static>(script: &str, env: Environment) -> Result<Option<T>, Error<'_>> {
[INFO] [stderr]   |                                                                                            ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/interpreter.rs:27:13
[INFO] [stderr]    |
[INFO] [stderr] 27 |     script: &str,
[INFO] [stderr]    |             ^^^^ the lifetime is elided here
[INFO] [stderr] 28 |     env: Environment,
[INFO] [stderr] 29 | ) -> Result<Option<T>, Error> {
[INFO] [stderr]    |                        ^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 29 | ) -> Result<Option<T>, Error<'_>> {
[INFO] [stderr]    |                             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/interpreter.rs:72:25
[INFO] [stderr]    |
[INFO] [stderr] 72 |     pub fn eval(script: &str, env: Environment) -> Result<Option<Value>, Error> {
[INFO] [stderr]    |                         ^^^^ the lifetime is elided here                 ^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 72 |     pub fn eval(script: &str, env: Environment) -> Result<Option<Value>, Error<'_>> {
[INFO] [stderr]    |                                                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/runtime/value.rs:71:18
[INFO] [stderr]    |
[INFO] [stderr] 71 |     pub fn value(&self) -> RwLockReadGuard<Value> {
[INFO] [stderr]    |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                  |
[INFO] [stderr]    |                  the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 71 |     pub fn value(&self) -> RwLockReadGuard<'_, Value> {
[INFO] [stderr]    |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/runtime/value.rs:75:22
[INFO] [stderr]    |
[INFO] [stderr] 75 |     pub fn value_mut(&self) -> RwLockWriteGuard<Value> {
[INFO] [stderr]    |                      ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                      |
[INFO] [stderr]    |                      the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 75 |     pub fn value_mut(&self) -> RwLockWriteGuard<'_, Value> {
[INFO] [stderr]    |                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: `evalit` (lib) generated 65 warnings (run `cargo fix --lib -p evalit` to apply 38 suggestions)
[INFO] [stderr] warning: `evalit` (lib test) generated 64 warnings (64 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.23s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/evalit-868c0f79a6c93da8)
[INFO] [stdout] 
[INFO] [stdout] running 33 tests
[INFO] [stdout] test compiler::parser::test::test_array_expression ... ok
[INFO] [stdout] test compiler::parser::test::test_binary_expression ... ok
[INFO] [stdout] test compiler::parser::test::test_await_expression ... ok
[INFO] [stdout] test compiler::parser::test::test_empty_statement ... ok
[INFO] [stdout] test compiler::parser::test::test_call_expression ... ok
[INFO] [stdout] test compiler::parser::test::test_expression_statement ... ok
[INFO] [stdout] test compiler::parser::test::test_create_assign_binary_expression ... ok
[INFO] [stdout] test compiler::parser::test::test_environment_expression ... ok
[INFO] [stdout] test compiler::parser::test::test_enum_item ... ok
[INFO] [stdout] test compiler::parser::test::test_let_statement ... ok
[INFO] [stdout] test compiler::parser::test::test_function_item ... ok
[INFO] [stdout] test compiler::parser::test::test_identifier_expression ... ok
[INFO] [stdout] test compiler::parser::test::test_if_statement ... ok
[INFO] [stdout] test compiler::parser::test::test_index_get_expression ... ok
[INFO] [stdout] test compiler::parser::test::test_break_statement ... ok
[INFO] [stdout] test compiler::parser::test::test_index_set_expression ... ok
[INFO] [stdout] test compiler::parser::test::test_continue_statement ... ok
[INFO] [stdout] test compiler::parser::test::test_loop_statement ... ok
[INFO] [stdout] test compiler::parser::test::test_map_expression ... ok
[INFO] [stdout] test compiler::parser::test::test_for_statement ... ok
[INFO] [stdout] test compiler::parser::test::test_literal_expression ... ok
[INFO] [stdout] test compiler::parser::test::test_return_statement ... ok
[INFO] [stdout] test compiler::parser::test::test_let_statement_with_type ... ok
[INFO] [stdout] test compiler::parser::test::test_property_set_expression ... ok
[INFO] [stdout] test compiler::parser::test::test_slice_expression ... ok
[INFO] [stdout] test compiler::parser::test::test_struct_item ... ok
[INFO] [stdout] test compiler::parser::test::test_tuple_expression ... ok
[INFO] [stdout] test compiler::parser::test::test_while_statement ... ok
[INFO] [stdout] test compiler::parser::test::test_prefix_expression ... ok
[INFO] [stdout] test compiler::parser::test::test_try_expression ... ok
[INFO] [stdout] test compiler::parser::test::test_property_get_expression ... ok
[INFO] [stdout] test compiler::parser::test::test_closure_expression ... ok
[INFO] [stdout] test compiler::parser::test::test_call_method_expression ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_basic_types.rs (/opt/rustwide/target/debug/deps/test_basic_types-9441532411615c6b)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test test_float ... ok
[INFO] [stdout] test test_null ... ok
[INFO] [stdout] test test_integer ... ok
[INFO] [stdout] test test_boolean ... ok
[INFO] [stdout] test test_string ... ok
[INFO] [stdout] test test_map_basics ... ok
[INFO] [stdout] test test_map_methods ... ok
[INFO] [stdout] test test_array_methods ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_control_flow.rs (/opt/rustwide/target/debug/deps/test_control_flow-070a9994bddad082)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test test_if_statement ... ok
[INFO] [stdout] test test_while_statement ... ok
[INFO] [stdout] test test_return_statement ... ok
[INFO] [stdout] test test_loop_statement ... ok
[INFO] [stdout] test test_break_continue ... ok
[INFO] [stdout] test test_eval_control_flow ... ok
[INFO] [stdout] test test_for_statement ... ok
[INFO] [stdout] test test_eval_for ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.32s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_embed.rs (/opt/rustwide/target/debug/deps/test_embed-949021a8b3935fb3)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test test_rust_interop ... ok
[INFO] [stdout] test test_shared_compiled_program ... ok
[INFO] [stdout] test async_embed::test_rust_tcp_interop ... ok
[INFO] [stdout] test test_rust_object_interop ... ok
[INFO] [stdout] test test_multiple_vm_instances ... ok
[INFO] [stdout] test test_basic_embedding ... ok
[INFO] [stdout] test async_embed::test_rust_async_interop ... ok
[INFO] [stderr]      Running tests/test_function.rs (/opt/rustwide/target/debug/deps/test_function-317d0eeadd0dd30c)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.08s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test test_basic_function ... ok
[INFO] [stdout] test test_function_simple_call ... ok
[INFO] [stdout] test test_function_tail_call_optimization ... ok
[INFO] [stdout] test test_function_with_params ... ok
[INFO] [stdout] test test_function_scope ... ok
[INFO] [stdout] test test_function_multiple_parameters ... ok
[INFO] [stdout] test test_multiple_returns ... ok
[INFO] [stdout] test test_function_call_chain ... ok
[INFO] [stdout] test test_function_higher_order ... ok
[INFO] [stdout] test test_recursive_function ... ok
[INFO] [stdout] test test_function_with_control_flow ... ok
[INFO] [stdout] test test_fibonacci ... ok
[INFO] [stdout] test test_function_mutual_recursion ... ok
[INFO] [stdout] test test_function_recursive_depth_exceeded has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "5da7c4ed0a611e26be99e2c2e7c43eabdf8fb0481a764153054f2de75c234519", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5da7c4ed0a611e26be99e2c2e7c43eabdf8fb0481a764153054f2de75c234519", kill_on_drop: false }`
[INFO] [stdout] 5da7c4ed0a611e26be99e2c2e7c43eabdf8fb0481a764153054f2de75c234519
