Updated 1 path from 7e28dc8f
warning: unused import: `uses_this_expr`
  --> crates/perry-hir/src/analysis.rs:18:47
   |
18 | pub(crate) use uses_this::{closure_uses_this, uses_this_expr, uses_this_stmt};
   |                                               ^^^^^^^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default

warning: unused import: `lower_destructuring_assignment_stmt_from_local`
  --> crates/perry-hir/src/destructuring/mod.rs:34:42
   |
34 |     lower_destructuring_assignment_stmt, lower_destructuring_assignment_stmt_from_local,
   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `lower_pattern_binding_into`
  --> crates/perry-hir/src/destructuring/mod.rs:37:57
   |
37 | pub(crate) use pattern_binding::{lower_pattern_binding, lower_pattern_binding_into};
   |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `Expr`, `ModuleKind`, `Module`, and `Stmt`
  --> crates/perry-hir/src/js_transform/mod.rs:13:17
   |
13 | use crate::ir::{Expr, Module, ModuleKind, Stmt};
   |                 ^^^^  ^^^^^^  ^^^^^^^^^^  ^^^^

warning: unused import: `perry_types::LocalId`
  --> crates/perry-hir/src/js_transform/mod.rs:14:5
   |
14 | use perry_types::LocalId;
   |     ^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `BTreeMap`, `HashMap`, and `HashSet`
  --> crates/perry-hir/src/js_transform/mod.rs:15:24
   |
15 | use std::collections::{BTreeMap, HashMap, HashSet};
   |                        ^^^^^^^^  ^^^^^^^  ^^^^^^^

warning: unused import: `perry_types::LocalId`
 --> crates/perry-hir/src/js_transform/cross_module_natives.rs:2:5
  |
2 | use perry_types::LocalId;
  |     ^^^^^^^^^^^^^^^^^^^^

warning: unused import: `HashSet`
 --> crates/perry-hir/src/js_transform/cross_module_natives.rs:3:43
  |
3 | use std::collections::{BTreeMap, HashMap, HashSet};
  |                                           ^^^^^^^

warning: unused import: `super::*`
 --> crates/perry-hir/src/js_transform/cross_module_natives.rs:5:5
  |
5 | use super::*;
  |     ^^^^^^^^

warning: unused import: `BTreeMap`
 --> crates/perry-hir/src/js_transform/imports.rs:3:24
  |
3 | use std::collections::{BTreeMap, HashMap, HashSet};
  |                        ^^^^^^^^

warning: unused import: `super::*`
 --> crates/perry-hir/src/js_transform/imports.rs:5:5
  |
5 | use super::*;
  |     ^^^^^^^^

warning: unused import: `ModuleKind`
 --> crates/perry-hir/src/js_transform/local_natives.rs:1:31
  |
1 | use crate::ir::{Expr, Module, ModuleKind, Stmt};
  |                               ^^^^^^^^^^

warning: unused imports: `BTreeMap` and `HashSet`
 --> crates/perry-hir/src/js_transform/local_natives.rs:3:24
  |
3 | use std::collections::{BTreeMap, HashMap, HashSet};
  |                        ^^^^^^^^           ^^^^^^^

warning: unused import: `super::*`
 --> crates/perry-hir/src/js_transform/local_natives.rs:5:5
  |
5 | use super::*;
  |     ^^^^^^^^

warning: unused import: `crate::lower_patterns::detect_native_instance_expr`
  --> crates/perry-hir/src/lower/expr_call/mod.rs:21:5
   |
21 | use crate::lower_patterns::detect_native_instance_expr;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `extract_typed_parse_source_order`, `is_generator_call_expr`, `is_widget_modifier_name`, and `resolve_typed_parse_ty`
  --> crates/perry-hir/src/lower/expr_call/mod.rs:25:5
   |
25 |     extract_typed_parse_source_order, is_generator_call_expr, is_widget_modifier_name, lower_expr,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
26 |     resolve_typed_parse_ty, LoweringContext,
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `anyhow`
 --> crates/perry-hir/src/lower/expr_call/array_only_methods.rs:5:14
  |
5 | use anyhow::{anyhow, Result};
  |              ^^^^^^

warning: unused import: `LocalId`
 --> crates/perry-hir/src/lower/expr_call/array_only_methods.rs:6:19
  |
6 | use perry_types::{LocalId, Type};
  |                   ^^^^^^^

warning: unused import: `crate::lower_types::extract_ts_type_with_ctx`
  --> crates/perry-hir/src/lower/expr_call/array_only_methods.rs:10:5
   |
10 | use crate::lower_types::extract_ts_type_with_ctx;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `extract_typed_parse_source_order`, `is_generator_call_expr`, `is_widget_modifier_name`, and `resolve_typed_parse_ty`
   --> crates/perry-hir/src/lower/expr_call/array_only_methods.rs:202:5
    |
202 |     extract_typed_parse_source_order, is_generator_call_expr, is_widget_modifier_name, lower_expr,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
203 |     resolve_typed_parse_ty, LoweringContext,
    |     ^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `LocalId` and `Type`
 --> crates/perry-hir/src/lower/expr_call/globals.rs:6:19
  |
6 | use perry_types::{LocalId, Type};
  |                   ^^^^^^^  ^^^^

warning: unused import: `crate::lower_types::extract_ts_type_with_ctx`
  --> crates/perry-hir/src/lower/expr_call/globals.rs:10:5
   |
10 | use crate::lower_types::extract_ts_type_with_ctx;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `extract_typed_parse_source_order`, `is_generator_call_expr`, `is_widget_modifier_name`, and `resolve_typed_parse_ty`
  --> crates/perry-hir/src/lower/expr_call/globals.rs:13:5
   |
13 |     extract_typed_parse_source_order, is_generator_call_expr, is_widget_modifier_name, lower_expr,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
14 |     resolve_typed_parse_ty, LoweringContext,
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `anyhow`
 --> crates/perry-hir/src/lower/expr_call/imported_array_methods.rs:5:14
  |
5 | use anyhow::{anyhow, Result};
  |              ^^^^^^

warning: unused import: `LocalId`
 --> crates/perry-hir/src/lower/expr_call/imported_array_methods.rs:6:19
  |
6 | use perry_types::{LocalId, Type};
  |                   ^^^^^^^

warning: unused import: `crate::lower_types::extract_ts_type_with_ctx`
  --> crates/perry-hir/src/lower/expr_call/imported_array_methods.rs:10:5
   |
10 | use crate::lower_types::extract_ts_type_with_ctx;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `extract_typed_parse_source_order`, `is_generator_call_expr`, `is_widget_modifier_name`, `lower_expr`, and `resolve_typed_parse_ty`
  --> crates/perry-hir/src/lower/expr_call/imported_array_methods.rs:13:5
   |
13 |     extract_typed_parse_source_order, is_generator_call_expr, is_widget_modifier_name, lower_expr,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
14 |     resolve_typed_parse_ty, LoweringContext,
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `anyhow`
 --> crates/perry-hir/src/lower/expr_call/inline_array_methods.rs:5:14
  |
5 | use anyhow::{anyhow, Result};
  |              ^^^^^^

warning: unused imports: `LocalId` and `Type`
 --> crates/perry-hir/src/lower/expr_call/inline_array_methods.rs:6:19
  |
6 | use perry_types::{LocalId, Type};
  |                   ^^^^^^^  ^^^^

warning: unused import: `crate::lower_types::extract_ts_type_with_ctx`
  --> crates/perry-hir/src/lower/expr_call/inline_array_methods.rs:10:5
   |
10 | use crate::lower_types::extract_ts_type_with_ctx;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `extract_typed_parse_source_order`, `is_generator_call_expr`, `is_widget_modifier_name`, and `resolve_typed_parse_ty`
  --> crates/perry-hir/src/lower/expr_call/inline_array_methods.rs:13:5
   |
13 |     extract_typed_parse_source_order, is_generator_call_expr, is_widget_modifier_name, lower_expr,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
14 |     resolve_typed_parse_ty, LoweringContext,
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `anyhow`
 --> crates/perry-hir/src/lower/expr_call/local_array_methods.rs:5:14
  |
5 | use anyhow::{anyhow, Result};
  |              ^^^^^^

warning: unused import: `LocalId`
 --> crates/perry-hir/src/lower/expr_call/local_array_methods.rs:6:19
  |
6 | use perry_types::{LocalId, Type};
  |                   ^^^^^^^

warning: unused import: `crate::lower_types::extract_ts_type_with_ctx`
  --> crates/perry-hir/src/lower/expr_call/local_array_methods.rs:11:5
   |
11 | use crate::lower_types::extract_ts_type_with_ctx;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `extract_typed_parse_source_order`, `is_generator_call_expr`, `is_widget_modifier_name`, and `resolve_typed_parse_ty`
  --> crates/perry-hir/src/lower/expr_call/local_array_methods.rs:14:5
   |
14 |     extract_typed_parse_source_order, is_generator_call_expr, is_widget_modifier_name, lower_expr,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
15 |     resolve_typed_parse_ty, LoweringContext,
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `anyhow`
 --> crates/perry-hir/src/lower/expr_call/module_class_static.rs:5:14
  |
5 | use anyhow::{anyhow, Result};
  |              ^^^^^^

warning: unused imports: `LocalId` and `Type`
 --> crates/perry-hir/src/lower/expr_call/module_class_static.rs:6:19
  |
6 | use perry_types::{LocalId, Type};
  |                   ^^^^^^^  ^^^^

warning: unused import: `super::super::unimpl_hints`
 --> crates/perry-hir/src/lower/expr_call/module_class_static.rs:9:5
  |
9 | use super::super::unimpl_hints;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `super::stream::is_stream_api_method`
  --> crates/perry-hir/src/lower/expr_call/module_class_static.rs:10:5
   |
10 | use super::stream::is_stream_api_method;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `crate::lower_types::extract_ts_type_with_ctx`
  --> crates/perry-hir/src/lower/expr_call/module_class_static.rs:12:5
   |
12 | use crate::lower_types::extract_ts_type_with_ctx;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `extract_typed_parse_source_order`, `is_generator_call_expr`, `is_widget_modifier_name`, `lower_expr`, and `resolve_typed_parse_ty`
  --> crates/perry-hir/src/lower/expr_call/module_class_static.rs:15:5
   |
15 |     extract_typed_parse_source_order, is_generator_call_expr, is_widget_modifier_name, lower_expr,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
16 |     resolve_typed_parse_ty, LoweringContext,
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `LocalId`
 --> crates/perry-hir/src/lower/expr_call/module_static.rs:6:19
  |
6 | use perry_types::{LocalId, Type};
  |                   ^^^^^^^

warning: unused import: `super::super::unimpl_hints`
 --> crates/perry-hir/src/lower/expr_call/module_static.rs:9:5
  |
9 | use super::super::unimpl_hints;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `super::url_search_params::build_url_search_params_method_call`
  --> crates/perry-hir/src/lower/expr_call/module_static.rs:11:5
   |
11 | use super::url_search_params::build_url_search_params_method_call;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `is_generator_call_expr`, `is_widget_modifier_name`, and `lower_expr`
  --> crates/perry-hir/src/lower/expr_call/module_static.rs:16:39
   |
16 |     extract_typed_parse_source_order, is_generator_call_expr, is_widget_modifier_name, lower_expr,
   |                                       ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^

warning: unused import: `anyhow`
 --> crates/perry-hir/src/lower/expr_call/native_module.rs:5:14
  |
5 | use anyhow::{anyhow, Result};
  |              ^^^^^^

warning: unused imports: `LocalId` and `Type`
 --> crates/perry-hir/src/lower/expr_call/native_module.rs:6:19
  |
6 | use perry_types::{LocalId, Type};
  |                   ^^^^^^^  ^^^^

warning: unused import: `super::super::unimpl_hints`
 --> crates/perry-hir/src/lower/expr_call/native_module.rs:9:5
  |
9 | use super::super::unimpl_hints;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `super::object_static::build_object_static_method_call`
  --> crates/perry-hir/src/lower/expr_call/native_module.rs:10:5
   |
10 | use super::object_static::build_object_static_method_call;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `crate::lower_types::extract_ts_type_with_ctx`
  --> crates/perry-hir/src/lower/expr_call/native_module.rs:13:5
   |
13 | use crate::lower_types::extract_ts_type_with_ctx;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `extract_typed_parse_source_order`, `is_widget_modifier_name`, and `resolve_typed_parse_ty`
  --> crates/perry-hir/src/lower/expr_call/native_module.rs:16:5
   |
16 |     extract_typed_parse_source_order, is_generator_call_expr, is_widget_modifier_name, lower_expr,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^
17 |     resolve_typed_parse_ty, LoweringContext,
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `anyhow`
 --> crates/perry-hir/src/lower/expr_call/regex_string.rs:5:14
  |
5 | use anyhow::{anyhow, Result};
  |              ^^^^^^

warning: unused import: `LocalId`
 --> crates/perry-hir/src/lower/expr_call/regex_string.rs:6:19
  |
6 | use perry_types::{LocalId, Type};
  |                   ^^^^^^^

warning: unused import: `crate::lower_types::extract_ts_type_with_ctx`
  --> crates/perry-hir/src/lower/expr_call/regex_string.rs:10:5
   |
10 | use crate::lower_types::extract_ts_type_with_ctx;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `extract_typed_parse_source_order`, `is_generator_call_expr`, `is_widget_modifier_name`, and `resolve_typed_parse_ty`
  --> crates/perry-hir/src/lower/expr_call/regex_string.rs:13:5
   |
13 |     extract_typed_parse_source_order, is_generator_call_expr, is_widget_modifier_name, lower_expr,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
14 |     resolve_typed_parse_ty, LoweringContext,
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `LocalId` and `Type`
 --> crates/perry-hir/src/lower/expr_call/static_and_instance.rs:6:19
  |
6 | use perry_types::{LocalId, Type};
  |                   ^^^^^^^  ^^^^

warning: unused import: `crate::lower_types::extract_ts_type_with_ctx`
  --> crates/perry-hir/src/lower/expr_call/static_and_instance.rs:12:5
   |
12 | use crate::lower_types::extract_ts_type_with_ctx;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `extract_typed_parse_source_order`, `is_generator_call_expr`, and `resolve_typed_parse_ty`
  --> crates/perry-hir/src/lower/expr_call/static_and_instance.rs:15:5
   |
15 |     extract_typed_parse_source_order, is_generator_call_expr, is_widget_modifier_name, lower_expr,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
16 |     resolve_typed_parse_ty, LoweringContext,
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `anyhow`
 --> crates/perry-hir/src/lower/expr_call/textencoder.rs:5:14
  |
5 | use anyhow::{anyhow, Result};
  |              ^^^^^^

warning: unused import: `LocalId`
 --> crates/perry-hir/src/lower/expr_call/textencoder.rs:6:19
  |
6 | use perry_types::{LocalId, Type};
  |                   ^^^^^^^

warning: unused import: `crate::lower_types::extract_ts_type_with_ctx`
  --> crates/perry-hir/src/lower/expr_call/textencoder.rs:10:5
   |
10 | use crate::lower_types::extract_ts_type_with_ctx;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `extract_typed_parse_source_order`, `is_generator_call_expr`, `is_widget_modifier_name`, and `resolve_typed_parse_ty`
  --> crates/perry-hir/src/lower/expr_call/textencoder.rs:13:5
   |
13 |     extract_typed_parse_source_order, is_generator_call_expr, is_widget_modifier_name, lower_expr,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
14 |     resolve_typed_parse_ty, LoweringContext,
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `anyhow`
 --> crates/perry-hir/src/lower/expr_call/url_date_instance.rs:5:14
  |
5 | use anyhow::{anyhow, Result};
  |              ^^^^^^

warning: unused import: `LocalId`
 --> crates/perry-hir/src/lower/expr_call/url_date_instance.rs:6:19
  |
6 | use perry_types::{LocalId, Type};
  |                   ^^^^^^^

warning: unused import: `crate::lower_types::extract_ts_type_with_ctx`
  --> crates/perry-hir/src/lower/expr_call/url_date_instance.rs:12:5
   |
12 | use crate::lower_types::extract_ts_type_with_ctx;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `extract_typed_parse_source_order`, `is_generator_call_expr`, `is_widget_modifier_name`, and `resolve_typed_parse_ty`
  --> crates/perry-hir/src/lower/expr_call/url_date_instance.rs:15:5
   |
15 |     extract_typed_parse_source_order, is_generator_call_expr, is_widget_modifier_name, lower_expr,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
16 |     resolve_typed_parse_ty, LoweringContext,
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `anyhow`
 --> crates/perry-hir/src/lower/expr_call/wasm_exports.rs:5:14
  |
5 | use anyhow::{anyhow, Result};
  |              ^^^^^^

warning: unused imports: `LocalId` and `Type`
 --> crates/perry-hir/src/lower/expr_call/wasm_exports.rs:6:19
  |
6 | use perry_types::{LocalId, Type};
  |                   ^^^^^^^  ^^^^

warning: unused import: `crate::lower_types::extract_ts_type_with_ctx`
  --> crates/perry-hir/src/lower/expr_call/wasm_exports.rs:10:5
   |
10 | use crate::lower_types::extract_ts_type_with_ctx;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `extract_typed_parse_source_order`, `is_generator_call_expr`, `is_widget_modifier_name`, and `resolve_typed_parse_ty`
  --> crates/perry-hir/src/lower/expr_call/wasm_exports.rs:13:5
   |
13 |     extract_typed_parse_source_order, is_generator_call_expr, is_widget_modifier_name, lower_expr,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
14 |     resolve_typed_parse_ty, LoweringContext,
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `context::*`
  --> crates/perry-hir/src/lower/mod.rs:47:16
   |
47 | pub(crate) use context::*;
   |                ^^^^^^^^^^

warning: unused imports: `is_known_array_static_method`, `is_known_json_static_method`, `is_known_math_static_method`, `is_known_number_static_method`, `is_known_object_static_method`, `is_known_promise_static_method`, and `is_known_string_static_method`
  --> crates/perry-hir/src/lower/mod.rs:81:38
   |
81 |     is_known_array_prototype_method, is_known_array_static_method, is_known_json_static_method,
   |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
82 |     is_known_math_static_method, is_known_namespace_static_function, is_known_number_static_method,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
83 |     is_known_object_prototype_method, is_known_object_static_method,
   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
84 |     is_known_promise_static_method, is_known_string_prototype_method,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
85 |     is_known_string_static_method, try_fold_array_method_call,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `throw_reference_error_expr`
  --> crates/perry-hir/src/lower/mod.rs:97:40
   |
97 |     lower_expr, lower_expr_assignment, throw_reference_error_expr, try_desugar_reactive_text,
   |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `anyhow`
 --> crates/perry-hir/src/lower_decl/block.rs:1:14
  |
1 | use anyhow::{anyhow, bail, Result};
  |              ^^^^^^

warning: unused imports: `collect_for_of_pattern_leaves`, `emit_for_of_pattern_binding`, and `lower_expr`
 --> crates/perry-hir/src/lower_decl/block.rs:9:5
  |
9 |     collect_for_of_pattern_leaves, emit_for_of_pattern_binding, lower_expr, LoweringContext,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^

warning: unused import: `crate::lower_patterns::*`
  --> crates/perry-hir/src/lower_decl/block.rs:11:5
   |
11 | use crate::lower_patterns::*;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `crate::lower_types::*`
  --> crates/perry-hir/src/lower_decl/block.rs:12:5
   |
12 | use crate::lower_types::*;
   |     ^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `bail`
 --> crates/perry-hir/src/lower_decl/body_stmt.rs:1:22
  |
1 | use anyhow::{anyhow, bail, Result};
  |                      ^^^^

warning: unused import: `crate::lower_types::*`
  --> crates/perry-hir/src/lower_decl/body_stmt.rs:12:5
   |
12 | use crate::lower_types::*;
   |     ^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `Result`, `anyhow`, and `bail`
 --> crates/perry-hir/src/lower_decl/class_captures.rs:1:14
  |
1 | use anyhow::{anyhow, bail, Result};
  |              ^^^^^^  ^^^^  ^^^^^^

warning: unused import: `swc_ecma_ast as ast`
 --> crates/perry-hir/src/lower_decl/class_captures.rs:3:5
  |
3 | use swc_ecma_ast as ast;
  |     ^^^^^^^^^^^^^^^^^^^

warning: unused import: `crate::analysis::*`
 --> crates/perry-hir/src/lower_decl/class_captures.rs:5:5
  |
5 | use crate::analysis::*;
  |     ^^^^^^^^^^^^^^^^^^

warning: unused import: `crate::destructuring::*`
 --> crates/perry-hir/src/lower_decl/class_captures.rs:6:5
  |
6 | use crate::destructuring::*;
  |     ^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `collect_for_of_pattern_leaves`, `emit_for_of_pattern_binding`, and `lower_expr`
 --> crates/perry-hir/src/lower_decl/class_captures.rs:9:5
  |
9 |     collect_for_of_pattern_leaves, emit_for_of_pattern_binding, lower_expr, LoweringContext,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^

warning: unused import: `crate::lower_patterns::*`
  --> crates/perry-hir/src/lower_decl/class_captures.rs:11:5
   |
11 | use crate::lower_patterns::*;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `crate::lower_types::*`
  --> crates/perry-hir/src/lower_decl/class_captures.rs:12:5
   |
12 | use crate::lower_types::*;
   |     ^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `super::class_validation::*`
  --> crates/perry-hir/src/lower_decl/class_captures.rs:15:5
   |
15 | use super::class_validation::*;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `super::enum_decl::*`
  --> crates/perry-hir/src/lower_decl/class_captures.rs:16:5
   |
16 | use super::enum_decl::*;
   |     ^^^^^^^^^^^^^^^^^^^

warning: unused import: `super::fn_decl::*`
  --> crates/perry-hir/src/lower_decl/class_captures.rs:17:5
   |
17 | use super::fn_decl::*;
   |     ^^^^^^^^^^^^^^^^^

warning: unused import: `super::helpers::*`
  --> crates/perry-hir/src/lower_decl/class_captures.rs:18:5
   |
18 | use super::helpers::*;
   |     ^^^^^^^^^^^^^^^^^

warning: unused import: `super::interface_decl::*`
  --> crates/perry-hir/src/lower_decl/class_captures.rs:19:5
   |
19 | use super::interface_decl::*;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `super::private_members::*`
  --> crates/perry-hir/src/lower_decl/class_captures.rs:20:5
   |
20 | use super::private_members::*;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `super::type_alias::*`
  --> crates/perry-hir/src/lower_decl/class_captures.rs:21:5
   |
21 | use super::type_alias::*;
   |     ^^^^^^^^^^^^^^^^^^^^

warning: unused import: `super::*`
  --> crates/perry-hir/src/lower_decl/class_captures.rs:22:5
   |
22 | use super::*;
   |     ^^^^^^^^

warning: unused imports: `anyhow` and `bail`
 --> crates/perry-hir/src/lower_decl/class_decl.rs:1:14
  |
1 | use anyhow::{anyhow, bail, Result};
  |              ^^^^^^  ^^^^

warning: unused import: `LocalId`
 --> crates/perry-hir/src/lower_decl/class_decl.rs:2:19
  |
2 | use perry_types::{LocalId, Type};
  |                   ^^^^^^^

warning: unused import: `crate::analysis::*`
 --> crates/perry-hir/src/lower_decl/class_decl.rs:5:5
  |
5 | use crate::analysis::*;
  |     ^^^^^^^^^^^^^^^^^^

warning: unused import: `crate::destructuring::*`
 --> crates/perry-hir/src/lower_decl/class_decl.rs:6:5
  |
6 | use crate::destructuring::*;
  |     ^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `collect_for_of_pattern_leaves` and `emit_for_of_pattern_binding`
 --> crates/perry-hir/src/lower_decl/class_decl.rs:9:5
  |
9 |     collect_for_of_pattern_leaves, emit_for_of_pattern_binding, lower_expr, LoweringContext,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `bail`
 --> crates/perry-hir/src/lower_decl/class_members.rs:1:22
  |
1 | use anyhow::{anyhow, bail, Result};
  |                      ^^^^

warning: unused import: `crate::analysis::*`
 --> crates/perry-hir/src/lower_decl/class_members.rs:5:5
  |
5 | use crate::analysis::*;
  |     ^^^^^^^^^^^^^^^^^^

warning: unused import: `crate::destructuring::*`
 --> crates/perry-hir/src/lower_decl/class_members.rs:6:5
  |
6 | use crate::destructuring::*;
  |     ^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `collect_for_of_pattern_leaves` and `emit_for_of_pattern_binding`
 --> crates/perry-hir/src/lower_decl/class_members.rs:9:5
  |
9 |     collect_for_of_pattern_leaves, emit_for_of_pattern_binding, lower_expr, LoweringContext,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `anyhow`
 --> crates/perry-hir/src/lower_decl/class_validation.rs:1:14
  |
1 | use anyhow::{anyhow, bail, Result};
  |              ^^^^^^

warning: unused imports: `LocalId` and `Type`
 --> crates/perry-hir/src/lower_decl/class_validation.rs:2:19
  |
2 | use perry_types::{LocalId, Type};
  |                   ^^^^^^^  ^^^^

warning: unused import: `crate::analysis::*`
 --> crates/perry-hir/src/lower_decl/class_validation.rs:5:5
  |
5 | use crate::analysis::*;
  |     ^^^^^^^^^^^^^^^^^^

warning: unused import: `crate::destructuring::*`
 --> crates/perry-hir/src/lower_decl/class_validation.rs:6:5
  |
6 | use crate::destructuring::*;
  |     ^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `crate::ir::*`
 --> crates/perry-hir/src/lower_decl/class_validation.rs:7:5
  |
7 | use crate::ir::*;
  |     ^^^^^^^^^^^^

warning: unused imports: `LoweringContext`, `collect_for_of_pattern_leaves`, `emit_for_of_pattern_binding`, and `lower_expr`
 --> crates/perry-hir/src/lower_decl/class_validation.rs:9:5
  |
9 |     collect_for_of_pattern_leaves, emit_for_of_pattern_binding, lower_expr, LoweringContext,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^

warning: unused import: `crate::lower_patterns::*`
  --> crates/perry-hir/src/lower_decl/class_validation.rs:11:5
   |
11 | use crate::lower_patterns::*;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `crate::lower_types::*`
  --> crates/perry-hir/src/lower_decl/class_validation.rs:12:5
   |
12 | use crate::lower_types::*;
   |     ^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `super::*`
  --> crates/perry-hir/src/lower_decl/class_validation.rs:14:5
   |
14 | use super::*;
   |     ^^^^^^^^

warning: unused imports: `anyhow` and `bail`
 --> crates/perry-hir/src/lower_decl/enum_decl.rs:1:14
  |
1 | use anyhow::{anyhow, bail, Result};
  |              ^^^^^^  ^^^^

warning: unused imports: `LocalId` and `Type`
 --> crates/perry-hir/src/lower_decl/enum_decl.rs:2:19
  |
2 | use perry_types::{LocalId, Type};
  |                   ^^^^^^^  ^^^^

warning: unused import: `crate::analysis::*`
 --> crates/perry-hir/src/lower_decl/enum_decl.rs:5:5
  |
5 | use crate::analysis::*;
  |     ^^^^^^^^^^^^^^^^^^

warning: unused import: `crate::destructuring::*`
 --> crates/perry-hir/src/lower_decl/enum_decl.rs:6:5
  |
6 | use crate::destructuring::*;
  |     ^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `collect_for_of_pattern_leaves`, `emit_for_of_pattern_binding`, and `lower_expr`
 --> crates/perry-hir/src/lower_decl/enum_decl.rs:9:5
  |
9 |     collect_for_of_pattern_leaves, emit_for_of_pattern_binding, lower_expr, LoweringContext,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^

warning: unused import: `crate::lower_patterns::*`
  --> crates/perry-hir/src/lower_decl/enum_decl.rs:11:5
   |
11 | use crate::lower_patterns::*;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `crate::lower_types::*`
  --> crates/perry-hir/src/lower_decl/enum_decl.rs:12:5
   |
12 | use crate::lower_types::*;
   |     ^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `super::*`
  --> crates/perry-hir/src/lower_decl/enum_decl.rs:14:5
   |
14 | use super::*;
   |     ^^^^^^^^

warning: unused imports: `anyhow` and `bail`
 --> crates/perry-hir/src/lower_decl/fn_decl.rs:1:14
  |
1 | use anyhow::{anyhow, bail, Result};
  |              ^^^^^^  ^^^^

warning: unused import: `crate::analysis::*`
 --> crates/perry-hir/src/lower_decl/fn_decl.rs:5:5
  |
5 | use crate::analysis::*;
  |     ^^^^^^^^^^^^^^^^^^

warning: unused import: `crate::destructuring::*`
 --> crates/perry-hir/src/lower_decl/fn_decl.rs:6:5
  |
6 | use crate::destructuring::*;
  |     ^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `collect_for_of_pattern_leaves`, `emit_for_of_pattern_binding`, and `lower_expr`
 --> crates/perry-hir/src/lower_decl/fn_decl.rs:9:5
  |
9 |     collect_for_of_pattern_leaves, emit_for_of_pattern_binding, lower_expr, LoweringContext,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^

warning: unused imports: `Result`, `anyhow`, and `bail`
 --> crates/perry-hir/src/lower_decl/helpers.rs:7:14
  |
7 | use anyhow::{anyhow, bail, Result};
  |              ^^^^^^  ^^^^  ^^^^^^

warning: unused import: `crate::analysis::*`
  --> crates/perry-hir/src/lower_decl/helpers.rs:11:5
   |
11 | use crate::analysis::*;
   |     ^^^^^^^^^^^^^^^^^^

warning: unused import: `crate::destructuring::*`
  --> crates/perry-hir/src/lower_decl/helpers.rs:12:5
   |
12 | use crate::destructuring::*;
   |     ^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `collect_for_of_pattern_leaves`, `emit_for_of_pattern_binding`, and `lower_expr`
  --> crates/perry-hir/src/lower_decl/helpers.rs:15:5
   |
15 |     collect_for_of_pattern_leaves, emit_for_of_pattern_binding, lower_expr, LoweringContext,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^

warning: unused import: `crate::lower_patterns::*`
  --> crates/perry-hir/src/lower_decl/helpers.rs:17:5
   |
17 | use crate::lower_patterns::*;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `anyhow` and `bail`
 --> crates/perry-hir/src/lower_decl/interface_decl.rs:1:14
  |
1 | use anyhow::{anyhow, bail, Result};
  |              ^^^^^^  ^^^^

warning: unused import: `LocalId`
 --> crates/perry-hir/src/lower_decl/interface_decl.rs:2:19
  |
2 | use perry_types::{LocalId, Type};
  |                   ^^^^^^^

warning: unused import: `crate::analysis::*`
 --> crates/perry-hir/src/lower_decl/interface_decl.rs:5:5
  |
5 | use crate::analysis::*;
  |     ^^^^^^^^^^^^^^^^^^

warning: unused import: `crate::destructuring::*`
 --> crates/perry-hir/src/lower_decl/interface_decl.rs:6:5
  |
6 | use crate::destructuring::*;
  |     ^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `collect_for_of_pattern_leaves`, `emit_for_of_pattern_binding`, and `lower_expr`
 --> crates/perry-hir/src/lower_decl/interface_decl.rs:9:5
  |
9 |     collect_for_of_pattern_leaves, emit_for_of_pattern_binding, lower_expr, LoweringContext,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^

warning: unused import: `crate::lower_patterns::*`
  --> crates/perry-hir/src/lower_decl/interface_decl.rs:11:5
   |
11 | use crate::lower_patterns::*;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `super::*`
  --> crates/perry-hir/src/lower_decl/interface_decl.rs:14:5
   |
14 | use super::*;
   |     ^^^^^^^^

warning: unused imports: `anyhow` and `bail`
 --> crates/perry-hir/src/lower_decl/private_members.rs:1:14
  |
1 | use anyhow::{anyhow, bail, Result};
  |              ^^^^^^  ^^^^

warning: unused import: `crate::analysis::*`
 --> crates/perry-hir/src/lower_decl/private_members.rs:5:5
  |
5 | use crate::analysis::*;
  |     ^^^^^^^^^^^^^^^^^^

warning: unused import: `crate::destructuring::*`
 --> crates/perry-hir/src/lower_decl/private_members.rs:6:5
  |
6 | use crate::destructuring::*;
  |     ^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `collect_for_of_pattern_leaves` and `emit_for_of_pattern_binding`
 --> crates/perry-hir/src/lower_decl/private_members.rs:9:5
  |
9 |     collect_for_of_pattern_leaves, emit_for_of_pattern_binding, lower_expr, LoweringContext,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `anyhow` and `bail`
 --> crates/perry-hir/src/lower_decl/type_alias.rs:1:14
  |
1 | use anyhow::{anyhow, bail, Result};
  |              ^^^^^^  ^^^^

warning: unused imports: `LocalId` and `Type`
 --> crates/perry-hir/src/lower_decl/type_alias.rs:2:19
  |
2 | use perry_types::{LocalId, Type};
  |                   ^^^^^^^  ^^^^

warning: unused import: `crate::analysis::*`
 --> crates/perry-hir/src/lower_decl/type_alias.rs:5:5
  |
5 | use crate::analysis::*;
  |     ^^^^^^^^^^^^^^^^^^

warning: unused import: `crate::destructuring::*`
 --> crates/perry-hir/src/lower_decl/type_alias.rs:6:5
  |
6 | use crate::destructuring::*;
  |     ^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `collect_for_of_pattern_leaves`, `emit_for_of_pattern_binding`, and `lower_expr`
 --> crates/perry-hir/src/lower_decl/type_alias.rs:9:5
  |
9 |     collect_for_of_pattern_leaves, emit_for_of_pattern_binding, lower_expr, LoweringContext,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^

warning: unused import: `crate::lower_patterns::*`
  --> crates/perry-hir/src/lower_decl/type_alias.rs:11:5
   |
11 | use crate::lower_patterns::*;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `super::*`
  --> crates/perry-hir/src/lower_decl/type_alias.rs:14:5
   |
14 | use super::*;
   |     ^^^^^^^^

warning: unused imports: `collect_refs_in_closure_bodies_stmt`, `collect_top_level_let_ids_stmt`, and `lower_stmts_using_aware`
  --> crates/perry-hir/src/lower_decl/mod.rs:30:5
   |
30 |     collect_refs_in_closure_bodies_stmt, collect_top_level_let_ids_stmt,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31 |     compute_prealloc_for_hoisted_closures, lower_block_stmt, lower_block_stmt_scoped,
32 |     lower_fn_body_block_stmt, lower_stmts_using_aware,
   |                               ^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `collect_method_captures`
  --> crates/perry-hir/src/lower_decl/mod.rs:38:5
   |
38 |     collect_method_captures, lower_class_method, lower_class_prop,
   |     ^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `mangle_type`
  --> crates/perry-hir/src/monomorph/mod.rs:49:52
   |
49 | pub(crate) use mangle::{generate_specialized_name, mangle_type, mangle_type_args};
   |                                                    ^^^^^^^^^^^

warning: unused variable: `call`
  --> crates/perry-hir/src/lower/expr_call/url_date_instance.rs:43:5
   |
43 |     call: &ast::CallExpr,
   |     ^^^^ help: if this is intentional, prefix it with an underscore: `_call`
   |
   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default

warning: type `JsValueTracker` is more private than the item `transform_stmts`
   --> crates/perry-hir/src/js_transform/imports.rs:219:1
    |
219 | / pub fn transform_stmts(
220 | |     stmts: &mut Vec<Stmt>,
221 | |     js_imports: &HashMap<String, JsImportInfo>,
222 | |     extern_func_to_js: &HashMap<String, (String, String)>,
223 | |     local_name_to_js: &HashMap<String, (String, String)>,
224 | |     tracker: &mut JsValueTracker,
225 | | ) {
    | |_^ function `transform_stmts` is reachable at visibility `pub(in crate::js_transform)`
    |
note: but type `JsValueTracker` is only usable at visibility `pub(self)`
   --> crates/perry-hir/src/js_transform/imports.rs:19:1
    |
 19 | struct JsValueTracker {
    | ^^^^^^^^^^^^^^^^^^^^^
    = note: `#[warn(private_interfaces)]` on by default

warning: type `JsValueTracker` is more private than the item `transform_stmt`
   --> crates/perry-hir/src/js_transform/imports.rs:237:1
    |
237 | / pub fn transform_stmt(
238 | |     stmt: &mut Stmt,
239 | |     js_imports: &HashMap<String, JsImportInfo>,
240 | |     extern_func_to_js: &HashMap<String, (String, String)>,
241 | |     local_name_to_js: &HashMap<String, (String, String)>,
242 | |     tracker: &mut JsValueTracker,
243 | | ) {
    | |_^ function `transform_stmt` is reachable at visibility `pub(in crate::js_transform)`
    |
note: but type `JsValueTracker` is only usable at visibility `pub(self)`
   --> crates/perry-hir/src/js_transform/imports.rs:19:1
    |
 19 | struct JsValueTracker {
    | ^^^^^^^^^^^^^^^^^^^^^

warning: type `JsValueTracker` is more private than the item `is_js_value_expr`
   --> crates/perry-hir/src/js_transform/imports.rs:469:1
    |
469 | pub fn is_js_value_expr(expr: &Expr, tracker: &JsValueTracker) -> bool {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `is_js_value_expr` is reachable at visibility `pub(in crate::js_transform)`
    |
note: but type `JsValueTracker` is only usable at visibility `pub(self)`
   --> crates/perry-hir/src/js_transform/imports.rs:19:1
    |
 19 | struct JsValueTracker {
    | ^^^^^^^^^^^^^^^^^^^^^

warning: type `JsValueTracker` is more private than the item `is_js_object_expr`
   --> crates/perry-hir/src/js_transform/imports.rs:500:1
    |
500 | / pub fn is_js_object_expr(
501 | |     expr: &Expr,
502 | |     tracker: &JsValueTracker,
503 | |     extern_func_to_js: &HashMap<String, (String, String)>,
504 | | ) -> bool {
    | |_________^ function `is_js_object_expr` is reachable at visibility `pub(in crate::js_transform)`
    |
note: but type `JsValueTracker` is only usable at visibility `pub(self)`
   --> crates/perry-hir/src/js_transform/imports.rs:19:1
    |
 19 | struct JsValueTracker {
    | ^^^^^^^^^^^^^^^^^^^^^

warning: type `JsValueTracker` is more private than the item `transform_expr`
   --> crates/perry-hir/src/js_transform/imports.rs:538:1
    |
538 | / pub fn transform_expr(
539 | |     expr: &mut Expr,
540 | |     js_imports: &HashMap<String, JsImportInfo>,
541 | |     extern_func_to_js: &HashMap<String, (String, String)>,
542 | |     local_name_to_js: &HashMap<String, (String, String)>,
543 | |     tracker: &mut JsValueTracker,
544 | | ) {
    | |_^ function `transform_expr` is reachable at visibility `pub(in crate::js_transform)`
    |
note: but type `JsValueTracker` is only usable at visibility `pub(self)`
   --> crates/perry-hir/src/js_transform/imports.rs:19:1
    |
 19 | struct JsValueTracker {
    | ^^^^^^^^^^^^^^^^^^^^^

warning: function `module_starts_with_use_strict_directive` is never used
  --> crates/perry-hir/src/lower/misc.rs:38:15
   |
38 | pub(crate) fn module_starts_with_use_strict_directive(module: &ast::Module) -> bool {
   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: function `module_has_module_declaration` is never used
  --> crates/perry-hir/src/lower/misc.rs:52:15
   |
52 | pub(crate) fn module_has_module_declaration(module: &ast::Module) -> bool {
   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: `perry-hir` (lib) generated 158 warnings (run `cargo fix --lib -p perry-hir` to apply 151 suggestions)
   Compiling perry-hir v0.5.1063 (/perry/crates/perry-hir)
    Finished `test` profile [unoptimized + debuginfo] target(s) in 3.75s
     Running tests/unimplemented_api_check.rs (target/debug/deps/unimplemented_api_check-27e21790069617ab)

running 12 tests
test crypto_random_uuid_is_accepted ... ok
test crypto_subtle_digest_compiles ... ok
test crypto_subtle_encrypt_compiles ... ok
test crypto_subtle_namespace_compiles ... ok
test crypto_unknown_method_is_rejected ... ok
test every_supported_module_rejects_bogus_call ... ok
test every_supported_module_rejects_bogus_member ... FAILED
test node_builtin_dispatch_only_named_imports_are_rejected ... ok
test node_builtin_real_named_exports_still_compile ... ok
test os_eol_and_path_sep_compile ... ok
test os_implemented_methods_compile ... ok
test supported_module_with_unknown_member_is_rejected ... ok

failures:

---- every_supported_module_rejects_bogus_member stdout ----

thread 'every_supported_module_rejects_bogus_member' (11548) panicked at crates/perry-hir/tests/unimplemented_api_check.rs:335:5:
53 module(s) failed the R005 sweep:
  mysql2: bogus member access did not error (strict mode not engaged)
  mysql2/promise: bogus member access did not error (strict mode not engaged)
  pg: bogus member access did not error (strict mode not engaged)
  uuid: bogus member access did not error (strict mode not engaged)
  bcrypt: bogus member access did not error (strict mode not engaged)
  argon2: bogus member access did not error (strict mode not engaged)
  ioredis: bogus member access did not error (strict mode not engaged)
  axios: bogus member access did not error (strict mode not engaged)
  node-fetch: bogus member access did not error (strict mode not engaged)
  ws: bogus member access did not error (strict mode not engaged)
  dotenv: bogus member access did not error (strict mode not engaged)
  jsonwebtoken: bogus member access did not error (strict mode not engaged)
  nanoid: bogus member access did not error (strict mode not engaged)
  slugify: bogus member access did not error (strict mode not engaged)
  validator: bogus member access did not error (strict mode not engaged)
  ethers: bogus member access did not error (strict mode not engaged)
  mongodb: bogus member access did not error (strict mode not engaged)
  better-sqlite3: bogus member access did not error (strict mode not engaged)
  sqlite: bogus member access did not error (strict mode not engaged)
  node-cron: bogus member access did not error (strict mode not engaged)
  nodemailer: bogus member access did not error (strict mode not engaged)
  domain: bogus member access did not error (strict mode not engaged)
  streams: bogus member access did not error (strict mode not engaged)
  lru-cache: bogus member access did not error (strict mode not engaged)
  commander: bogus member access did not error (strict mode not engaged)
  decimal.js: bogus member access did not error (strict mode not engaged)
  bignumber.js: bogus member access did not error (strict mode not engaged)
  exponential-backoff: bogus member access did not error (strict mode not engaged)
  lodash: bogus member access did not error (strict mode not engaged)
  dayjs: bogus member access did not error (strict mode not engaged)
  date-fns: bogus member access did not error (strict mode not engaged)
  moment: bogus member access did not error (strict mode not engaged)
  sharp: bogus member access did not error (strict mode not engaged)
  cheerio: bogus member access did not error (strict mode not engaged)
  cron: bogus member access did not error (strict mode not engaged)
  fastify: bogus member access did not error (strict mode not engaged)
  __disposable__: bogus member access did not error (strict mode not engaged)
  perry/tui: bogus member access did not error (strict mode not engaged)
  perry/ui: bogus member access did not error (strict mode not engaged)
  perry/system: bogus member access did not error (strict mode not engaged)
  perry/plugin: bogus member access did not error (strict mode not engaged)
  perry/widget: bogus member access did not error (strict mode not engaged)
  perry/i18n: bogus member access did not error (strict mode not engaged)
  perry/thread: bogus member access did not error (strict mode not engaged)
  perry/updater: bogus member access did not error (strict mode not engaged)
  perry/media: bogus member access did not error (strict mode not engaged)
  perry/audio: bogus member access did not error (strict mode not engaged)
  perry/background: bogus member access did not error (strict mode not engaged)
  redis: bogus member access did not error (strict mode not engaged)
  rate-limiter-flexible: bogus member access did not error (strict mode not engaged)
  fetch: bogus member access did not error (strict mode not engaged)
  @perryts/pdf: bogus member access did not error (strict mode not engaged)
  perry/ads: bogus member access did not error (strict mode not engaged)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    every_supported_module_rejects_bogus_member

test result: FAILED. 11 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s

error: test failed, to rerun pass `-p perry-hir --test unimplemented_api_check`
Updated 1 path from 7e28dc8f
SWE-rebench parser: parse_log_cargo
SWE-rebench results:
FAILED
