[INFO] fetching crate reluxscript 0.1.4... [INFO] testing reluxscript-0.1.4 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate reluxscript 0.1.4 into /workspace/builds/worker-5-tc2/source [INFO] started tweaking crates.io crate reluxscript 0.1.4 [INFO] finished tweaking crates.io crate reluxscript 0.1.4 [INFO] tweaked toml for crates.io crate reluxscript 0.1.4 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate reluxscript 0.1.4 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate reluxscript 0.1.4 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d5132ccf7a0933060569dea3fba2d6cd209077e94102655fcff908fca7f507a6 [INFO] running `Command { std: "docker" "start" "-a" "d5132ccf7a0933060569dea3fba2d6cd209077e94102655fcff908fca7f507a6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d5132ccf7a0933060569dea3fba2d6cd209077e94102655fcff908fca7f507a6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d5132ccf7a0933060569dea3fba2d6cd209077e94102655fcff908fca7f507a6", kill_on_drop: false }` [INFO] [stdout] d5132ccf7a0933060569dea3fba2d6cd209077e94102655fcff908fca7f507a6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4c5bc535a8ebf2c8bff2dc6a5e1928604f7caa14061b49c91bd0590070cc1a7e [INFO] running `Command { std: "docker" "start" "-a" "4c5bc535a8ebf2c8bff2dc6a5e1928604f7caa14061b49c91bd0590070cc1a7e", kill_on_drop: false }` [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling ariadne v0.4.1 [INFO] [stderr] Compiling syn v2.0.110 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling clap_builder v4.5.52 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Compiling clap v4.5.52 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling reluxscript v0.1.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `UnaryExpr` and `UnaryOp` [INFO] [stdout] --> src/semantic/swc_lowering.rs:16:61 [INFO] [stdout] | [INFO] [stdout] 16 | PluginItem, FnDecl, Block, Stmt, Expr, IfStmt, Pattern, UnaryExpr, UnaryOp, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lexer::Span` [INFO] [stdout] --> src/semantic/swc_lowering.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::lexer::Span; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `get_field_mapping` [INFO] [stdout] --> src/codegen/babel.rs:4:69 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::mapping::{get_node_mapping, get_node_mapping_by_visitor, get_field_mapping}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::type_context::TypeEnvironment` [INFO] [stdout] --> src/codegen/swc_stub.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use super::type_context::TypeEnvironment; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SwcTypeKind` and `get_swc_variant` [INFO] [stdout] --> src/codegen/swc_patterns.rs:7:57 [INFO] [stdout] | [INFO] [stdout] 7 | ...ntext, TypeEnvironment, get_swc_variant, get_swc_variant_in_context, get_typed_field_mapping, SwcTypeKind}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/codegen/swc_decorator.rs:1572:24 [INFO] [stdout] | [INFO] [stdout] 1572 | if (ctx.swc_type == "Unknown" || ctx.swc_type == "UserDefined") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1572 - if (ctx.swc_type == "Unknown" || ctx.swc_type == "UserDefined") { [INFO] [stdout] 1572 + if ctx.swc_type == "Unknown" || ctx.swc_type == "UserDefined" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `get_field_mapping` [INFO] [stdout] --> src/codegen/swc_decorator.rs:2780:48 [INFO] [stdout] | [INFO] [stdout] 2780 | use crate::mapping::{get_node_mapping, get_field_mapping}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::Literal` [INFO] [stdout] --> src/codegen/swc_rewriter.rs:3559:13 [INFO] [stdout] | [INFO] [stdout] 3559 | use crate::parser::Literal; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DecoratedInlineVisitor` and `DecoratedVisitorMethod` [INFO] [stdout] --> src/codegen/swc_hoister.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | DecoratedInlineVisitor, DecoratedVisitorMethod, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Block`, `FnDecl`, `TraverseKind`, and `TraverseStmt` [INFO] [stdout] --> src/codegen/swc_hoister.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | TraverseStmt, TraverseKind, Pattern, Type, Block, FnDecl, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::Literal` [INFO] [stdout] --> src/codegen/swc_hoister.rs:483:13 [INFO] [stdout] | [INFO] [stdout] 483 | use crate::parser::Literal; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::Stmt` [INFO] [stdout] --> src/codegen/swc_hoister.rs:838:13 [INFO] [stdout] | [INFO] [stdout] 838 | use crate::parser::Stmt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::type_system::TypeContext` [INFO] [stdout] --> src/codegen/swc_hoister.rs:840:13 [INFO] [stdout] | [INFO] [stdout] 840 | use crate::type_system::TypeContext; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DecoratedExprKind` [INFO] [stdout] --> src/codegen/swc_emit.rs:305:60 [INFO] [stdout] | [INFO] [stdout] 305 | use crate::codegen::decorated_ast::{DecoratedStmt, DecoratedExprKind}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Span` [INFO] [stdout] --> src/autofix/token_rewriter.rs:5:38 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::lexer::{Token, TokenKind, Span}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser/parser.rs:1168:13 [INFO] [stdout] | [INFO] [stdout] 1168 | let mut else_if_branches = Vec::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/parser/parser.rs:2849:21 [INFO] [stdout] | [INFO] [stdout] 2849 | let span = self.current_span(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variant_name` [INFO] [stdout] --> src/codegen/babel.rs:1617:29 [INFO] [stdout] | [INFO] [stdout] 1617 | let variant_name = if name.contains("::") { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variant_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inner` [INFO] [stdout] --> src/codegen/babel.rs:3168:38 [INFO] [stdout] | [INFO] [stdout] 3168 | Pattern::Variant { name, inner } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `inner: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/codegen/type_context.rs:956:9 [INFO] [stdout] | [INFO] [stdout] 854 | ("ArrayPat", "elements") => Some(TypedFieldMapping { [INFO] [stdout] | ------------------------ matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 956 | ("ArrayPat", "elements") => Some(TypedFieldMapping { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operand` [INFO] [stdout] --> src/codegen/swc_decorator.rs:676:75 [INFO] [stdout] | [INFO] [stdout] 676 | let condition_type_string = if let DecoratedExprKind::Unary { op, ref operand, .. } = &decorated_condition.kind { [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `operand: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/codegen/swc_decorator.rs:2378:21 [INFO] [stdout] | [INFO] [stdout] 2378 | let mut expr = Box::new(self.decorate_expr(&ref_expr.expr)); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `unwrap_expr` [INFO] [stdout] --> src/codegen/swc_rewriter.rs:847:13 [INFO] [stdout] | [INFO] [stdout] 847 | unwrap_expr, [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `unwrap_expr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lit` [INFO] [stdout] --> src/codegen/swc_rewriter.rs:1361:40 [INFO] [stdout] | [INFO] [stdout] 1361 | DecoratedExprKind::Literal(ref lit) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mutable` [INFO] [stdout] --> src/codegen/swc_hoister.rs:72:29 [INFO] [stdout] | [INFO] [stdout] 72 | TypeInfo::Ref { mutable, inner } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `mutable: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `assign` [INFO] [stdout] --> src/codegen/swc_emit.rs:1236:49 [INFO] [stdout] | [INFO] [stdout] 1236 | DecoratedStmt::CustomPropAssignment(assign) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_assign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/codegen/swc_emit.rs:1807:55 [INFO] [stdout] | [INFO] [stdout] 1807 | if let DecoratedExprKind::Ident { name, .. } = &object.kind { [INFO] [stdout] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variant` [INFO] [stdout] --> src/codegen/swc_emit.rs:2094:65 [INFO] [stdout] | [INFO] [stdout] 2094 | let needs_enum_wrap = if let Some((parent_enum, variant)) = &right.metadata.needs_enum_unwrap { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variant` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `access` [INFO] [stdout] --> src/codegen/swc_emit.rs:2186:49 [INFO] [stdout] | [INFO] [stdout] 2186 | DecoratedExprKind::CustomPropAccess(access) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_access` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/codegen/swc_emit.rs:3516:13 [INFO] [stdout] | [INFO] [stdout] 3516 | let mut lines: Vec<&str> = code.lines().collect(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_span` [INFO] [stdout] --> src/autofix/token_rewriter.rs:106:17 [INFO] [stdout] | [INFO] [stdout] 106 | let start_span = self.tokens[self.position].span; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `parse_struct` and `parse_enum` are never used [INFO] [stdout] --> src/parser/parser.rs:468:8 [INFO] [stdout] | [INFO] [stdout] 37 | impl Parser { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 468 | fn parse_struct(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 561 | fn parse_enum(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `current_plugin_self` is never read [INFO] [stdout] --> src/semantic/type_checker.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct TypeChecker { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 15 | current_plugin_self: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `swc_field`, `swc_variant`, and `is_boxed` are never read [INFO] [stdout] --> src/semantic/hoist_unwraps.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 47 | struct ChainLink { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 51 | swc_field: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | swc_variant: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | is_boxed: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ChainLink` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `final_swc_field` is never read [INFO] [stdout] --> src/semantic/hoist_unwraps.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 64 | struct ChainAnalysis { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 74 | final_swc_field: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ChainAnalysis` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `path_var` are never read [INFO] [stdout] --> src/codegen/babel.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 8 | struct TraverseContext { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | id: usize, [INFO] [stdout] | ^^ [INFO] [stdout] 13 | /// The path variable name that should be used for traverse calls [INFO] [stdout] 14 | path_var: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TraverseContext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `in_traverse` and `gen_method` are never used [INFO] [stdout] --> src/codegen/babel.rs:142:8 [INFO] [stdout] | [INFO] [stdout] 64 | impl BabelGenerator { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 142 | fn in_traverse(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 772 | fn gen_method(&mut self, f: &FnDecl) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `map_reluxscript_to_swc` is never used [INFO] [stdout] --> src/codegen/swc_patterns.rs:434:12 [INFO] [stdout] | [INFO] [stdout] 434 | pub fn map_reluxscript_to_swc(rs_type: &str) -> (String, super::super::type_context::SwcTypeKind) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `add_pattern_bindings_to_env` is never used [INFO] [stdout] --> src/codegen/swc_decorator.rs:1242:8 [INFO] [stdout] | [INFO] [stdout] 57 | impl SwcDecorator { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1242 | fn add_pattern_bindings_to_env(&mut self, pattern: &Pattern, decorated: &DecoratedPattern) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `visitor_method_to_swc` is never used [INFO] [stdout] --> src/codegen/swc_hoister.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 49 | impl SwcHoister { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 101 | fn visitor_method_to_swc(&self, method_name: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `params` is never read [INFO] [stdout] --> src/codegen/swc_hoister.rs:831:5 [INFO] [stdout] | [INFO] [stdout] 828 | struct CaptureTransformer { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 831 | params: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `transform_stmt` is never used [INFO] [stdout] --> src/codegen/swc_hoister.rs:837:8 [INFO] [stdout] | [INFO] [stdout] 835 | impl CaptureTransformer { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] 836 | /// Transform a statement, prefixing captured variables with self. [INFO] [stdout] 837 | fn transform_stmt(&mut self, stmt: &crate::parser::Stmt) -> DecoratedStmt { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `custom_prop_types` is never read [INFO] [stdout] --> src/codegen/swc_emit.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct SwcEmitter { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 60 | custom_prop_types: std::collections::HashSet, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_path_qualified_pattern`, `emit_parser_expr`, `emit_parser_stmt`, `emit_parser_stmt_with_context`, `emit`, and `emit_undecorated_expr` are never used [INFO] [stdout] --> src/codegen/swc_emit.rs:1289:8 [INFO] [stdout] | [INFO] [stdout] 71 | impl SwcEmitter { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1289 | fn is_path_qualified_pattern(&self, pattern: &DecoratedPattern) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2756 | fn emit_parser_expr(&mut self, expr: &Expr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2853 | fn emit_parser_stmt(&mut self, stmt: &Stmt) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2857 | fn emit_parser_stmt_with_context(&mut self, stmt: &Stmt, is_last_in_block: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2952 | fn emit(&mut self, s: &str) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 2978 | fn emit_undecorated_expr(&mut self, expr: &Expr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reluxscript_to_swc` is never used [INFO] [stdout] --> src/mapping/nodes.rs:827:8 [INFO] [stdout] | [INFO] [stdout] 827 | pub fn reluxscript_to_swc(reluxscript_name: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reluxscript_to_babel` is never used [INFO] [stdout] --> src/mapping/nodes.rs:854:8 [INFO] [stdout] | [INFO] [stdout] 854 | pub fn reluxscript_to_babel(reluxscript_name: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_fields_for_node` is never used [INFO] [stdout] --> src/mapping/fields.rs:862:8 [INFO] [stdout] | [INFO] [stdout] 862 | pub fn get_fields_for_node(node_type: &str) -> Vec<&'static FieldMapping> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_babel_field_access` is never used [INFO] [stdout] --> src/mapping/fields.rs:870:8 [INFO] [stdout] | [INFO] [stdout] 870 | pub fn gen_babel_field_access(node_var: &str, node_type: &str, field_name: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_swc_field_access` is never used [INFO] [stdout] --> src/mapping/fields.rs:879:8 [INFO] [stdout] | [INFO] [stdout] 879 | pub fn gen_swc_field_access(node_var: &str, node_type: &str, field_name: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `HELPER_MAPPINGS` is never used [INFO] [stdout] --> src/mapping/helpers.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub static HELPER_MAPPINGS: Lazy> = Lazy::new(|| vec![ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `HELPER_MAP` is never used [INFO] [stdout] --> src/mapping/helpers.rs:269:12 [INFO] [stdout] | [INFO] [stdout] 269 | pub static HELPER_MAP: Lazy> = Lazy::new(|| { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_helper` is never used [INFO] [stdout] --> src/mapping/helpers.rs:277:8 [INFO] [stdout] | [INFO] [stdout] 277 | pub fn get_helper(name: &str) -> Option<&'static HelperMapping> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_babel_helper` is never used [INFO] [stdout] --> src/mapping/helpers.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 295 | pub fn gen_babel_helper(name: &str, args: &[&str]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_swc_helper` is never used [INFO] [stdout] --> src/mapping/helpers.rs:311:8 [INFO] [stdout] | [INFO] [stdout] 311 | pub fn gen_swc_helper(name: &str, args: &[&str]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_babel_type_check` is never used [INFO] [stdout] --> src/mapping/patterns.rs:185:8 [INFO] [stdout] | [INFO] [stdout] 185 | pub fn gen_babel_type_check(node_var: &str, node_type: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_swc_type_check` is never used [INFO] [stdout] --> src/mapping/patterns.rs:196:8 [INFO] [stdout] | [INFO] [stdout] 196 | pub fn gen_swc_type_check(node_var: &str, node_type: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_swc_if_let` is never used [INFO] [stdout] --> src/mapping/patterns.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 207 | pub fn gen_swc_if_let(node_var: &str, node_type: &str, body: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_swc_match_arm` is never used [INFO] [stdout] --> src/mapping/patterns.rs:219:8 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn gen_swc_match_arm(node_type: &str, body: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_babel_matches` is never used [INFO] [stdout] --> src/mapping/patterns.rs:230:8 [INFO] [stdout] | [INFO] [stdout] 230 | pub fn gen_babel_matches(node_var: &str, node_type: &str, field_checks: &[(&str, &str)]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_swc_matches` is never used [INFO] [stdout] --> src/mapping/patterns.rs:241:8 [INFO] [stdout] | [INFO] [stdout] 241 | pub fn gen_swc_matches(node_var: &str, node_type: &str, field_checks: &[(&str, &str)]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TsTypeHelpers` is never constructed [INFO] [stdout] --> src/mapping/ts_helpers.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct TsTypeHelpers; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/mapping/ts_helpers.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl TsTypeHelpers { [INFO] [stdout] | ------------------ associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn is_ts_string_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn is_ts_string_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn is_ts_number_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn is_ts_number_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn is_ts_boolean_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn is_ts_boolean_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn is_ts_any_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn is_ts_any_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn is_ts_void_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn is_ts_void_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn is_ts_type_reference_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn is_ts_type_reference_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn get_type_name_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn get_type_name_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn get_type_args_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn get_type_args_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn is_ts_array_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn is_ts_array_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn get_array_element_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn get_array_element_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn is_ts_union_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn is_ts_union_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_union_types_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn get_union_types_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `generate` [INFO] [stdout] --> src/main.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | use reluxscript::{generate, Target, lower}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BabelGenerator` and `SwcEmitter` [INFO] [stdout] --> src/main.rs:843:32 [INFO] [stdout] | [INFO] [stdout] 843 | use reluxscript::codegen::{BabelGenerator, SwcEmitter, generate_with_types_and_base_dir}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SwcDecorator` and `SwcRewriter` [INFO] [stdout] --> src/main.rs:844:23 [INFO] [stdout] | [INFO] [stdout] 844 | use reluxscript::{SwcDecorator, SwcRewriter, Target}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.47s [INFO] running `Command { std: "docker" "inspect" "4c5bc535a8ebf2c8bff2dc6a5e1928604f7caa14061b49c91bd0590070cc1a7e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4c5bc535a8ebf2c8bff2dc6a5e1928604f7caa14061b49c91bd0590070cc1a7e", kill_on_drop: false }` [INFO] [stdout] 4c5bc535a8ebf2c8bff2dc6a5e1928604f7caa14061b49c91bd0590070cc1a7e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7f3637c28b5e44be331f5d9e8dfcfd29d9e87f9232e52704f2b7a63941f7e541 [INFO] running `Command { std: "docker" "start" "-a" "7f3637c28b5e44be331f5d9e8dfcfd29d9e87f9232e52704f2b7a63941f7e541", kill_on_drop: false }` [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling winnow v0.7.13 [INFO] [stderr] Compiling indexmap v2.12.1 [INFO] [stdout] warning: unused imports: `UnaryExpr` and `UnaryOp` [INFO] [stdout] --> src/semantic/swc_lowering.rs:16:61 [INFO] [stdout] | [INFO] [stdout] 16 | PluginItem, FnDecl, Block, Stmt, Expr, IfStmt, Pattern, UnaryExpr, UnaryOp, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lexer::Span` [INFO] [stdout] --> src/semantic/swc_lowering.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::lexer::Span; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `get_field_mapping` [INFO] [stdout] --> src/codegen/babel.rs:4:69 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::mapping::{get_node_mapping, get_node_mapping_by_visitor, get_field_mapping}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::type_context::TypeEnvironment` [INFO] [stdout] --> src/codegen/swc_stub.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use super::type_context::TypeEnvironment; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SwcTypeKind` and `get_swc_variant` [INFO] [stdout] --> src/codegen/swc_patterns.rs:7:57 [INFO] [stdout] | [INFO] [stdout] 7 | ...ntext, TypeEnvironment, get_swc_variant, get_swc_variant_in_context, get_typed_field_mapping, SwcTypeKind}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/codegen/swc_decorator.rs:1572:24 [INFO] [stdout] | [INFO] [stdout] 1572 | if (ctx.swc_type == "Unknown" || ctx.swc_type == "UserDefined") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1572 - if (ctx.swc_type == "Unknown" || ctx.swc_type == "UserDefined") { [INFO] [stdout] 1572 + if ctx.swc_type == "Unknown" || ctx.swc_type == "UserDefined" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `get_field_mapping` [INFO] [stdout] --> src/codegen/swc_decorator.rs:2780:48 [INFO] [stdout] | [INFO] [stdout] 2780 | use crate::mapping::{get_node_mapping, get_field_mapping}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::Literal` [INFO] [stdout] --> src/codegen/swc_rewriter.rs:3559:13 [INFO] [stdout] | [INFO] [stdout] 3559 | use crate::parser::Literal; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DecoratedInlineVisitor` and `DecoratedVisitorMethod` [INFO] [stdout] --> src/codegen/swc_hoister.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | DecoratedInlineVisitor, DecoratedVisitorMethod, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Block`, `FnDecl`, `TraverseKind`, and `TraverseStmt` [INFO] [stdout] --> src/codegen/swc_hoister.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | TraverseStmt, TraverseKind, Pattern, Type, Block, FnDecl, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::Literal` [INFO] [stdout] --> src/codegen/swc_hoister.rs:483:13 [INFO] [stdout] | [INFO] [stdout] 483 | use crate::parser::Literal; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::Stmt` [INFO] [stdout] --> src/codegen/swc_hoister.rs:838:13 [INFO] [stdout] | [INFO] [stdout] 838 | use crate::parser::Stmt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::type_system::TypeContext` [INFO] [stdout] --> src/codegen/swc_hoister.rs:840:13 [INFO] [stdout] | [INFO] [stdout] 840 | use crate::type_system::TypeContext; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DecoratedExprKind` [INFO] [stdout] --> src/codegen/swc_emit.rs:305:60 [INFO] [stdout] | [INFO] [stdout] 305 | use crate::codegen::decorated_ast::{DecoratedStmt, DecoratedExprKind}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Span` [INFO] [stdout] --> src/autofix/token_rewriter.rs:5:38 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::lexer::{Token, TokenKind, Span}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser/parser.rs:1168:13 [INFO] [stdout] | [INFO] [stdout] 1168 | let mut else_if_branches = Vec::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/parser/parser.rs:2849:21 [INFO] [stdout] | [INFO] [stdout] 2849 | let span = self.current_span(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variant_name` [INFO] [stdout] --> src/codegen/babel.rs:1617:29 [INFO] [stdout] | [INFO] [stdout] 1617 | let variant_name = if name.contains("::") { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variant_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inner` [INFO] [stdout] --> src/codegen/babel.rs:3168:38 [INFO] [stdout] | [INFO] [stdout] 3168 | Pattern::Variant { name, inner } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `inner: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/codegen/type_context.rs:956:9 [INFO] [stdout] | [INFO] [stdout] 854 | ("ArrayPat", "elements") => Some(TypedFieldMapping { [INFO] [stdout] | ------------------------ matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 956 | ("ArrayPat", "elements") => Some(TypedFieldMapping { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operand` [INFO] [stdout] --> src/codegen/swc_decorator.rs:676:75 [INFO] [stdout] | [INFO] [stdout] 676 | let condition_type_string = if let DecoratedExprKind::Unary { op, ref operand, .. } = &decorated_condition.kind { [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `operand: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/codegen/swc_decorator.rs:2378:21 [INFO] [stdout] | [INFO] [stdout] 2378 | let mut expr = Box::new(self.decorate_expr(&ref_expr.expr)); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `unwrap_expr` [INFO] [stdout] --> src/codegen/swc_rewriter.rs:847:13 [INFO] [stdout] | [INFO] [stdout] 847 | unwrap_expr, [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `unwrap_expr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lit` [INFO] [stdout] --> src/codegen/swc_rewriter.rs:1361:40 [INFO] [stdout] | [INFO] [stdout] 1361 | DecoratedExprKind::Literal(ref lit) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mutable` [INFO] [stdout] --> src/codegen/swc_hoister.rs:72:29 [INFO] [stdout] | [INFO] [stdout] 72 | TypeInfo::Ref { mutable, inner } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `mutable: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `assign` [INFO] [stdout] --> src/codegen/swc_emit.rs:1236:49 [INFO] [stdout] | [INFO] [stdout] 1236 | DecoratedStmt::CustomPropAssignment(assign) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_assign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/codegen/swc_emit.rs:1807:55 [INFO] [stdout] | [INFO] [stdout] 1807 | if let DecoratedExprKind::Ident { name, .. } = &object.kind { [INFO] [stdout] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variant` [INFO] [stdout] --> src/codegen/swc_emit.rs:2094:65 [INFO] [stdout] | [INFO] [stdout] 2094 | let needs_enum_wrap = if let Some((parent_enum, variant)) = &right.metadata.needs_enum_unwrap { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variant` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `access` [INFO] [stdout] --> src/codegen/swc_emit.rs:2186:49 [INFO] [stdout] | [INFO] [stdout] 2186 | DecoratedExprKind::CustomPropAccess(access) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_access` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/codegen/swc_emit.rs:3516:13 [INFO] [stdout] | [INFO] [stdout] 3516 | let mut lines: Vec<&str> = code.lines().collect(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_span` [INFO] [stdout] --> src/autofix/token_rewriter.rs:106:17 [INFO] [stdout] | [INFO] [stdout] 106 | let start_span = self.tokens[self.position].span; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `parse_struct` and `parse_enum` are never used [INFO] [stdout] --> src/parser/parser.rs:468:8 [INFO] [stdout] | [INFO] [stdout] 37 | impl Parser { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 468 | fn parse_struct(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 561 | fn parse_enum(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `current_plugin_self` is never read [INFO] [stdout] --> src/semantic/type_checker.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct TypeChecker { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 15 | current_plugin_self: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `swc_field`, `swc_variant`, and `is_boxed` are never read [INFO] [stdout] --> src/semantic/hoist_unwraps.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 47 | struct ChainLink { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 51 | swc_field: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | swc_variant: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | is_boxed: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ChainLink` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `final_swc_field` is never read [INFO] [stdout] --> src/semantic/hoist_unwraps.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 64 | struct ChainAnalysis { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 74 | final_swc_field: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ChainAnalysis` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `path_var` are never read [INFO] [stdout] --> src/codegen/babel.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 8 | struct TraverseContext { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | id: usize, [INFO] [stdout] | ^^ [INFO] [stdout] 13 | /// The path variable name that should be used for traverse calls [INFO] [stdout] 14 | path_var: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TraverseContext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `in_traverse` and `gen_method` are never used [INFO] [stdout] --> src/codegen/babel.rs:142:8 [INFO] [stdout] | [INFO] [stdout] 64 | impl BabelGenerator { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 142 | fn in_traverse(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 772 | fn gen_method(&mut self, f: &FnDecl) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `map_reluxscript_to_swc` is never used [INFO] [stdout] --> src/codegen/swc_patterns.rs:434:12 [INFO] [stdout] | [INFO] [stdout] 434 | pub fn map_reluxscript_to_swc(rs_type: &str) -> (String, super::super::type_context::SwcTypeKind) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `add_pattern_bindings_to_env` is never used [INFO] [stdout] --> src/codegen/swc_decorator.rs:1242:8 [INFO] [stdout] | [INFO] [stdout] 57 | impl SwcDecorator { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1242 | fn add_pattern_bindings_to_env(&mut self, pattern: &Pattern, decorated: &DecoratedPattern) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `visitor_method_to_swc` is never used [INFO] [stdout] --> src/codegen/swc_hoister.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 49 | impl SwcHoister { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 101 | fn visitor_method_to_swc(&self, method_name: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `params` is never read [INFO] [stdout] --> src/codegen/swc_hoister.rs:831:5 [INFO] [stdout] | [INFO] [stdout] 828 | struct CaptureTransformer { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 831 | params: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `transform_stmt` is never used [INFO] [stdout] --> src/codegen/swc_hoister.rs:837:8 [INFO] [stdout] | [INFO] [stdout] 835 | impl CaptureTransformer { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] 836 | /// Transform a statement, prefixing captured variables with self. [INFO] [stdout] 837 | fn transform_stmt(&mut self, stmt: &crate::parser::Stmt) -> DecoratedStmt { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `custom_prop_types` is never read [INFO] [stdout] --> src/codegen/swc_emit.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct SwcEmitter { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 60 | custom_prop_types: std::collections::HashSet, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_path_qualified_pattern`, `emit_parser_expr`, `emit_parser_stmt`, `emit_parser_stmt_with_context`, `emit`, and `emit_undecorated_expr` are never used [INFO] [stdout] --> src/codegen/swc_emit.rs:1289:8 [INFO] [stdout] | [INFO] [stdout] 71 | impl SwcEmitter { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1289 | fn is_path_qualified_pattern(&self, pattern: &DecoratedPattern) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2756 | fn emit_parser_expr(&mut self, expr: &Expr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2853 | fn emit_parser_stmt(&mut self, stmt: &Stmt) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2857 | fn emit_parser_stmt_with_context(&mut self, stmt: &Stmt, is_last_in_block: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2952 | fn emit(&mut self, s: &str) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 2978 | fn emit_undecorated_expr(&mut self, expr: &Expr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reluxscript_to_swc` is never used [INFO] [stdout] --> src/mapping/nodes.rs:827:8 [INFO] [stdout] | [INFO] [stdout] 827 | pub fn reluxscript_to_swc(reluxscript_name: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reluxscript_to_babel` is never used [INFO] [stdout] --> src/mapping/nodes.rs:854:8 [INFO] [stdout] | [INFO] [stdout] 854 | pub fn reluxscript_to_babel(reluxscript_name: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_fields_for_node` is never used [INFO] [stdout] --> src/mapping/fields.rs:862:8 [INFO] [stdout] | [INFO] [stdout] 862 | pub fn get_fields_for_node(node_type: &str) -> Vec<&'static FieldMapping> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_babel_field_access` is never used [INFO] [stdout] --> src/mapping/fields.rs:870:8 [INFO] [stdout] | [INFO] [stdout] 870 | pub fn gen_babel_field_access(node_var: &str, node_type: &str, field_name: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_swc_field_access` is never used [INFO] [stdout] --> src/mapping/fields.rs:879:8 [INFO] [stdout] | [INFO] [stdout] 879 | pub fn gen_swc_field_access(node_var: &str, node_type: &str, field_name: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `HELPER_MAPPINGS` is never used [INFO] [stdout] --> src/mapping/helpers.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub static HELPER_MAPPINGS: Lazy> = Lazy::new(|| vec![ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `HELPER_MAP` is never used [INFO] [stdout] --> src/mapping/helpers.rs:269:12 [INFO] [stdout] | [INFO] [stdout] 269 | pub static HELPER_MAP: Lazy> = Lazy::new(|| { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_helper` is never used [INFO] [stdout] --> src/mapping/helpers.rs:277:8 [INFO] [stdout] | [INFO] [stdout] 277 | pub fn get_helper(name: &str) -> Option<&'static HelperMapping> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_babel_helper` is never used [INFO] [stdout] --> src/mapping/helpers.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 295 | pub fn gen_babel_helper(name: &str, args: &[&str]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_swc_helper` is never used [INFO] [stdout] --> src/mapping/helpers.rs:311:8 [INFO] [stdout] | [INFO] [stdout] 311 | pub fn gen_swc_helper(name: &str, args: &[&str]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_babel_type_check` is never used [INFO] [stdout] --> src/mapping/patterns.rs:185:8 [INFO] [stdout] | [INFO] [stdout] 185 | pub fn gen_babel_type_check(node_var: &str, node_type: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_swc_type_check` is never used [INFO] [stdout] --> src/mapping/patterns.rs:196:8 [INFO] [stdout] | [INFO] [stdout] 196 | pub fn gen_swc_type_check(node_var: &str, node_type: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_swc_if_let` is never used [INFO] [stdout] --> src/mapping/patterns.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 207 | pub fn gen_swc_if_let(node_var: &str, node_type: &str, body: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_swc_match_arm` is never used [INFO] [stdout] --> src/mapping/patterns.rs:219:8 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn gen_swc_match_arm(node_type: &str, body: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_babel_matches` is never used [INFO] [stdout] --> src/mapping/patterns.rs:230:8 [INFO] [stdout] | [INFO] [stdout] 230 | pub fn gen_babel_matches(node_var: &str, node_type: &str, field_checks: &[(&str, &str)]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_swc_matches` is never used [INFO] [stdout] --> src/mapping/patterns.rs:241:8 [INFO] [stdout] | [INFO] [stdout] 241 | pub fn gen_swc_matches(node_var: &str, node_type: &str, field_checks: &[(&str, &str)]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TsTypeHelpers` is never constructed [INFO] [stdout] --> src/mapping/ts_helpers.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct TsTypeHelpers; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/mapping/ts_helpers.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl TsTypeHelpers { [INFO] [stdout] | ------------------ associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn is_ts_string_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn is_ts_string_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn is_ts_number_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn is_ts_number_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn is_ts_boolean_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn is_ts_boolean_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn is_ts_any_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn is_ts_any_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn is_ts_void_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn is_ts_void_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn is_ts_type_reference_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn is_ts_type_reference_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn get_type_name_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn get_type_name_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn get_type_args_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn get_type_args_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn is_ts_array_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn is_ts_array_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn get_array_element_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn get_array_element_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn is_ts_union_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn is_ts_union_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_union_types_babel() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn get_union_types_swc() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling reluxscript v0.1.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `generate` [INFO] [stdout] --> src/main.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | use reluxscript::{generate, Target, lower}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BabelGenerator` and `SwcEmitter` [INFO] [stdout] --> src/main.rs:843:32 [INFO] [stdout] | [INFO] [stdout] 843 | use reluxscript::codegen::{BabelGenerator, SwcEmitter, generate_with_types_and_base_dir}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SwcDecorator` and `SwcRewriter` [INFO] [stdout] --> src/main.rs:844:23 [INFO] [stdout] | [INFO] [stdout] 844 | use reluxscript::{SwcDecorator, SwcRewriter, Target}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `UnaryExpr` and `UnaryOp` [INFO] [stdout] --> src/semantic/swc_lowering.rs:16:61 [INFO] [stdout] | [INFO] [stdout] 16 | PluginItem, FnDecl, Block, Stmt, Expr, IfStmt, Pattern, UnaryExpr, UnaryOp, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lexer::Span` [INFO] [stdout] --> src/semantic/swc_lowering.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::lexer::Span; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `get_field_mapping` [INFO] [stdout] --> src/codegen/babel.rs:4:69 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::mapping::{get_node_mapping, get_node_mapping_by_visitor, get_field_mapping}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::type_context::TypeEnvironment` [INFO] [stdout] --> src/codegen/swc_stub.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use super::type_context::TypeEnvironment; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SwcTypeKind` and `get_swc_variant` [INFO] [stdout] --> src/codegen/swc_patterns.rs:7:57 [INFO] [stdout] | [INFO] [stdout] 7 | ...ntext, TypeEnvironment, get_swc_variant, get_swc_variant_in_context, get_typed_field_mapping, SwcTypeKind}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/codegen/swc_decorator.rs:1572:24 [INFO] [stdout] | [INFO] [stdout] 1572 | if (ctx.swc_type == "Unknown" || ctx.swc_type == "UserDefined") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1572 - if (ctx.swc_type == "Unknown" || ctx.swc_type == "UserDefined") { [INFO] [stdout] 1572 + if ctx.swc_type == "Unknown" || ctx.swc_type == "UserDefined" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `get_field_mapping` [INFO] [stdout] --> src/codegen/swc_decorator.rs:2780:48 [INFO] [stdout] | [INFO] [stdout] 2780 | use crate::mapping::{get_node_mapping, get_field_mapping}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::Literal` [INFO] [stdout] --> src/codegen/swc_rewriter.rs:3559:13 [INFO] [stdout] | [INFO] [stdout] 3559 | use crate::parser::Literal; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DecoratedInlineVisitor` and `DecoratedVisitorMethod` [INFO] [stdout] --> src/codegen/swc_hoister.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | DecoratedInlineVisitor, DecoratedVisitorMethod, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Block`, `FnDecl`, `TraverseKind`, and `TraverseStmt` [INFO] [stdout] --> src/codegen/swc_hoister.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | TraverseStmt, TraverseKind, Pattern, Type, Block, FnDecl, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::Literal` [INFO] [stdout] --> src/codegen/swc_hoister.rs:483:13 [INFO] [stdout] | [INFO] [stdout] 483 | use crate::parser::Literal; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::Stmt` [INFO] [stdout] --> src/codegen/swc_hoister.rs:838:13 [INFO] [stdout] | [INFO] [stdout] 838 | use crate::parser::Stmt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::type_system::TypeContext` [INFO] [stdout] --> src/codegen/swc_hoister.rs:840:13 [INFO] [stdout] | [INFO] [stdout] 840 | use crate::type_system::TypeContext; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DecoratedExprKind` [INFO] [stdout] --> src/codegen/swc_emit.rs:305:60 [INFO] [stdout] | [INFO] [stdout] 305 | use crate::codegen::decorated_ast::{DecoratedStmt, DecoratedExprKind}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0063]: missing field `path` in initializer of `ast::IdentExpr` [INFO] [stdout] --> src/semantic/hoist_unwraps.rs:778:42 [INFO] [stdout] | [INFO] [stdout] 778 | object: Box::new(Expr::Ident(IdentExpr { [INFO] [stdout] | ^^^^^^^^^ missing `path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0063]: missing field `path` in initializer of `ast::MemberExpr` [INFO] [stdout] --> src/semantic/hoist_unwraps.rs:777:33 [INFO] [stdout] | [INFO] [stdout] 777 | let expr = Expr::Member(MemberExpr { [INFO] [stdout] | ^^^^^^^^^^ missing `path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0063]: missing field `path` in initializer of `ast::IdentExpr` [INFO] [stdout] --> src/semantic/hoist_unwraps.rs:805:46 [INFO] [stdout] | [INFO] [stdout] 805 | object: Box::new(Expr::Ident(IdentExpr { [INFO] [stdout] | ^^^^^^^^^ missing `path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0063]: missing field `path` in initializer of `ast::MemberExpr` [INFO] [stdout] --> src/semantic/hoist_unwraps.rs:804:43 [INFO] [stdout] | [INFO] [stdout] 804 | object: Box::new(Expr::Member(MemberExpr { [INFO] [stdout] | ^^^^^^^^^^ missing `path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0063]: missing field `path` in initializer of `ast::MemberExpr` [INFO] [stdout] --> src/semantic/hoist_unwraps.rs:803:33 [INFO] [stdout] | [INFO] [stdout] 803 | let expr = Expr::Member(MemberExpr { [INFO] [stdout] | ^^^^^^^^^^ missing `path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0063]: missing field `path` in initializer of `ast::IdentExpr` [INFO] [stdout] --> src/codegen/swc_patterns.rs:455:42 [INFO] [stdout] | [INFO] [stdout] 455 | callee: Box::new(Expr::Ident(IdentExpr { [INFO] [stdout] | ^^^^^^^^^ missing `path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0063]: missing field `path` in initializer of `ast::IdentExpr` [INFO] [stdout] --> src/codegen/swc_patterns.rs:460:29 [INFO] [stdout] | [INFO] [stdout] 460 | Expr::Ident(IdentExpr { [INFO] [stdout] | ^^^^^^^^^ missing `path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0063]: missing field `path` in initializer of `ast::IdentExpr` [INFO] [stdout] --> src/codegen/swc_patterns.rs:464:29 [INFO] [stdout] | [INFO] [stdout] 464 | Expr::Ident(IdentExpr { [INFO] [stdout] | ^^^^^^^^^ missing `path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0063]: missing field `path` in initializer of `ast::CallExpr` [INFO] [stdout] --> src/codegen/swc_patterns.rs:454:31 [INFO] [stdout] | [INFO] [stdout] 454 | let expr = Expr::Call(CallExpr { [INFO] [stdout] | ^^^^^^^^ missing `path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser/parser.rs:1168:13 [INFO] [stdout] | [INFO] [stdout] 1168 | let mut else_if_branches = Vec::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/parser/parser.rs:2849:21 [INFO] [stdout] | [INFO] [stdout] 2849 | let span = self.current_span(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variant_name` [INFO] [stdout] --> src/codegen/babel.rs:1617:29 [INFO] [stdout] | [INFO] [stdout] 1617 | let variant_name = if name.contains("::") { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variant_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inner` [INFO] [stdout] --> src/codegen/babel.rs:3168:38 [INFO] [stdout] | [INFO] [stdout] 3168 | Pattern::Variant { name, inner } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `inner: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/codegen/type_context.rs:956:9 [INFO] [stdout] | [INFO] [stdout] 854 | ("ArrayPat", "elements") => Some(TypedFieldMapping { [INFO] [stdout] | ------------------------ matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 956 | ("ArrayPat", "elements") => Some(TypedFieldMapping { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operand` [INFO] [stdout] --> src/codegen/swc_decorator.rs:676:75 [INFO] [stdout] | [INFO] [stdout] 676 | let condition_type_string = if let DecoratedExprKind::Unary { op, ref operand, .. } = &decorated_condition.kind { [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `operand: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/codegen/swc_decorator.rs:2378:21 [INFO] [stdout] | [INFO] [stdout] 2378 | let mut expr = Box::new(self.decorate_expr(&ref_expr.expr)); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `unwrap_expr` [INFO] [stdout] --> src/codegen/swc_rewriter.rs:847:13 [INFO] [stdout] | [INFO] [stdout] 847 | unwrap_expr, [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `unwrap_expr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lit` [INFO] [stdout] --> src/codegen/swc_rewriter.rs:1361:40 [INFO] [stdout] | [INFO] [stdout] 1361 | DecoratedExprKind::Literal(ref lit) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mutable` [INFO] [stdout] --> src/codegen/swc_hoister.rs:72:29 [INFO] [stdout] | [INFO] [stdout] 72 | TypeInfo::Ref { mutable, inner } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `mutable: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `assign` [INFO] [stdout] --> src/codegen/swc_emit.rs:1236:49 [INFO] [stdout] | [INFO] [stdout] 1236 | DecoratedStmt::CustomPropAssignment(assign) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_assign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/codegen/swc_emit.rs:1807:55 [INFO] [stdout] | [INFO] [stdout] 1807 | if let DecoratedExprKind::Ident { name, .. } = &object.kind { [INFO] [stdout] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variant` [INFO] [stdout] --> src/codegen/swc_emit.rs:2094:65 [INFO] [stdout] | [INFO] [stdout] 2094 | let needs_enum_wrap = if let Some((parent_enum, variant)) = &right.metadata.needs_enum_unwrap { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variant` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `access` [INFO] [stdout] --> src/codegen/swc_emit.rs:2186:49 [INFO] [stdout] | [INFO] [stdout] 2186 | DecoratedExprKind::CustomPropAccess(access) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_access` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/codegen/swc_emit.rs:3516:13 [INFO] [stdout] | [INFO] [stdout] 3516 | let mut lines: Vec<&str> = code.lines().collect(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_span` [INFO] [stdout] --> src/autofix/token_rewriter.rs:106:17 [INFO] [stdout] | [INFO] [stdout] 106 | let start_span = self.tokens[self.position].span; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0063`. [INFO] [stdout] [INFO] [stderr] error: could not compile `reluxscript` (lib test) due to 9 previous errors; 30 warnings emitted [INFO] running `Command { std: "docker" "inspect" "7f3637c28b5e44be331f5d9e8dfcfd29d9e87f9232e52704f2b7a63941f7e541", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7f3637c28b5e44be331f5d9e8dfcfd29d9e87f9232e52704f2b7a63941f7e541", kill_on_drop: false }` [INFO] [stdout] 7f3637c28b5e44be331f5d9e8dfcfd29d9e87f9232e52704f2b7a63941f7e541