[INFO] fetching crate morpher 0.1.0...
[INFO] testing morpher-0.1.0 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-3
[INFO] extracting crate morpher 0.1.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate morpher 0.1.0
[INFO] finished tweaking crates.io crate morpher 0.1.0
[INFO] tweaked toml for crates.io crate morpher 0.1.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate morpher 0.1.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate morpher 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6199ecd283093c71d0473dbdc6b5ad65dfb739b216d754903fce7f2e91df0cda
[INFO] running `Command { std: "docker" "start" "6199ecd283093c71d0473dbdc6b5ad65dfb739b216d754903fce7f2e91df0cda", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6199ecd283093c71d0473dbdc6b5ad65dfb739b216d754903fce7f2e91df0cda", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6199ecd283093c71d0473dbdc6b5ad65dfb739b216d754903fce7f2e91df0cda" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6199ecd283093c71d0473dbdc6b5ad65dfb739b216d754903fce7f2e91df0cda", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6199ecd283093c71d0473dbdc6b5ad65dfb739b216d754903fce7f2e91df0cda" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling siphasher v1.0.3
[INFO] [stderr]    Compiling syn v3.0.4
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]    Compiling smawk v0.3.3
[INFO] [stderr]    Compiling unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling oxc_data_structures v0.147.0
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling oxc_estree v0.147.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling unicode-id-start v1.4.0
[INFO] [stderr]    Compiling cow-utils v0.1.3
[INFO] [stderr]    Compiling compact_str v0.10.0
[INFO] [stderr]    Compiling dragonbox_ecma v0.1.12
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling phf_shared v0.14.0
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling rand v0.8.8
[INFO] [stderr]    Compiling phf_shared v0.13.1
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling nonmax v0.5.5
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling phf v0.14.0
[INFO] [stderr]    Compiling phf_generator v0.14.0
[INFO] [stderr]    Compiling phf_generator v0.13.1
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]    Compiling dtoa v1.0.11
[INFO] [stderr]    Compiling dtoa-short v0.3.5
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling zerocopy v0.8.56
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling outref v0.1.0
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling rkyv v0.7.46
[INFO] [stderr]    Compiling simd-abstraction v0.7.1
[INFO] [stderr]    Compiling num-integer v0.1.47
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling either v1.18.0
[INFO] [stderr]    Compiling matches v0.1.10
[INFO] [stderr]    Compiling seahash v4.1.0
[INFO] [stderr]    Compiling data-url v0.1.1
[INFO] [stderr]    Compiling parcel_selectors v0.28.3
[INFO] [stderr]    Compiling oxc_allocator v0.147.0
[INFO] [stderr]    Compiling num-bigint v0.5.1
[INFO] [stderr]    Compiling base64-simd v0.7.0
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling vlq v0.5.1
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling log v0.4.34
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling compact_str v0.7.1
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling pastey v0.1.1
[INFO] [stderr]    Compiling seq-macro v0.3.6
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling pathdiff v0.2.3
[INFO] [stderr]    Compiling const-str v1.1.0
[INFO] [stderr]    Compiling oxc_str v0.147.0
[INFO] [stderr]    Compiling data-encoding v2.11.1
[INFO] [stderr]    Compiling oxc_index v0.13.5
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling oxc_ast_macros v0.147.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling oxc_span v0.147.0
[INFO] [stderr]    Compiling phf_macros v0.14.0
[INFO] [stderr]    Compiling phf_macros v0.13.1
[INFO] [stderr]    Compiling cssparser-macros v0.7.0
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling miette-derive v7.6.0
[INFO] [stderr]    Compiling ptr_meta_derive v0.1.4
[INFO] [stderr]    Compiling rkyv_derive v0.7.46
[INFO] [stderr]    Compiling lightningcss-derive v1.0.0-alpha.43
[INFO] [stderr]    Compiling ptr_meta v0.1.4
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling phf v0.13.1
[INFO] [stderr]    Compiling miette v7.6.0
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling oxc_span v0.13.5
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling oxc_index v5.0.0
[INFO] [stderr]    Compiling serde-content v0.1.2
[INFO] [stderr]    Compiling oxc_diagnostics v0.147.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling cssparser v0.37.0
[INFO] [stderr]    Compiling oxc_syntax v0.147.0
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling oxc_syntax v0.13.5
[INFO] [stderr]    Compiling oxc_regular_expression v0.147.0
[INFO] [stderr]    Compiling cssparser-color v0.5.0
[INFO] [stderr]    Compiling parcel_sourcemap v2.1.1
[INFO] [stderr]    Compiling lightningcss v1.0.0-alpha.72
[INFO] [stderr]    Compiling oxc_ast v0.147.0
[INFO] [stderr]    Compiling oxc_ecmascript v0.147.0
[INFO] [stderr]    Compiling oxc_ast_visit v0.147.0
[INFO] [stderr]    Compiling oxc_parser v0.147.0
[INFO] [stderr]    Compiling morph-parser v0.1.0
[INFO] [stderr]    Compiling morpher v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `AnalysisResult`
[INFO] [stdout]  --> src/codegen/cpp.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::analyzer::{AnalysisResult, EscapeAnalyzer, EscapeKind, WidenedType};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/codegen/cpp.rs:131:31
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn span_text(&self, span: oxc_span::Span) -> &'a str {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W unused-qualifications`
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 131 -     fn span_text(&self, span: oxc_span::Span) -> &'a str {
[INFO] [stdout] 131 +     fn span_text(&self, span: Span) -> &'a str {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/codegen/cpp.rs:2288:38
[INFO] [stdout]      |
[INFO] [stdout] 2288 |                     let param_names: std::collections::HashSet<String> = m
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 2288 -                     let param_names: std::collections::HashSet<String> = m
[INFO] [stdout] 2288 +                     let param_names: HashSet<String> = m
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/codegen/cpp.rs:3026:21
[INFO] [stdout]      |
[INFO] [stdout] 3026 |         var_types: &std::collections::HashMap<String, String>,
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 3026 -         var_types: &std::collections::HashMap<String, String>,
[INFO] [stdout] 3026 +         var_types: &HashMap<String, String>,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/codegen/rust.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn span_text(&self, span: oxc_span::Span) -> &'a str {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 18 -     fn span_text(&self, span: oxc_span::Span) -> &'a str {
[INFO] [stdout] 18 +     fn span_text(&self, span: Span) -> &'a str {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `SourceType` is imported redundantly
[INFO] [stdout]  --> src/linter.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | use oxc_ast::ast::*;
[INFO] [stdout]   |     --------------- the item `SourceType` is already imported here
[INFO] [stdout] 3 | use oxc_parser::Parser;
[INFO] [stdout] 4 | use oxc_span::{GetSpan, SourceType, Span};
[INFO] [stdout]   |                         ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: requested on the command line with `-W redundant-imports`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Span` is imported redundantly
[INFO] [stdout]  --> src/linter.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 2 | use oxc_ast::ast::*;
[INFO] [stdout]   |     --------------- the item `Span` is already imported here
[INFO] [stdout] 3 | use oxc_parser::Parser;
[INFO] [stdout] 4 | use oxc_span::{GetSpan, SourceType, Span};
[INFO] [stdout]   |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/lib.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     parser::translate_to_cpp(source, filename, options)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 45 -     parser::translate_to_cpp(source, filename, options)
[INFO] [stdout] 45 +     translate_to_cpp(source, filename, options)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/lib.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let code = parser::translate_snippet_to_cpp(source, filename, options)?;
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 128 -     let code = parser::translate_snippet_to_cpp(source, filename, options)?;
[INFO] [stdout] 128 +     let code = translate_snippet_to_cpp(source, filename, options)?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/lib.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 143 |     parser::translate_to_rust(source, filename, 0)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 143 -     parser::translate_to_rust(source, filename, 0)
[INFO] [stdout] 143 +     translate_to_rust(source, filename, 0)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/codegen/analyzer.rs:1171:13
[INFO] [stdout]      |
[INFO] [stdout] 1171 |             _ => {}
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/codegen/analyzer.rs:1171:13
[INFO] [stdout]      |
[INFO] [stdout] 1138 |             BindingPattern::BindingIdentifier(id) => {
[INFO] [stdout]      |             ------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1141 |             BindingPattern::ObjectPattern(object) => {
[INFO] [stdout]      |             ------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1156 |             BindingPattern::ArrayPattern(array) => {
[INFO] [stdout]      |             ----------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1168 |             BindingPattern::AssignmentPattern(assign) => {
[INFO] [stdout]      |             ----------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1171 |             _ => {}
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/codegen/analyzer.rs:1786:13
[INFO] [stdout]      |
[INFO] [stdout] 1786 |             _ => {}
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/codegen/analyzer.rs:1786:13
[INFO] [stdout]      |
[INFO] [stdout] 1767 |             ChainElement::CallExpression(c) => {
[INFO] [stdout]      |             ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1773 |             ChainElement::StaticMemberExpression(m) => {
[INFO] [stdout]      |             --------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1776 |             ChainElement::PrivateFieldExpression(m) => {
[INFO] [stdout]      |             --------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1779 |             ChainElement::ComputedMemberExpression(m) => {
[INFO] [stdout]      |             ----------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1786 |             _ => {}
[INFO] [stdout]      |             ^ ...and 1 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/codegen/js_comparison.rs:273:23
[INFO] [stdout]     |
[INFO] [stdout] 265 |                     OperandClass::Text | OperandClass::JsString => {
[INFO] [stdout]     |                                          ---------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 273 |                     | OperandClass::JsString
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `emit_std_vector_literal` is never used
[INFO] [stdout]     --> src/codegen/cpp.rs:3975:8
[INFO] [stdout]      |
[INFO] [stdout]  107 | impl<'a> CppTranslator<'a> {
[INFO] [stdout]      | -------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 3975 |     fn emit_std_vector_literal(&mut self, init: &Expression<'a>) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `oxc_syntax`
[INFO] [stderr]   --> Cargo.toml:25:15
[INFO] [stderr]    |
[INFO] [stderr] 25 | [dependencies.oxc_syntax]
[INFO] [stderr]    |               ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `oxc_syntax`
[INFO] [stderr] warning: `morpher` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 54s
[INFO] running `Command { std: "docker" "inspect" "6199ecd283093c71d0473dbdc6b5ad65dfb739b216d754903fce7f2e91df0cda", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6199ecd283093c71d0473dbdc6b5ad65dfb739b216d754903fce7f2e91df0cda" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `AnalysisResult`
[INFO] [stdout]  --> src/codegen/cpp.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::analyzer::{AnalysisResult, EscapeAnalyzer, EscapeKind, WidenedType};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/codegen/cpp.rs:131:31
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn span_text(&self, span: oxc_span::Span) -> &'a str {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W unused-qualifications`
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 131 -     fn span_text(&self, span: oxc_span::Span) -> &'a str {
[INFO] [stdout] 131 +     fn span_text(&self, span: Span) -> &'a str {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/codegen/cpp.rs:2288:38
[INFO] [stdout]      |
[INFO] [stdout] 2288 |                     let param_names: std::collections::HashSet<String> = m
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 2288 -                     let param_names: std::collections::HashSet<String> = m
[INFO] [stdout] 2288 +                     let param_names: HashSet<String> = m
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/codegen/cpp.rs:3026:21
[INFO] [stdout]      |
[INFO] [stdout] 3026 |         var_types: &std::collections::HashMap<String, String>,
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 3026 -         var_types: &std::collections::HashMap<String, String>,
[INFO] [stdout] 3026 +         var_types: &HashMap<String, String>,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/codegen/rust.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn span_text(&self, span: oxc_span::Span) -> &'a str {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 18 -     fn span_text(&self, span: oxc_span::Span) -> &'a str {
[INFO] [stdout] 18 +     fn span_text(&self, span: Span) -> &'a str {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `SourceType` is imported redundantly
[INFO] [stdout]  --> src/linter.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | use oxc_ast::ast::*;
[INFO] [stdout]   |     --------------- the item `SourceType` is already imported here
[INFO] [stdout] 3 | use oxc_parser::Parser;
[INFO] [stdout] 4 | use oxc_span::{GetSpan, SourceType, Span};
[INFO] [stdout]   |                         ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: requested on the command line with `-W redundant-imports`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Span` is imported redundantly
[INFO] [stdout]  --> src/linter.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 2 | use oxc_ast::ast::*;
[INFO] [stdout]   |     --------------- the item `Span` is already imported here
[INFO] [stdout] 3 | use oxc_parser::Parser;
[INFO] [stdout] 4 | use oxc_span::{GetSpan, SourceType, Span};
[INFO] [stdout]   |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/lib.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     parser::translate_to_cpp(source, filename, options)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 45 -     parser::translate_to_cpp(source, filename, options)
[INFO] [stdout] 45 +     translate_to_cpp(source, filename, options)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/lib.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let code = parser::translate_snippet_to_cpp(source, filename, options)?;
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 128 -     let code = parser::translate_snippet_to_cpp(source, filename, options)?;
[INFO] [stdout] 128 +     let code = translate_snippet_to_cpp(source, filename, options)?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/lib.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 143 |     parser::translate_to_rust(source, filename, 0)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 143 -     parser::translate_to_rust(source, filename, 0)
[INFO] [stdout] 143 +     translate_to_rust(source, filename, 0)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/codegen/analyzer.rs:1171:13
[INFO] [stdout]      |
[INFO] [stdout] 1171 |             _ => {}
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/codegen/analyzer.rs:1171:13
[INFO] [stdout]      |
[INFO] [stdout] 1138 |             BindingPattern::BindingIdentifier(id) => {
[INFO] [stdout]      |             ------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1141 |             BindingPattern::ObjectPattern(object) => {
[INFO] [stdout]      |             ------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1156 |             BindingPattern::ArrayPattern(array) => {
[INFO] [stdout]      |             ----------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1168 |             BindingPattern::AssignmentPattern(assign) => {
[INFO] [stdout]      |             ----------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1171 |             _ => {}
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/codegen/analyzer.rs:1786:13
[INFO] [stdout]      |
[INFO] [stdout] 1786 |             _ => {}
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/codegen/analyzer.rs:1786:13
[INFO] [stdout]      |
[INFO] [stdout] 1767 |             ChainElement::CallExpression(c) => {
[INFO] [stdout]      |             ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1773 |             ChainElement::StaticMemberExpression(m) => {
[INFO] [stdout]      |             --------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1776 |             ChainElement::PrivateFieldExpression(m) => {
[INFO] [stdout]      |             --------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1779 |             ChainElement::ComputedMemberExpression(m) => {
[INFO] [stdout]      |             ----------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1786 |             _ => {}
[INFO] [stdout]      |             ^ ...and 1 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/codegen/js_comparison.rs:273:23
[INFO] [stdout]     |
[INFO] [stdout] 265 |                     OperandClass::Text | OperandClass::JsString => {
[INFO] [stdout]     |                                          ---------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 273 |                     | OperandClass::JsString
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling morpher v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: method `emit_std_vector_literal` is never used
[INFO] [stdout]     --> src/codegen/cpp.rs:3975:8
[INFO] [stdout]      |
[INFO] [stdout]  107 | impl<'a> CppTranslator<'a> {
[INFO] [stdout]      | -------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 3975 |     fn emit_std_vector_literal(&mut self, init: &Expression<'a>) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `SourceType` is imported redundantly
[INFO] [stdout]     --> src/codegen/analyzer.rs:2537:9
[INFO] [stdout]      |
[INFO] [stdout] 2534 |     use super::*;
[INFO] [stdout]      |         -------- the item `SourceType` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 2537 |     use oxc_span::SourceType;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: requested on the command line with `-W redundant-imports`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `SourceType` is imported redundantly
[INFO] [stdout]     --> src/codegen/analyzer.rs:2683:9
[INFO] [stdout]      |
[INFO] [stdout] 2680 |     use super::*;
[INFO] [stdout]      |         -------- the item `SourceType` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 2683 |     use oxc_span::SourceType;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AnalysisResult`
[INFO] [stdout]  --> src/codegen/cpp.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::analyzer::{AnalysisResult, EscapeAnalyzer, EscapeKind, WidenedType};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/codegen/cpp.rs:131:31
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn span_text(&self, span: oxc_span::Span) -> &'a str {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W unused-qualifications`
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 131 -     fn span_text(&self, span: oxc_span::Span) -> &'a str {
[INFO] [stdout] 131 +     fn span_text(&self, span: Span) -> &'a str {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/codegen/cpp.rs:2288:38
[INFO] [stdout]      |
[INFO] [stdout] 2288 |                     let param_names: std::collections::HashSet<String> = m
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 2288 -                     let param_names: std::collections::HashSet<String> = m
[INFO] [stdout] 2288 +                     let param_names: HashSet<String> = m
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/codegen/cpp.rs:3026:21
[INFO] [stdout]      |
[INFO] [stdout] 3026 |         var_types: &std::collections::HashMap<String, String>,
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 3026 -         var_types: &std::collections::HashMap<String, String>,
[INFO] [stdout] 3026 +         var_types: &HashMap<String, String>,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/codegen/rust.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn span_text(&self, span: oxc_span::Span) -> &'a str {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 18 -     fn span_text(&self, span: oxc_span::Span) -> &'a str {
[INFO] [stdout] 18 +     fn span_text(&self, span: Span) -> &'a str {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `SourceType` is imported redundantly
[INFO] [stdout]  --> src/linter.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | use oxc_ast::ast::*;
[INFO] [stdout]   |     --------------- the item `SourceType` is already imported here
[INFO] [stdout] 3 | use oxc_parser::Parser;
[INFO] [stdout] 4 | use oxc_span::{GetSpan, SourceType, Span};
[INFO] [stdout]   |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Span` is imported redundantly
[INFO] [stdout]  --> src/linter.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 2 | use oxc_ast::ast::*;
[INFO] [stdout]   |     --------------- the item `Span` is already imported here
[INFO] [stdout] 3 | use oxc_parser::Parser;
[INFO] [stdout] 4 | use oxc_span::{GetSpan, SourceType, Span};
[INFO] [stdout]   |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/lib.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     parser::translate_to_cpp(source, filename, options)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 45 -     parser::translate_to_cpp(source, filename, options)
[INFO] [stdout] 45 +     translate_to_cpp(source, filename, options)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/lib.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let code = parser::translate_snippet_to_cpp(source, filename, options)?;
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 128 -     let code = parser::translate_snippet_to_cpp(source, filename, options)?;
[INFO] [stdout] 128 +     let code = translate_snippet_to_cpp(source, filename, options)?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/lib.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 143 |     parser::translate_to_rust(source, filename, 0)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 143 -     parser::translate_to_rust(source, filename, 0)
[INFO] [stdout] 143 +     translate_to_rust(source, filename, 0)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/codegen/analyzer.rs:1171:13
[INFO] [stdout]      |
[INFO] [stdout] 1171 |             _ => {}
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/codegen/analyzer.rs:1171:13
[INFO] [stdout]      |
[INFO] [stdout] 1138 |             BindingPattern::BindingIdentifier(id) => {
[INFO] [stdout]      |             ------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1141 |             BindingPattern::ObjectPattern(object) => {
[INFO] [stdout]      |             ------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1156 |             BindingPattern::ArrayPattern(array) => {
[INFO] [stdout]      |             ----------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1168 |             BindingPattern::AssignmentPattern(assign) => {
[INFO] [stdout]      |             ----------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1171 |             _ => {}
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/codegen/analyzer.rs:1786:13
[INFO] [stdout]      |
[INFO] [stdout] 1786 |             _ => {}
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/codegen/analyzer.rs:1786:13
[INFO] [stdout]      |
[INFO] [stdout] 1767 |             ChainElement::CallExpression(c) => {
[INFO] [stdout]      |             ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1773 |             ChainElement::StaticMemberExpression(m) => {
[INFO] [stdout]      |             --------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1776 |             ChainElement::PrivateFieldExpression(m) => {
[INFO] [stdout]      |             --------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1779 |             ChainElement::ComputedMemberExpression(m) => {
[INFO] [stdout]      |             ----------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1786 |             _ => {}
[INFO] [stdout]      |             ^ ...and 1 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/codegen/js_comparison.rs:273:23
[INFO] [stdout]     |
[INFO] [stdout] 265 |                     OperandClass::Text | OperandClass::JsString => {
[INFO] [stdout]     |                                          ---------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 273 |                     | OperandClass::JsString
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `emit_std_vector_literal` is never used
[INFO] [stdout]     --> src/codegen/cpp.rs:3975:8
[INFO] [stdout]      |
[INFO] [stdout]  107 | impl<'a> CppTranslator<'a> {
[INFO] [stdout]      | -------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 3975 |     fn emit_std_vector_literal(&mut self, init: &Expression<'a>) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `oxc_syntax`
[INFO] [stderr]   --> Cargo.toml:25:15
[INFO] [stderr]    |
[INFO] [stderr] 25 | [dependencies.oxc_syntax]
[INFO] [stderr]    |               ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `oxc_syntax`
[INFO] [stderr] warning: `morpher` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 12.54s
[INFO] running `Command { std: "docker" "inspect" "6199ecd283093c71d0473dbdc6b5ad65dfb739b216d754903fce7f2e91df0cda", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6199ecd283093c71d0473dbdc6b5ad65dfb739b216d754903fce7f2e91df0cda" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `AnalysisResult`
[INFO] [stderr]  --> src/codegen/cpp.rs:5:23
[INFO] [stderr]   |
[INFO] [stderr] 5 | use super::analyzer::{AnalysisResult, EscapeAnalyzer, EscapeKind, WidenedType};
[INFO] [stderr]   |                       ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]    --> src/codegen/cpp.rs:131:31
[INFO] [stderr]     |
[INFO] [stderr] 131 |     fn span_text(&self, span: oxc_span::Span) -> &'a str {
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: requested on the command line with `-W unused-qualifications`
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]     |
[INFO] [stderr] 131 -     fn span_text(&self, span: oxc_span::Span) -> &'a str {
[INFO] [stderr] 131 +     fn span_text(&self, span: Span) -> &'a str {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]     --> src/codegen/cpp.rs:2288:38
[INFO] [stderr]      |
[INFO] [stderr] 2288 |                     let param_names: std::collections::HashSet<String> = m
[INFO] [stderr]      |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]      |
[INFO] [stderr] 2288 -                     let param_names: std::collections::HashSet<String> = m
[INFO] [stderr] 2288 +                     let param_names: HashSet<String> = m
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]     --> src/codegen/cpp.rs:3026:21
[INFO] [stderr]      |
[INFO] [stderr] 3026 |         var_types: &std::collections::HashMap<String, String>,
[INFO] [stderr]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]      |
[INFO] [stderr] 3026 -         var_types: &std::collections::HashMap<String, String>,
[INFO] [stderr] 3026 +         var_types: &HashMap<String, String>,
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/codegen/rust.rs:18:31
[INFO] [stderr]    |
[INFO] [stderr] 18 |     fn span_text(&self, span: oxc_span::Span) -> &'a str {
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 18 -     fn span_text(&self, span: oxc_span::Span) -> &'a str {
[INFO] [stderr] 18 +     fn span_text(&self, span: Span) -> &'a str {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: the item `SourceType` is imported redundantly
[INFO] [stderr]  --> src/linter.rs:4:25
[INFO] [stderr]   |
[INFO] [stderr] 2 | use oxc_ast::ast::*;
[INFO] [stderr]   |     --------------- the item `SourceType` is already imported here
[INFO] [stderr] 3 | use oxc_parser::Parser;
[INFO] [stderr] 4 | use oxc_span::{GetSpan, SourceType, Span};
[INFO] [stderr]   |                         ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: requested on the command line with `-W redundant-imports`
[INFO] [stderr] 
[INFO] [stderr] warning: the item `Span` is imported redundantly
[INFO] [stderr]  --> src/linter.rs:4:37
[INFO] [stderr]   |
[INFO] [stderr] 2 | use oxc_ast::ast::*;
[INFO] [stderr]   |     --------------- the item `Span` is already imported here
[INFO] [stderr] 3 | use oxc_parser::Parser;
[INFO] [stderr] 4 | use oxc_span::{GetSpan, SourceType, Span};
[INFO] [stderr]   |                                     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]   --> src/lib.rs:45:5
[INFO] [stderr]    |
[INFO] [stderr] 45 |     parser::translate_to_cpp(source, filename, options)
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]    |
[INFO] [stderr] 45 -     parser::translate_to_cpp(source, filename, options)
[INFO] [stderr] 45 +     translate_to_cpp(source, filename, options)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]    --> src/lib.rs:128:16
[INFO] [stderr]     |
[INFO] [stderr] 128 |     let code = parser::translate_snippet_to_cpp(source, filename, options)?;
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]     |
[INFO] [stderr] 128 -     let code = parser::translate_snippet_to_cpp(source, filename, options)?;
[INFO] [stderr] 128 +     let code = translate_snippet_to_cpp(source, filename, options)?;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary qualification
[INFO] [stderr]    --> src/lib.rs:143:5
[INFO] [stderr]     |
[INFO] [stderr] 143 |     parser::translate_to_rust(source, filename, 0)
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove the unnecessary path segments
[INFO] [stderr]     |
[INFO] [stderr] 143 -     parser::translate_to_rust(source, filename, 0)
[INFO] [stderr] 143 +     translate_to_rust(source, filename, 0)
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/codegen/analyzer.rs:1171:13
[INFO] [stderr]      |
[INFO] [stderr] 1171 |             _ => {}
[INFO] [stderr]      |             ^ no value can reach this
[INFO] [stderr]      |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]     --> src/codegen/analyzer.rs:1171:13
[INFO] [stderr]      |
[INFO] [stderr] 1138 |             BindingPattern::BindingIdentifier(id) => {
[INFO] [stderr]      |             ------------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 1141 |             BindingPattern::ObjectPattern(object) => {
[INFO] [stderr]      |             ------------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 1156 |             BindingPattern::ArrayPattern(array) => {
[INFO] [stderr]      |             ----------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 1168 |             BindingPattern::AssignmentPattern(assign) => {
[INFO] [stderr]      |             ----------------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 1171 |             _ => {}
[INFO] [stderr]      |             ^ collectively making this unreachable
[INFO] [stderr]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/codegen/analyzer.rs:1786:13
[INFO] [stderr]      |
[INFO] [stderr] 1786 |             _ => {}
[INFO] [stderr]      |             ^ no value can reach this
[INFO] [stderr]      |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]     --> src/codegen/analyzer.rs:1786:13
[INFO] [stderr]      |
[INFO] [stderr] 1767 |             ChainElement::CallExpression(c) => {
[INFO] [stderr]      |             ------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 1773 |             ChainElement::StaticMemberExpression(m) => {
[INFO] [stderr]      |             --------------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 1776 |             ChainElement::PrivateFieldExpression(m) => {
[INFO] [stderr]      |             --------------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 1779 |             ChainElement::ComputedMemberExpression(m) => {
[INFO] [stderr]      |             ----------------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 1786 |             _ => {}
[INFO] [stderr]      |             ^ ...and 1 other patterns collectively make this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/codegen/js_comparison.rs:273:23
[INFO] [stderr]     |
[INFO] [stderr] 265 |                     OperandClass::Text | OperandClass::JsString => {
[INFO] [stderr]     |                                          ---------------------- matches all the relevant values
[INFO] [stderr] ...
[INFO] [stderr] 273 |                     | OperandClass::JsString
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stderr] 
[INFO] [stderr] warning: method `emit_std_vector_literal` is never used
[INFO] [stderr]     --> src/codegen/cpp.rs:3975:8
[INFO] [stderr]      |
[INFO] [stderr]  107 | impl<'a> CppTranslator<'a> {
[INFO] [stderr]      | -------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 3975 |     fn emit_std_vector_literal(&mut self, init: &Expression<'a>) -> String {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the item `SourceType` is imported redundantly
[INFO] [stderr]     --> src/codegen/analyzer.rs:2537:9
[INFO] [stderr]      |
[INFO] [stderr] 2534 |     use super::*;
[INFO] [stderr]      |         -------- the item `SourceType` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 2537 |     use oxc_span::SourceType;
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: requested on the command line with `-W redundant-imports`
[INFO] [stderr] 
[INFO] [stderr] warning: the item `SourceType` is imported redundantly
[INFO] [stderr]     --> src/codegen/analyzer.rs:2683:9
[INFO] [stderr]      |
[INFO] [stderr] 2680 |     use super::*;
[INFO] [stderr]      |         -------- the item `SourceType` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 2683 |     use oxc_span::SourceType;
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the item `SourceType` is imported redundantly
[INFO] [stderr]  --> src/linter.rs:4:25
[INFO] [stderr]   |
[INFO] [stderr] 2 | use oxc_ast::ast::*;
[INFO] [stderr]   |     --------------- the item `SourceType` is already imported here
[INFO] [stderr] 3 | use oxc_parser::Parser;
[INFO] [stderr] 4 | use oxc_span::{GetSpan, SourceType, Span};
[INFO] [stderr]   |                         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `morpher` (lib) generated 14 warnings (run `cargo fix --lib -p morpher` to apply 8 suggestions)
[INFO] [stderr] warning: `morpher` (lib test) generated 16 warnings (13 duplicates)
[INFO] [stderr] warning: unused dependency `oxc_syntax`
[INFO] [stderr]   --> Cargo.toml:25:15
[INFO] [stderr]    |
[INFO] [stderr] 25 | [dependencies.oxc_syntax]
[INFO] [stderr]    |               ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `oxc_syntax`
[INFO] [stderr] warning: `morpher` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/morpher/5937d47962817cd6/out/morpher-5937d47962817cd6)
[INFO] [stdout] 
[INFO] [stdout] running 84 tests
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_spread_object_property ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_do_while_test ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_spread_array_element ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_new_arguments ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_dynamic_import_source ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_nested_function_body ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_labeled_body ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_tagged_template_parts ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_object_destructuring_target ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_template_expressions ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_thrown_value ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_ts_wrapper_inner ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_unary_argument ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_update_target ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_call_callee ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::capture_through_destructured_name ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::class_method_body_captures_outer_variable ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::closure_captures_surfaced_for_move_veto ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::last_read_is_final_use ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::last_reads_keyed_per_function ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::definition_and_use_positions_recorded ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::literal_elements_keep_precision ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::live_after_reflects_later_reads ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::loop_body_use_flags_variable ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::array_destructuring_binds_names ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::escaping_closure_keys_captures_to_enclosing_function ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_array_destructuring_target ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_sequence_elements ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_for_expression_init ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_destructuring_default_init ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::parameter_default_counts_as_use ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_yield_argument ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_spread_argument ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::compound_targets_count_as_reads ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_logical_operands ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::object_destructuring_binds_names ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::one_split_at_second_assignment ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_switch_parts ... ok
[INFO] [stdout] test codegen::analyzer::capture_tests::captures_optional_chain_base ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::no_split_when_first_definition_literal ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::nested_read_suppresses_outer_move ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::no_split_when_variable_captured ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::no_split_when_later_definition_not_literal ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::no_split_under_branch ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::returned_class_instance_marks_return ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::split_name_collides_with_future_variable ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::update_targets_count_as_reads ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::plain_writes_are_not_reads ... ok
[INFO] [stdout] test codegen::analyzer::tests::binary_comparison_records_signature ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::no_split_compound_assignment ... ok
[INFO] [stdout] test codegen::analyzer::tests::known_string_method_keeps_native_type ... ok
[INFO] [stdout] test codegen::analyzer::tests::dynamic_call_widens_to_js_number ... ok
[INFO] [stdout] test codegen::analyzer::tests::closure_capture_marks_shared_ownership ... ok
[INFO] [stdout] test codegen::analyzer::tests::integer_literal_proves_int32_range ... ok
[INFO] [stdout] test codegen::analyzer::tests::await_reassignment_widens_declaration ... ok
[INFO] [stdout] test codegen::analyzer::tests::length_on_string_keeps_native_type ... ok
[INFO] [stdout] test codegen::analyzer::tests::length_on_array_widens_to_js_array ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::straight_line_use_leaves_loop_flag_clear ... ok
[INFO] [stdout] test codegen::analyzer::tests::literal_bounded_loop_counter_proves_range ... ok
[INFO] [stdout] test codegen::js_comparison::tests::loose_native_signatures_enable_loose_section_only ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::write_only_variable_has_no_reads ... ok
[INFO] [stdout] test codegen::analyzer::tests::await_boundary_does_not_force_js_number ... ok
[INFO] [stdout] test codegen::analyzer::tests::computed_reassignment_forfeits_int32_range ... ok
[INFO] [stdout] test codegen::analyzer::tests::plain_variable_never_escapes ... ok
[INFO] [stdout] test codegen::js_comparison::tests::js_signatures_enable_js_overloads ... ok
[INFO] [stdout] test codegen::analyzer::tests::returned_variable_marks_single_owner_escape ... ok
[INFO] [stdout] test codegen::cpp::tests::char_literal_escapes ... ok
[INFO] [stdout] test codegen::cpp::tests::quotes_and_backslashes_escape ... ok
[INFO] [stdout] test tests::fragment_wraps_body_in_file_namespace ... ok
[INFO] [stdout] test codegen::cpp::tests::raw_template_text_keeps_valid_escapes ... ok
[INFO] [stdout] test codegen::js_comparison::tests::text_signatures_enable_text_helpers ... ok
[INFO] [stdout] test tests::fragment_namespace_sanitizes_stem ... ok
[INFO] [stdout] test codegen::js_comparison::tests::cpp_type_names_map_to_expected_classes ... ok
[INFO] [stdout] test codegen::js_comparison::tests::smart_pointer_wrappers_classify_by_inner_type ... ok
[INFO] [stdout] test tests::fragment_keeps_exe_output_untouched ... ok
[INFO] [stdout] test codegen::analyzer::tests::truthy_string_test_records_signature ... ok
[INFO] [stdout] test tests::snippet_splits_includes_from_body ... ok
[INFO] [stdout] test tests::fragment_keeps_includes_at_top_level ... ok
[INFO] [stdout] test codegen::js_comparison::tests::empty_signatures_produce_no_header ... ok
[INFO] [stdout] test codegen::analyzer::tests::unknown_method_widens_to_js_string ... ok
[INFO] [stdout] test tests::snippet_maps_ambient_reads ... ok
[INFO] [stdout] test codegen::cpp::tests::newlines_and_controls_escape ... ok
[INFO] [stdout] test tests::snippet_rejects_unparseable_input ... ok
[INFO] [stdout] test codegen::analyzer::lifespan_tests::unknown_source_elements_stay_boxed ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 84 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests morpher
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "6199ecd283093c71d0473dbdc6b5ad65dfb739b216d754903fce7f2e91df0cda", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6199ecd283093c71d0473dbdc6b5ad65dfb739b216d754903fce7f2e91df0cda", kill_on_drop: false }`
[INFO] [stdout] 6199ecd283093c71d0473dbdc6b5ad65dfb739b216d754903fce7f2e91df0cda
