[INFO] cloning repository https://github.com/KermanX/ecma_analyzer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KermanX/ecma_analyzer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKermanX%2Fecma_analyzer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKermanX%2Fecma_analyzer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9d998f416624db82b08f4bfdf39a6aefc1c0e36f
[INFO] building KermanX/ecma_analyzer against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKermanX%2Fecma_analyzer" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/KermanX/ecma_analyzer
[INFO] finished tweaking git repo https://github.com/KermanX/ecma_analyzer
[INFO] tweaked toml for git repo https://github.com/KermanX/ecma_analyzer written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/KermanX/ecma_analyzer on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/KermanX/ecma_analyzer 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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 13e1bf3189a37340b1d66d9b83b35a79b2499b4612da03193c1c02cadea3f0b1
[INFO] running `Command { std: "docker" "start" "-a" "13e1bf3189a37340b1d66d9b83b35a79b2499b4612da03193c1c02cadea3f0b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "13e1bf3189a37340b1d66d9b83b35a79b2499b4612da03193c1c02cadea3f0b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "13e1bf3189a37340b1d66d9b83b35a79b2499b4612da03193c1c02cadea3f0b1", kill_on_drop: false }`
[INFO] [stdout] 13e1bf3189a37340b1d66d9b83b35a79b2499b4612da03193c1c02cadea3f0b1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 22a79bbb4f17e6bb94b1dcc727e4cc13138d536764f8b9ea791956d2eb197bdd
[INFO] running `Command { std: "docker" "start" "-a" "22a79bbb4f17e6bb94b1dcc727e4cc13138d536764f8b9ea791956d2eb197bdd", kill_on_drop: false }`
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling rustc-hash v2.1.1
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling unicode-width v0.2.1
[INFO] [stderr]    Compiling smawk v0.3.2
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling phf_shared v0.13.1
[INFO] [stderr]    Compiling oxc_data_structures v0.99.0
[INFO] [stderr]    Compiling oxc_estree v0.99.0
[INFO] [stderr]    Compiling cow-utils v0.1.3
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling castaway v0.2.3
[INFO] [stderr]    Compiling unicode-id-start v1.3.1
[INFO] [stderr]    Compiling dragonbox_ecma v0.0.5
[INFO] [stderr]    Compiling hashbrown v0.15.4
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling self_cell v1.2.1
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling virtue v0.0.18
[INFO] [stderr]    Compiling phf v0.13.1
[INFO] [stderr]    Compiling deranged v0.5.5
[INFO] [stderr]    Compiling vsimd v0.8.0
[INFO] [stderr]    Compiling phf_generator v0.13.1
[INFO] [stderr]    Compiling bumpalo v3.19.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling oxc_sourcemap v6.0.1
[INFO] [stderr]    Compiling outref v0.5.2
[INFO] [stderr]    Compiling unty v0.0.4
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling json-escape-simd v3.0.1
[INFO] [stderr]    Compiling seq-macro v0.3.6
[INFO] [stderr]    Compiling seize v0.5.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling json-strip-comments v1.0.4
[INFO] [stderr]    Compiling text-size v1.1.1
[INFO] [stderr]    Compiling simdutf8 v0.1.5
[INFO] [stderr]    Compiling flate2 v1.1.5
[INFO] [stderr]    Compiling papaya v0.2.3
[INFO] [stderr]    Compiling base64-simd v0.8.0
[INFO] [stderr]    Compiling line-index v0.1.2
[INFO] [stderr]    Compiling bincode_derive v2.0.1
[INFO] [stderr]    Compiling oxc_allocator v0.99.0
[INFO] [stderr]    Compiling bincode v2.0.1
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling oxc-miette-derive v2.6.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling oxc_ast_macros v0.99.0
[INFO] [stderr]    Compiling phf_macros v0.13.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling oxc-miette v2.6.0
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling zerovec v0.11.2
[INFO] [stderr]    Compiling oxc_span v0.99.0
[INFO] [stderr]    Compiling oxc_diagnostics v0.99.0
[INFO] [stderr]    Compiling oxc_regular_expression v0.99.0
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling oxc_index v4.1.0
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling oxc_syntax v0.99.0
[INFO] [stderr]    Compiling oxc_ast v0.99.0
[INFO] [stderr]    Compiling oxc-browserslist v2.1.3
[INFO] [stderr]    Compiling oxc_resolver v11.5.2
[INFO] [stderr]    Compiling oxc_compat v0.99.0
[INFO] [stderr]    Compiling oxc_ecmascript v0.99.0
[INFO] [stderr]    Compiling oxc_ast_visit v0.99.0
[INFO] [stderr]    Compiling oxc_parser v0.99.0
[INFO] [stderr]    Compiling oxc_semantic v0.99.0
[INFO] [stderr]    Compiling oxc_traverse v0.99.0
[INFO] [stderr]    Compiling oxc_mangler v0.99.0
[INFO] [stderr]    Compiling oxc_codegen v0.99.0
[INFO] [stderr]    Compiling oxc_minifier v0.99.0
[INFO] [stderr]    Compiling oxc v0.99.0
[INFO] [stderr]    Compiling simple_ts v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `allocator`
[INFO] [stdout]  --> src/ty/generic.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{allocator, analyzer::Analyzer, scope::r#type::TypeScopeId};
[INFO] [stdout]   |             ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/nodes/expr/tagged_template_expression.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut arguments = vec![todo!()];
[INFO] [stdout]    |                         ^^^^^-------^
[INFO] [stdout]    |                         |    |
[INFO] [stdout]    |                         |    any code following this expression is unreachable
[INFO] [stdout]    |                         unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]   --> src/nodes/expr/tagged_template_expression.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 |       let value = self.exec_expression(expr, todo!());
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^       ------- any code following this expression is unreachable
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/ty/operations.rs:81:89
[INFO] [stdout]    |
[INFO] [stdout] 81 |       Ty::Unresolved(_) => self.create_generic_instance(todo!("builtins::NonNullable"), vec![ty]),
[INFO] [stdout]    |                                                         ------------------------------  ^^^^^^^^ unreachable expression
[INFO] [stdout]    |                                                         |
[INFO] [stdout]    |                                                         any code following this expression is unreachable
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/ty/record.rs:251:59
[INFO] [stdout]     |
[INFO] [stdout] 251 |       members.push(self.serialize_keyed_property(todo!(), property));
[INFO] [stdout]     |                                                  -------  ^^^^^^^^ unreachable expression
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `specifier`
[INFO] [stdout]    --> src/analyzer.rs:141:36
[INFO] [stdout]     |
[INFO] [stdout] 141 |   pub fn resolve_module(&mut self, specifier: &'a str) -> Option<()> {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_specifier`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/analyzer.rs:145:45
[INFO] [stdout]     |
[INFO] [stdout] 145 |   pub fn resolve_global_variable(&mut self, id: &'a str) -> Ty<'a> {
[INFO] [stdout]     |                                             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/analyzer.rs:149:41
[INFO] [stdout]     |
[INFO] [stdout] 149 |   pub fn resolve_global_type(&mut self, id: &'a str) -> Ty<'a> {
[INFO] [stdout]     |                                         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]   --> src/builtins/mod.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let program = parser.parse();
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]  --> src/nodes/expr/arrow_function_expression.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     node: &'a ArrowFunctionExpression<'a>,
[INFO] [stdout]   |     ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sat`
[INFO] [stdout]  --> src/nodes/expr/assignment_expression.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     sat: Option<Ty<'a>>,
[INFO] [stdout]   |     ^^^ help: if this is intentional, prefix it with an underscore: `_sat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sat`
[INFO] [stdout]   --> src/nodes/expr/await_expression.rs:12:53
[INFO] [stdout]    |
[INFO] [stdout] 12 |       self.exec_expression(&node.argument, sat.map(|sat| todo!("sat | PromiseLike<sat>")));
[INFO] [stdout]    |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_sat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]   --> src/nodes/expr/import_expression.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let source = self.exec_expression(&node.source, Some(Ty::String));
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]  --> src/nodes/expr/meta_property.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 |   pub fn exec_meta_property(&mut self, node: &'a MetaProperty<'a>, _sat: Option<Ty<'a>>) -> Ty<'a> {
[INFO] [stdout]   |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag`
[INFO] [stdout]   --> src/nodes/expr/tagged_template_expression.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let (indeterminate, tag, this) = self.exec_callee(&node.tag);
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `this`
[INFO] [stdout]   --> src/nodes/expr/tagged_template_expression.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let (indeterminate, tag, this) = self.exec_callee(&node.tag);
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_this`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arguments`
[INFO] [stdout]   --> src/nodes/expr/tagged_template_expression.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut arguments = vec![todo!()];
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arguments`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]  --> src/nodes/expr/yield_expression.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     node: &'a YieldExpression<'a>,
[INFO] [stdout]   |     ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sat`
[INFO] [stdout]  --> src/nodes/expr/yield_expression.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     sat: Option<Ty<'a>>,
[INFO] [stdout]   |     ^^^ help: if this is intentional, prefix it with an underscore: `_sat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attributes`
[INFO] [stdout]   --> src/nodes/jsx/jsx_element.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let attributes = self.exec_jsx_attributes(&node.opening_element, attr_sat);
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attributes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `children`
[INFO] [stdout]   --> src/nodes/jsx/jsx_element.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let children = self.exec_jsx_children(&node.children);
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_children`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]  --> src/nodes/misc/class.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 |   pub fn exec_class(&mut self, node: &'a Class<'a>, _sat: Option<Ty<'a>>) -> Ty<'a> {
[INFO] [stdout]   |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/nodes/misc/class.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |   pub fn init_class(&mut self, node: &'a Class<'a>) -> Ty<'a> {
[INFO] [stdout]    |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_async`
[INFO] [stdout]   --> src/nodes/misc/function_body.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     is_async: bool,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_async`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `known`
[INFO] [stdout]   --> src/nodes/stmt/module_declaration.rs:14:37
[INFO] [stdout]    |
[INFO] [stdout] 14 |             let value = if let Some(known) = known {
[INFO] [stdout]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_known`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/nodes/stmt/module_declaration.rs:112:55
[INFO] [stdout]     |
[INFO] [stdout] 112 |       ModuleDeclaration::TSNamespaceExportDeclaration(node) => {
[INFO] [stdout]     |                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]  --> src/nodes/stmt/switch_statement.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |   pub fn exec_switch_statement(&mut self, node: &'a SwitchStatement<'a>) {
[INFO] [stdout]   |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]   --> src/nodes/ts/ts_interface_declaration.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let params =
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/nodes/ts/ts_literal.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 |       TSLiteral::UnaryExpression(node) => todo!(),
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/nodes/ts/ts_literal.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 |       TSLiteral::TemplateLiteral(node) => todo!(),
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rest`
[INFO] [stdout]    --> src/ty/callable.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout] 100 |           if let Some(rest) = callable.rest_param {}
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_rest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `this_arg`
[INFO] [stdout]    --> src/ty/callable.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     this_arg: Ty<'a>,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_this_arg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/ty/callable.rs:380:33
[INFO] [stdout]     |
[INFO] [stdout] 380 |         Argument::SpreadElement(node) => {
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enum_class`
[INFO] [stdout]   --> src/ty/enum.rs:57:47
[INFO] [stdout]    |
[INFO] [stdout] 57 |   pub fn serialize_enum_class_type(&mut self, enum_class: &'a EnumClassType<'a>) -> TSType<'a> {
[INFO] [stdout]    |                                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enum_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `generic`
[INFO] [stdout]    --> src/ty/generic.rs:175:44
[INFO] [stdout]     |
[INFO] [stdout] 175 |   pub fn serialize_generic_type(&mut self, generic: &GenericType<'a>) -> TSType<'a> {
[INFO] [stdout]     |                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]   --> src/ty/interface.rs:25:18
[INFO] [stdout]    |
[INFO] [stdout] 25 |       Ty::Record(r) => {}
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `interface`
[INFO] [stdout]   --> src/ty/interface.rs:77:46
[INFO] [stdout]    |
[INFO] [stdout] 77 |   pub fn serialize_interface_type(&mut self, interface: &InterfaceType<'a>) -> TSType<'a> {
[INFO] [stdout]    |                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `intrinsic`
[INFO] [stdout]   --> src/ty/intrinsics.rs:62:46
[INFO] [stdout]    |
[INFO] [stdout] 62 |   pub fn serialize_intrinsic_type(&mut self, intrinsic: IntrinsicType) -> TSType<'a> {
[INFO] [stdout]    |                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intrinsic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]   --> src/ty/lowest.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 |       Ty::Generic(g) => todo!(),
[INFO] [stdout]    |                   ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/ty/lowest.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 |       Ty::Intrinsic(i) => todo!(),
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol`
[INFO] [stdout]   --> src/ty/lowest.rs:20:38
[INFO] [stdout]    |
[INFO] [stdout] 20 |         UnresolvedType::GenericParam(symbol) => {
[INFO] [stdout]    |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/match.rs:234:22
[INFO] [stdout]     |
[INFO] [stdout] 234 |       (Ty::Interface(target), Ty::Interface(pattern)) => todo!(),
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern`
[INFO] [stdout]    --> src/ty/match.rs:234:45
[INFO] [stdout]     |
[INFO] [stdout] 234 |       (Ty::Interface(target), Ty::Interface(pattern)) => todo!(),
[INFO] [stdout]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/match.rs:239:18
[INFO] [stdout]     |
[INFO] [stdout] 239 |       (Ty::Tuple(target), Ty::Tuple(pattern)) => todo!(),
[INFO] [stdout]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern`
[INFO] [stdout]    --> src/ty/match.rs:239:37
[INFO] [stdout]     |
[INFO] [stdout] 239 |       (Ty::Tuple(target), Ty::Tuple(pattern)) => todo!(),
[INFO] [stdout]     |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `namespace`
[INFO] [stdout]   --> src/ty/namespace.rs:50:46
[INFO] [stdout]    |
[INFO] [stdout] 50 |   pub fn serialize_namespace_type(&mut self, namespace: &Ns<'a>) -> TSType<'a> {
[INFO] [stdout]    |                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_namespace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `analyzer`
[INFO] [stdout]    --> src/ty/record.rs:125:33
[INFO] [stdout]     |
[INFO] [stdout] 125 |   pub fn init_spread(&mut self, analyzer: &mut Analyzer<'a>, value: Ty<'a>) {
[INFO] [stdout]     |                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analyzer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/ty/record.rs:125:62
[INFO] [stdout]     |
[INFO] [stdout] 125 |   pub fn init_spread(&mut self, analyzer: &mut Analyzer<'a>, value: Ty<'a>) {
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `analyzer`
[INFO] [stdout]    --> src/ty/record.rs:129:37
[INFO] [stdout]     |
[INFO] [stdout] 129 |   pub fn remove_property(&mut self, analyzer: &mut Analyzer<'a>, key: PropertyKeyType<'a>) {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analyzer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/ty/record.rs:129:66
[INFO] [stdout]     |
[INFO] [stdout] 129 |   pub fn remove_property(&mut self, analyzer: &mut Analyzer<'a>, key: PropertyKeyType<'a>) {
[INFO] [stdout]     |                                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/ty/record.rs:250:10
[INFO] [stdout]     |
[INFO] [stdout] 250 |     for (key, property) in &record.symbol_keyed.0 {
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `property`
[INFO] [stdout]    --> src/ty/record.rs:250:15
[INFO] [stdout]     |
[INFO] [stdout] 250 |     for (key, property) in &record.symbol_keyed.0 {
[INFO] [stdout]     |               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/ty/tuple.rs:56:37
[INFO] [stdout]    |
[INFO] [stdout] 56 |       PropertyKeyType::UniqueSymbol(s) => {
[INFO] [stdout]    |                                     ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/mod.rs:181:42
[INFO] [stdout]     |
[INFO] [stdout] 181 |   pub fn iterate_result_union(&mut self, target: Ty<'a>) -> Ty<'a> {
[INFO] [stdout]     |                                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/mod.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 |     target: Ty<'a>,
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> src/ty/mod.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     len: usize,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `need_rest`
[INFO] [stdout]    --> src/ty/mod.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 |     need_rest: bool,
[INFO] [stdout]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_need_rest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/mod.rs:194:36
[INFO] [stdout]     |
[INFO] [stdout] 194 |   pub fn get_to_numeric(&mut self, target: Ty<'a>) -> Ty<'a> {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/mod.rs:198:35
[INFO] [stdout]     |
[INFO] [stdout] 198 |   pub fn get_to_string(&mut self, target: Ty<'a>) -> Ty<'a> {
[INFO] [stdout]     |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/mod.rs:206:36
[INFO] [stdout]     |
[INFO] [stdout] 206 |   pub fn get_to_awaited(&mut self, target: Ty<'a>) -> Ty<'a> {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `root` is never read
[INFO] [stdout]   --> src/scope/type.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct TypeScopeTree<'a> {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 21 |   nodes: IndexVec<TypeScopeId, TypeScope<'a>>,
[INFO] [stdout] 22 |   root: TypeScopeId,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeScopeTree` has a derived impl for the trait `Debug`, but this is 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: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scope/type.rs:95:23
[INFO] [stdout]    |
[INFO] [stdout] 95 |   pub fn entry_on_top(&mut self, symbol: SymbolId) -> Entry<SymbolId, Ty<'a>> {
[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] 95 |   pub fn entry_on_top(&mut self, symbol: SymbolId) -> Entry<'_, SymbolId, Ty<'a>> {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 46.65s
[INFO] running `Command { std: "docker" "inspect" "22a79bbb4f17e6bb94b1dcc727e4cc13138d536764f8b9ea791956d2eb197bdd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "22a79bbb4f17e6bb94b1dcc727e4cc13138d536764f8b9ea791956d2eb197bdd", kill_on_drop: false }`
[INFO] [stdout] 22a79bbb4f17e6bb94b1dcc727e4cc13138d536764f8b9ea791956d2eb197bdd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 7dd56230cd1c1100880b4928ff5c1ead1ccfc1ae1b80a35b3fa25a7587980bbf
[INFO] running `Command { std: "docker" "start" "-a" "7dd56230cd1c1100880b4928ff5c1ead1ccfc1ae1b80a35b3fa25a7587980bbf", kill_on_drop: false }`
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling bstr v1.12.0
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stdout] warning: unused import: `allocator`
[INFO] [stdout]  --> src/ty/generic.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{allocator, analyzer::Analyzer, scope::r#type::TypeScopeId};
[INFO] [stdout]   |             ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/nodes/expr/tagged_template_expression.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut arguments = vec![todo!()];
[INFO] [stdout]    |                         ^^^^^-------^
[INFO] [stdout]    |                         |    |
[INFO] [stdout]    |                         |    any code following this expression is unreachable
[INFO] [stdout]    |                         unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]   --> src/nodes/expr/tagged_template_expression.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 |       let value = self.exec_expression(expr, todo!());
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^       ------- any code following this expression is unreachable
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/ty/operations.rs:81:89
[INFO] [stdout]    |
[INFO] [stdout] 81 |       Ty::Unresolved(_) => self.create_generic_instance(todo!("builtins::NonNullable"), vec![ty]),
[INFO] [stdout]    |                                                         ------------------------------  ^^^^^^^^ unreachable expression
[INFO] [stdout]    |                                                         |
[INFO] [stdout]    |                                                         any code following this expression is unreachable
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/ty/record.rs:251:59
[INFO] [stdout]     |
[INFO] [stdout] 251 |       members.push(self.serialize_keyed_property(todo!(), property));
[INFO] [stdout]     |                                                  -------  ^^^^^^^^ unreachable expression
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `specifier`
[INFO] [stdout]    --> src/analyzer.rs:141:36
[INFO] [stdout]     |
[INFO] [stdout] 141 |   pub fn resolve_module(&mut self, specifier: &'a str) -> Option<()> {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_specifier`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/analyzer.rs:145:45
[INFO] [stdout]     |
[INFO] [stdout] 145 |   pub fn resolve_global_variable(&mut self, id: &'a str) -> Ty<'a> {
[INFO] [stdout]     |                                             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/analyzer.rs:149:41
[INFO] [stdout]     |
[INFO] [stdout] 149 |   pub fn resolve_global_type(&mut self, id: &'a str) -> Ty<'a> {
[INFO] [stdout]     |                                         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]   --> src/builtins/mod.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let program = parser.parse();
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]  --> src/nodes/expr/arrow_function_expression.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     node: &'a ArrowFunctionExpression<'a>,
[INFO] [stdout]   |     ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sat`
[INFO] [stdout]  --> src/nodes/expr/assignment_expression.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     sat: Option<Ty<'a>>,
[INFO] [stdout]   |     ^^^ help: if this is intentional, prefix it with an underscore: `_sat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sat`
[INFO] [stdout]   --> src/nodes/expr/await_expression.rs:12:53
[INFO] [stdout]    |
[INFO] [stdout] 12 |       self.exec_expression(&node.argument, sat.map(|sat| todo!("sat | PromiseLike<sat>")));
[INFO] [stdout]    |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_sat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]   --> src/nodes/expr/import_expression.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let source = self.exec_expression(&node.source, Some(Ty::String));
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]  --> src/nodes/expr/meta_property.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 |   pub fn exec_meta_property(&mut self, node: &'a MetaProperty<'a>, _sat: Option<Ty<'a>>) -> Ty<'a> {
[INFO] [stdout]   |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag`
[INFO] [stdout]   --> src/nodes/expr/tagged_template_expression.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let (indeterminate, tag, this) = self.exec_callee(&node.tag);
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `this`
[INFO] [stdout]   --> src/nodes/expr/tagged_template_expression.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let (indeterminate, tag, this) = self.exec_callee(&node.tag);
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_this`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arguments`
[INFO] [stdout]   --> src/nodes/expr/tagged_template_expression.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut arguments = vec![todo!()];
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arguments`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]  --> src/nodes/expr/yield_expression.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     node: &'a YieldExpression<'a>,
[INFO] [stdout]   |     ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sat`
[INFO] [stdout]  --> src/nodes/expr/yield_expression.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     sat: Option<Ty<'a>>,
[INFO] [stdout]   |     ^^^ help: if this is intentional, prefix it with an underscore: `_sat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attributes`
[INFO] [stdout]   --> src/nodes/jsx/jsx_element.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let attributes = self.exec_jsx_attributes(&node.opening_element, attr_sat);
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attributes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `children`
[INFO] [stdout]   --> src/nodes/jsx/jsx_element.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let children = self.exec_jsx_children(&node.children);
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_children`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]  --> src/nodes/misc/class.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 |   pub fn exec_class(&mut self, node: &'a Class<'a>, _sat: Option<Ty<'a>>) -> Ty<'a> {
[INFO] [stdout]   |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/nodes/misc/class.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |   pub fn init_class(&mut self, node: &'a Class<'a>) -> Ty<'a> {
[INFO] [stdout]    |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_async`
[INFO] [stdout]   --> src/nodes/misc/function_body.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     is_async: bool,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_async`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `known`
[INFO] [stdout]   --> src/nodes/stmt/module_declaration.rs:14:37
[INFO] [stdout]    |
[INFO] [stdout] 14 |             let value = if let Some(known) = known {
[INFO] [stdout]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_known`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/nodes/stmt/module_declaration.rs:112:55
[INFO] [stdout]     |
[INFO] [stdout] 112 |       ModuleDeclaration::TSNamespaceExportDeclaration(node) => {
[INFO] [stdout]     |                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]  --> src/nodes/stmt/switch_statement.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |   pub fn exec_switch_statement(&mut self, node: &'a SwitchStatement<'a>) {
[INFO] [stdout]   |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]   --> src/nodes/ts/ts_interface_declaration.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let params =
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/nodes/ts/ts_literal.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 |       TSLiteral::UnaryExpression(node) => todo!(),
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/nodes/ts/ts_literal.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 |       TSLiteral::TemplateLiteral(node) => todo!(),
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rest`
[INFO] [stdout]    --> src/ty/callable.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout] 100 |           if let Some(rest) = callable.rest_param {}
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_rest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `this_arg`
[INFO] [stdout]    --> src/ty/callable.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     this_arg: Ty<'a>,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_this_arg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/ty/callable.rs:380:33
[INFO] [stdout]     |
[INFO] [stdout] 380 |         Argument::SpreadElement(node) => {
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enum_class`
[INFO] [stdout]   --> src/ty/enum.rs:57:47
[INFO] [stdout]    |
[INFO] [stdout] 57 |   pub fn serialize_enum_class_type(&mut self, enum_class: &'a EnumClassType<'a>) -> TSType<'a> {
[INFO] [stdout]    |                                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enum_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `generic`
[INFO] [stdout]    --> src/ty/generic.rs:175:44
[INFO] [stdout]     |
[INFO] [stdout] 175 |   pub fn serialize_generic_type(&mut self, generic: &GenericType<'a>) -> TSType<'a> {
[INFO] [stdout]     |                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]   --> src/ty/interface.rs:25:18
[INFO] [stdout]    |
[INFO] [stdout] 25 |       Ty::Record(r) => {}
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `interface`
[INFO] [stdout]   --> src/ty/interface.rs:77:46
[INFO] [stdout]    |
[INFO] [stdout] 77 |   pub fn serialize_interface_type(&mut self, interface: &InterfaceType<'a>) -> TSType<'a> {
[INFO] [stdout]    |                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `intrinsic`
[INFO] [stdout]   --> src/ty/intrinsics.rs:62:46
[INFO] [stdout]    |
[INFO] [stdout] 62 |   pub fn serialize_intrinsic_type(&mut self, intrinsic: IntrinsicType) -> TSType<'a> {
[INFO] [stdout]    |                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intrinsic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]   --> src/ty/lowest.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 |       Ty::Generic(g) => todo!(),
[INFO] [stdout]    |                   ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/ty/lowest.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 |       Ty::Intrinsic(i) => todo!(),
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol`
[INFO] [stdout]   --> src/ty/lowest.rs:20:38
[INFO] [stdout]    |
[INFO] [stdout] 20 |         UnresolvedType::GenericParam(symbol) => {
[INFO] [stdout]    |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/match.rs:234:22
[INFO] [stdout]     |
[INFO] [stdout] 234 |       (Ty::Interface(target), Ty::Interface(pattern)) => todo!(),
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern`
[INFO] [stdout]    --> src/ty/match.rs:234:45
[INFO] [stdout]     |
[INFO] [stdout] 234 |       (Ty::Interface(target), Ty::Interface(pattern)) => todo!(),
[INFO] [stdout]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/match.rs:239:18
[INFO] [stdout]     |
[INFO] [stdout] 239 |       (Ty::Tuple(target), Ty::Tuple(pattern)) => todo!(),
[INFO] [stdout]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern`
[INFO] [stdout]    --> src/ty/match.rs:239:37
[INFO] [stdout]     |
[INFO] [stdout] 239 |       (Ty::Tuple(target), Ty::Tuple(pattern)) => todo!(),
[INFO] [stdout]     |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `namespace`
[INFO] [stdout]   --> src/ty/namespace.rs:50:46
[INFO] [stdout]    |
[INFO] [stdout] 50 |   pub fn serialize_namespace_type(&mut self, namespace: &Ns<'a>) -> TSType<'a> {
[INFO] [stdout]    |                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_namespace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `analyzer`
[INFO] [stdout]    --> src/ty/record.rs:125:33
[INFO] [stdout]     |
[INFO] [stdout] 125 |   pub fn init_spread(&mut self, analyzer: &mut Analyzer<'a>, value: Ty<'a>) {
[INFO] [stdout]     |                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analyzer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/ty/record.rs:125:62
[INFO] [stdout]     |
[INFO] [stdout] 125 |   pub fn init_spread(&mut self, analyzer: &mut Analyzer<'a>, value: Ty<'a>) {
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `analyzer`
[INFO] [stdout]    --> src/ty/record.rs:129:37
[INFO] [stdout]     |
[INFO] [stdout] 129 |   pub fn remove_property(&mut self, analyzer: &mut Analyzer<'a>, key: PropertyKeyType<'a>) {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analyzer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/ty/record.rs:129:66
[INFO] [stdout]     |
[INFO] [stdout] 129 |   pub fn remove_property(&mut self, analyzer: &mut Analyzer<'a>, key: PropertyKeyType<'a>) {
[INFO] [stdout]     |                                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/ty/record.rs:250:10
[INFO] [stdout]     |
[INFO] [stdout] 250 |     for (key, property) in &record.symbol_keyed.0 {
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `property`
[INFO] [stdout]    --> src/ty/record.rs:250:15
[INFO] [stdout]     |
[INFO] [stdout] 250 |     for (key, property) in &record.symbol_keyed.0 {
[INFO] [stdout]     |               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/ty/tuple.rs:56:37
[INFO] [stdout]    |
[INFO] [stdout] 56 |       PropertyKeyType::UniqueSymbol(s) => {
[INFO] [stdout]    |                                     ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/mod.rs:181:42
[INFO] [stdout]     |
[INFO] [stdout] 181 |   pub fn iterate_result_union(&mut self, target: Ty<'a>) -> Ty<'a> {
[INFO] [stdout]     |                                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/mod.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 |     target: Ty<'a>,
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> src/ty/mod.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     len: usize,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `need_rest`
[INFO] [stdout]    --> src/ty/mod.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 |     need_rest: bool,
[INFO] [stdout]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_need_rest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/mod.rs:194:36
[INFO] [stdout]     |
[INFO] [stdout] 194 |   pub fn get_to_numeric(&mut self, target: Ty<'a>) -> Ty<'a> {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/mod.rs:198:35
[INFO] [stdout]     |
[INFO] [stdout] 198 |   pub fn get_to_string(&mut self, target: Ty<'a>) -> Ty<'a> {
[INFO] [stdout]     |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/mod.rs:206:36
[INFO] [stdout]     |
[INFO] [stdout] 206 |   pub fn get_to_awaited(&mut self, target: Ty<'a>) -> Ty<'a> {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `root` is never read
[INFO] [stdout]   --> src/scope/type.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct TypeScopeTree<'a> {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 21 |   nodes: IndexVec<TypeScopeId, TypeScope<'a>>,
[INFO] [stdout] 22 |   root: TypeScopeId,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeScopeTree` has a derived impl for the trait `Debug`, but this is 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: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scope/type.rs:95:23
[INFO] [stdout]    |
[INFO] [stdout] 95 |   pub fn entry_on_top(&mut self, symbol: SymbolId) -> Entry<SymbolId, Ty<'a>> {
[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] 95 |   pub fn entry_on_top(&mut self, symbol: SymbolId) -> Entry<'_, SymbolId, Ty<'a>> {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling globset v0.4.16
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling insta v1.43.1
[INFO] [stderr]    Compiling simple_ts v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `allocator`
[INFO] [stdout]  --> src/ty/generic.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{allocator, analyzer::Analyzer, scope::r#type::TypeScopeId};
[INFO] [stdout]   |             ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/nodes/expr/tagged_template_expression.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut arguments = vec![todo!()];
[INFO] [stdout]    |                         ^^^^^-------^
[INFO] [stdout]    |                         |    |
[INFO] [stdout]    |                         |    any code following this expression is unreachable
[INFO] [stdout]    |                         unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]   --> src/nodes/expr/tagged_template_expression.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 |       let value = self.exec_expression(expr, todo!());
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^       ------- any code following this expression is unreachable
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/ty/operations.rs:81:89
[INFO] [stdout]    |
[INFO] [stdout] 81 |       Ty::Unresolved(_) => self.create_generic_instance(todo!("builtins::NonNullable"), vec![ty]),
[INFO] [stdout]    |                                                         ------------------------------  ^^^^^^^^ unreachable expression
[INFO] [stdout]    |                                                         |
[INFO] [stdout]    |                                                         any code following this expression is unreachable
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/ty/record.rs:251:59
[INFO] [stdout]     |
[INFO] [stdout] 251 |       members.push(self.serialize_keyed_property(todo!(), property));
[INFO] [stdout]     |                                                  -------  ^^^^^^^^ unreachable expression
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `specifier`
[INFO] [stdout]    --> src/analyzer.rs:141:36
[INFO] [stdout]     |
[INFO] [stdout] 141 |   pub fn resolve_module(&mut self, specifier: &'a str) -> Option<()> {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_specifier`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/analyzer.rs:145:45
[INFO] [stdout]     |
[INFO] [stdout] 145 |   pub fn resolve_global_variable(&mut self, id: &'a str) -> Ty<'a> {
[INFO] [stdout]     |                                             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/analyzer.rs:149:41
[INFO] [stdout]     |
[INFO] [stdout] 149 |   pub fn resolve_global_type(&mut self, id: &'a str) -> Ty<'a> {
[INFO] [stdout]     |                                         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]   --> src/builtins/mod.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let program = parser.parse();
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]  --> src/nodes/expr/arrow_function_expression.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     node: &'a ArrowFunctionExpression<'a>,
[INFO] [stdout]   |     ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sat`
[INFO] [stdout]  --> src/nodes/expr/assignment_expression.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     sat: Option<Ty<'a>>,
[INFO] [stdout]   |     ^^^ help: if this is intentional, prefix it with an underscore: `_sat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sat`
[INFO] [stdout]   --> src/nodes/expr/await_expression.rs:12:53
[INFO] [stdout]    |
[INFO] [stdout] 12 |       self.exec_expression(&node.argument, sat.map(|sat| todo!("sat | PromiseLike<sat>")));
[INFO] [stdout]    |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_sat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]   --> src/nodes/expr/import_expression.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let source = self.exec_expression(&node.source, Some(Ty::String));
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]  --> src/nodes/expr/meta_property.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 |   pub fn exec_meta_property(&mut self, node: &'a MetaProperty<'a>, _sat: Option<Ty<'a>>) -> Ty<'a> {
[INFO] [stdout]   |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag`
[INFO] [stdout]   --> src/nodes/expr/tagged_template_expression.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let (indeterminate, tag, this) = self.exec_callee(&node.tag);
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `this`
[INFO] [stdout]   --> src/nodes/expr/tagged_template_expression.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let (indeterminate, tag, this) = self.exec_callee(&node.tag);
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_this`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arguments`
[INFO] [stdout]   --> src/nodes/expr/tagged_template_expression.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut arguments = vec![todo!()];
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arguments`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]  --> src/nodes/expr/yield_expression.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     node: &'a YieldExpression<'a>,
[INFO] [stdout]   |     ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sat`
[INFO] [stdout]  --> src/nodes/expr/yield_expression.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     sat: Option<Ty<'a>>,
[INFO] [stdout]   |     ^^^ help: if this is intentional, prefix it with an underscore: `_sat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attributes`
[INFO] [stdout]   --> src/nodes/jsx/jsx_element.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let attributes = self.exec_jsx_attributes(&node.opening_element, attr_sat);
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attributes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `children`
[INFO] [stdout]   --> src/nodes/jsx/jsx_element.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let children = self.exec_jsx_children(&node.children);
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_children`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]  --> src/nodes/misc/class.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 |   pub fn exec_class(&mut self, node: &'a Class<'a>, _sat: Option<Ty<'a>>) -> Ty<'a> {
[INFO] [stdout]   |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/nodes/misc/class.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |   pub fn init_class(&mut self, node: &'a Class<'a>) -> Ty<'a> {
[INFO] [stdout]    |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_async`
[INFO] [stdout]   --> src/nodes/misc/function_body.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     is_async: bool,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_async`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `known`
[INFO] [stdout]   --> src/nodes/stmt/module_declaration.rs:14:37
[INFO] [stdout]    |
[INFO] [stdout] 14 |             let value = if let Some(known) = known {
[INFO] [stdout]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_known`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/nodes/stmt/module_declaration.rs:112:55
[INFO] [stdout]     |
[INFO] [stdout] 112 |       ModuleDeclaration::TSNamespaceExportDeclaration(node) => {
[INFO] [stdout]     |                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]  --> src/nodes/stmt/switch_statement.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |   pub fn exec_switch_statement(&mut self, node: &'a SwitchStatement<'a>) {
[INFO] [stdout]   |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]   --> src/nodes/ts/ts_interface_declaration.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let params =
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/nodes/ts/ts_literal.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 |       TSLiteral::UnaryExpression(node) => todo!(),
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/nodes/ts/ts_literal.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 |       TSLiteral::TemplateLiteral(node) => todo!(),
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rest`
[INFO] [stdout]    --> src/ty/callable.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout] 100 |           if let Some(rest) = callable.rest_param {}
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_rest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `this_arg`
[INFO] [stdout]    --> src/ty/callable.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     this_arg: Ty<'a>,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_this_arg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/ty/callable.rs:380:33
[INFO] [stdout]     |
[INFO] [stdout] 380 |         Argument::SpreadElement(node) => {
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enum_class`
[INFO] [stdout]   --> src/ty/enum.rs:57:47
[INFO] [stdout]    |
[INFO] [stdout] 57 |   pub fn serialize_enum_class_type(&mut self, enum_class: &'a EnumClassType<'a>) -> TSType<'a> {
[INFO] [stdout]    |                                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enum_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `generic`
[INFO] [stdout]    --> src/ty/generic.rs:175:44
[INFO] [stdout]     |
[INFO] [stdout] 175 |   pub fn serialize_generic_type(&mut self, generic: &GenericType<'a>) -> TSType<'a> {
[INFO] [stdout]     |                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]   --> src/ty/interface.rs:25:18
[INFO] [stdout]    |
[INFO] [stdout] 25 |       Ty::Record(r) => {}
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `interface`
[INFO] [stdout]   --> src/ty/interface.rs:77:46
[INFO] [stdout]    |
[INFO] [stdout] 77 |   pub fn serialize_interface_type(&mut self, interface: &InterfaceType<'a>) -> TSType<'a> {
[INFO] [stdout]    |                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `intrinsic`
[INFO] [stdout]   --> src/ty/intrinsics.rs:62:46
[INFO] [stdout]    |
[INFO] [stdout] 62 |   pub fn serialize_intrinsic_type(&mut self, intrinsic: IntrinsicType) -> TSType<'a> {
[INFO] [stdout]    |                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intrinsic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]   --> src/ty/lowest.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 |       Ty::Generic(g) => todo!(),
[INFO] [stdout]    |                   ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/ty/lowest.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 |       Ty::Intrinsic(i) => todo!(),
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol`
[INFO] [stdout]   --> src/ty/lowest.rs:20:38
[INFO] [stdout]    |
[INFO] [stdout] 20 |         UnresolvedType::GenericParam(symbol) => {
[INFO] [stdout]    |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/match.rs:234:22
[INFO] [stdout]     |
[INFO] [stdout] 234 |       (Ty::Interface(target), Ty::Interface(pattern)) => todo!(),
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern`
[INFO] [stdout]    --> src/ty/match.rs:234:45
[INFO] [stdout]     |
[INFO] [stdout] 234 |       (Ty::Interface(target), Ty::Interface(pattern)) => todo!(),
[INFO] [stdout]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/match.rs:239:18
[INFO] [stdout]     |
[INFO] [stdout] 239 |       (Ty::Tuple(target), Ty::Tuple(pattern)) => todo!(),
[INFO] [stdout]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern`
[INFO] [stdout]    --> src/ty/match.rs:239:37
[INFO] [stdout]     |
[INFO] [stdout] 239 |       (Ty::Tuple(target), Ty::Tuple(pattern)) => todo!(),
[INFO] [stdout]     |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `namespace`
[INFO] [stdout]   --> src/ty/namespace.rs:50:46
[INFO] [stdout]    |
[INFO] [stdout] 50 |   pub fn serialize_namespace_type(&mut self, namespace: &Ns<'a>) -> TSType<'a> {
[INFO] [stdout]    |                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_namespace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `analyzer`
[INFO] [stdout]    --> src/ty/record.rs:125:33
[INFO] [stdout]     |
[INFO] [stdout] 125 |   pub fn init_spread(&mut self, analyzer: &mut Analyzer<'a>, value: Ty<'a>) {
[INFO] [stdout]     |                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analyzer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/ty/record.rs:125:62
[INFO] [stdout]     |
[INFO] [stdout] 125 |   pub fn init_spread(&mut self, analyzer: &mut Analyzer<'a>, value: Ty<'a>) {
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `analyzer`
[INFO] [stdout]    --> src/ty/record.rs:129:37
[INFO] [stdout]     |
[INFO] [stdout] 129 |   pub fn remove_property(&mut self, analyzer: &mut Analyzer<'a>, key: PropertyKeyType<'a>) {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analyzer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/ty/record.rs:129:66
[INFO] [stdout]     |
[INFO] [stdout] 129 |   pub fn remove_property(&mut self, analyzer: &mut Analyzer<'a>, key: PropertyKeyType<'a>) {
[INFO] [stdout]     |                                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/ty/record.rs:250:10
[INFO] [stdout]     |
[INFO] [stdout] 250 |     for (key, property) in &record.symbol_keyed.0 {
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `property`
[INFO] [stdout]    --> src/ty/record.rs:250:15
[INFO] [stdout]     |
[INFO] [stdout] 250 |     for (key, property) in &record.symbol_keyed.0 {
[INFO] [stdout]     |               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/ty/tuple.rs:56:37
[INFO] [stdout]    |
[INFO] [stdout] 56 |       PropertyKeyType::UniqueSymbol(s) => {
[INFO] [stdout]    |                                     ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/mod.rs:181:42
[INFO] [stdout]     |
[INFO] [stdout] 181 |   pub fn iterate_result_union(&mut self, target: Ty<'a>) -> Ty<'a> {
[INFO] [stdout]     |                                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/mod.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 |     target: Ty<'a>,
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> src/ty/mod.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     len: usize,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `need_rest`
[INFO] [stdout]    --> src/ty/mod.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 |     need_rest: bool,
[INFO] [stdout]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_need_rest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/mod.rs:194:36
[INFO] [stdout]     |
[INFO] [stdout] 194 |   pub fn get_to_numeric(&mut self, target: Ty<'a>) -> Ty<'a> {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/mod.rs:198:35
[INFO] [stdout]     |
[INFO] [stdout] 198 |   pub fn get_to_string(&mut self, target: Ty<'a>) -> Ty<'a> {
[INFO] [stdout]     |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/ty/mod.rs:206:36
[INFO] [stdout]     |
[INFO] [stdout] 206 |   pub fn get_to_awaited(&mut self, target: Ty<'a>) -> Ty<'a> {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `root` is never read
[INFO] [stdout]   --> src/scope/type.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct TypeScopeTree<'a> {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 21 |   nodes: IndexVec<TypeScopeId, TypeScope<'a>>,
[INFO] [stdout] 22 |   root: TypeScopeId,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeScopeTree` has a derived impl for the trait `Debug`, but this is 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: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scope/type.rs:95:23
[INFO] [stdout]    |
[INFO] [stdout] 95 |   pub fn entry_on_top(&mut self, symbol: SymbolId) -> Entry<SymbolId, Ty<'a>> {
[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] 95 |   pub fn entry_on_top(&mut self, symbol: SymbolId) -> Entry<'_, SymbolId, Ty<'a>> {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 10.29s
[INFO] running `Command { std: "docker" "inspect" "7dd56230cd1c1100880b4928ff5c1ead1ccfc1ae1b80a35b3fa25a7587980bbf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7dd56230cd1c1100880b4928ff5c1ead1ccfc1ae1b80a35b3fa25a7587980bbf", kill_on_drop: false }`
[INFO] [stdout] 7dd56230cd1c1100880b4928ff5c1ead1ccfc1ae1b80a35b3fa25a7587980bbf
