[INFO] cloning repository https://github.com/gwythyr/swc-nestjs-swagger-plugin
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gwythyr/swc-nestjs-swagger-plugin" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgwythyr%2Fswc-nestjs-swagger-plugin", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgwythyr%2Fswc-nestjs-swagger-plugin'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4298a05c4f3ae976c85d195bfef1be9ea6f84733
[INFO] building gwythyr/swc-nestjs-swagger-plugin against master#c7f6aa2869acdbf014d094c6e427e554e160b6db for pr-146237-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgwythyr%2Fswc-nestjs-swagger-plugin" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-0-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/gwythyr/swc-nestjs-swagger-plugin
[INFO] finished tweaking git repo https://github.com/gwythyr/swc-nestjs-swagger-plugin
[INFO] tweaked toml for git repo https://github.com/gwythyr/swc-nestjs-swagger-plugin written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/gwythyr/swc-nestjs-swagger-plugin on toolchain c7f6aa2869acdbf014d094c6e427e554e160b6db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/gwythyr/swc-nestjs-swagger-plugin 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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded vergen-lib v0.1.6
[INFO] [stderr]   Downloaded swc_visit v2.0.1
[INFO] [stderr]   Downloaded swc_transform_common v8.0.0
[INFO] [stderr]   Downloaded vergen v9.0.6
[INFO] [stderr]   Downloaded camino v1.1.10
[INFO] [stderr]   Downloaded swc_ecma_parser v22.0.3
[INFO] [stderr]   Downloaded par-core v2.0.0
[INFO] [stderr]   Downloaded swc_ecma_codegen v16.0.0
[INFO] [stderr]   Downloaded compact_str v0.7.1
[INFO] [stderr]   Downloaded ascii v1.1.0
[INFO] [stderr]   Downloaded swc_ecma_lexer v22.0.2
[INFO] [stderr]   Downloaded difference v2.0.0
[INFO] [stderr]   Downloaded swc_ecma_ast v14.0.0
[INFO] [stderr]   Downloaded swc_plugin_proxy v14.0.0
[INFO] [stderr]   Downloaded swc_ecma_transforms_base v23.0.0
[INFO] [stderr]   Downloaded rkyv v0.8.11
[INFO] [stderr]   Downloaded pretty_assertions v1.4.1
[INFO] [stderr]   Downloaded swc_plugin v1.0.1
[INFO] [stderr]   Downloaded ptr_meta v0.3.0
[INFO] [stderr]   Downloaded rancor v0.1.0
[INFO] [stderr]   Downloaded swc_allocator v4.0.1
[INFO] [stderr]   Downloaded ryu-js v1.0.2
[INFO] [stderr]   Downloaded swc_ecma_visit v14.0.0
[INFO] [stderr]   Downloaded miette v7.6.0
[INFO] [stderr]   Downloaded swc_ecma_transforms_testing v26.0.0
[INFO] [stderr]   Downloaded is-macro v0.3.7
[INFO] [stderr]   Downloaded ast_node v3.0.3
[INFO] [stderr]   Downloaded triomphe v0.1.14
[INFO] [stderr]   Downloaded bytecheck_derive v0.8.1
[INFO] [stderr]   Downloaded bytecheck v0.8.1
[INFO] [stderr]   Downloaded rend v0.5.2
[INFO] [stderr]   Downloaded rkyv_derive v0.8.11
[INFO] [stderr]   Downloaded bytes-str v0.2.7
[INFO] [stderr]   Downloaded swc_ecma_codegen_macros v2.0.2
[INFO] [stderr]   Downloaded swc_ecma_testing v15.0.0
[INFO] [stderr]   Downloaded smartstring v1.0.1
[INFO] [stderr]   Downloaded diff v0.1.13
[INFO] [stderr]   Downloaded miette-derive v7.6.0
[INFO] [stderr]   Downloaded swc_plugin_macro v1.1.0
[INFO] [stderr]   Downloaded munge v0.4.6
[INFO] [stderr]   Downloaded ptr_meta_derive v0.3.0
[INFO] [stderr]   Downloaded testing v15.0.0
[INFO] [stderr]   Downloaded better_scoped_tls v1.0.1
[INFO] [stderr]   Downloaded hstr v2.0.1
[INFO] [stderr]   Downloaded swc_eq_ignore_macros v1.0.1
[INFO] [stderr]   Downloaded if_chain v1.0.2
[INFO] [stderr]   Downloaded swc_error_reporters v16.0.1
[INFO] [stderr]   Downloaded testing_macros v1.0.1
[INFO] [stderr]   Downloaded string_enum v1.0.2
[INFO] [stderr]   Downloaded swc_trace_macro v2.0.2
[INFO] [stderr]   Downloaded swc_macros_common v1.0.1
[INFO] [stderr]   Downloaded from_variant v2.0.2
[INFO] [stderr]   Downloaded swc_atoms v7.0.0
[INFO] [stderr]   Downloaded munge_macro v0.4.6
[INFO] [stderr]   Downloaded swc_common v14.0.2
[INFO] [stderr]   Downloaded unicode-id-start v1.3.1
[INFO] [stderr]   Downloaded swc_sourcemap v9.3.3
[INFO] [stderr]   Downloaded swc_core v34.0.4
[INFO] [stderr]   Downloaded swc_ecma_utils v19.0.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e2f7ace7433aa34c2ef4d8e8a299a61661ffe2621fc3518ce851d5213de9123f
[INFO] running `Command { std: "docker" "start" "-a" "e2f7ace7433aa34c2ef4d8e8a299a61661ffe2621fc3518ce851d5213de9123f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e2f7ace7433aa34c2ef4d8e8a299a61661ffe2621fc3518ce851d5213de9123f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e2f7ace7433aa34c2ef4d8e8a299a61661ffe2621fc3518ce851d5213de9123f", kill_on_drop: false }`
[INFO] [stdout] e2f7ace7433aa34c2ef4d8e8a299a61661ffe2621fc3518ce851d5213de9123f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ea6ce9d56798a5e298ca1d8d390fcd2b02d79bb22f0b1a5e6c7146177f07edb3
[INFO] running `Command { std: "docker" "start" "-a" "ea6ce9d56798a5e298ca1d8d390fcd2b02d79bb22f0b1a5e6c7146177f07edb3", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling simdutf8 v0.1.5
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde_json v1.0.141
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling tap v1.0.1
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling outref v0.5.2
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]    Compiling funty v2.0.0
[INFO] [stderr]    Compiling if_chain v1.0.2
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling unicode-id-start v1.3.1
[INFO] [stderr]    Compiling base64-simd v0.8.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling better_scoped_tls v1.0.1
[INFO] [stderr]    Compiling rustversion v1.0.21
[INFO] [stderr]    Compiling wyz v0.5.1
[INFO] [stderr]    Compiling swc_visit v2.0.1
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling camino v1.1.10
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]    Compiling cc v1.2.30
[INFO] [stderr]    Compiling owo-colors v4.2.2
[INFO] [stderr]    Compiling bitvec v1.0.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling smartstring v1.0.1
[INFO] [stderr]    Compiling unicode-width v0.2.1
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling seq-macro v0.3.6
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling vergen-lib v0.1.6
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling vergen v9.0.6
[INFO] [stderr]    Compiling ryu-js v1.0.2
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]    Compiling relative-path v1.9.3
[INFO] [stderr]    Compiling pretty_assertions v1.4.1
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling bumpalo v3.19.0
[INFO] [stderr]    Compiling par-core v2.0.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling difference v2.0.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling swc_allocator v4.0.1
[INFO] [stderr]    Compiling compact_str v0.7.1
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling ascii v1.1.0
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling swc_plugin v1.0.1
[INFO] [stderr]    Compiling psm v0.1.26
[INFO] [stderr]    Compiling stacker v0.1.21
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling tempfile v3.20.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling swc_macros_common v1.0.1
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling ptr_meta_derive v0.3.0
[INFO] [stderr]    Compiling bytecheck_derive v0.8.1
[INFO] [stderr]    Compiling munge_macro v0.4.6
[INFO] [stderr]    Compiling rkyv_derive v0.8.11
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling swc_eq_ignore_macros v1.0.1
[INFO] [stderr]    Compiling ast_node v3.0.3
[INFO] [stderr]    Compiling from_variant v2.0.2
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling string_enum v1.0.2
[INFO] [stderr]    Compiling is-macro v0.3.7
[INFO] [stderr]    Compiling ptr_meta v0.3.0
[INFO] [stderr]    Compiling rancor v0.1.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling miette-derive v7.6.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling munge v0.4.6
[INFO] [stderr]    Compiling swc_ecma_codegen_macros v2.0.2
[INFO] [stderr]    Compiling swc_trace_macro v2.0.2
[INFO] [stderr]    Compiling swc_plugin_macro v1.1.0
[INFO] [stderr]    Compiling bytecheck v0.8.1
[INFO] [stderr]    Compiling rend v0.5.2
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling miette v7.6.0
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling zerovec v0.11.2
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling testing_macros v1.0.1
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling derive_builder v0.20.2
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling rkyv v0.8.11
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling cargo-platform v0.1.9
[INFO] [stderr]    Compiling triomphe v0.1.14
[INFO] [stderr]    Compiling debugid v0.8.0
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling hstr v2.0.1
[INFO] [stderr]    Compiling cargo_metadata v0.19.2
[INFO] [stderr]    Compiling cargo_metadata v0.18.1
[INFO] [stderr]    Compiling bytes-str v0.2.7
[INFO] [stderr]    Compiling swc_atoms v7.0.0
[INFO] [stderr]    Compiling swc_core v34.0.4
[INFO] [stderr]    Compiling swc_sourcemap v9.3.3
[INFO] [stderr]    Compiling swc_common v14.0.2
[INFO] [stderr]    Compiling swc_ecma_ast v14.0.0
[INFO] [stderr]    Compiling swc_error_reporters v16.0.1
[INFO] [stderr]    Compiling swc_transform_common v8.0.0
[INFO] [stderr]    Compiling testing v15.0.0
[INFO] [stderr]    Compiling swc_ecma_testing v15.0.0
[INFO] [stderr]    Compiling swc_ecma_lexer v22.0.2
[INFO] [stderr]    Compiling swc_ecma_visit v14.0.0
[INFO] [stderr]    Compiling swc_ecma_codegen v16.0.0
[INFO] [stderr]    Compiling swc_plugin_proxy v14.0.0
[INFO] [stderr]    Compiling swc_ecma_utils v19.0.1
[INFO] [stderr]    Compiling swc_ecma_parser v22.0.3
[INFO] [stderr]    Compiling swc_ecma_transforms_base v23.0.0
[INFO] [stderr]    Compiling swc_ecma_transforms_testing v26.0.0
[INFO] [stderr]    Compiling swc-nestjs-swagger v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `visit_mut_pass`
[INFO] [stdout]  --> src/lib.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 |     visit::{visit_mut_pass, VisitMut, VisitMutWith},
[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: `Span` and `SyntaxContext`
[INFO] [stdout]  --> src/visitors/model_visitor.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 |     common::{Span, DUMMY_SP, SyntaxContext},
[INFO] [stdout]   |              ^^^^            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `types::*`
[INFO] [stdout]  --> src/visitors/model_visitor.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 |     constants::{decorators::*, types::*, class_transformer::*, class_validator::*},
[INFO] [stdout]   |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_name`
[INFO] [stdout]   --> src/visitors/model_visitor.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let class_name = class_decl.ident.sym.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_email_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:401:21
[INFO] [stdout]     |
[INFO] [stdout] 401 |         if let Some(is_email_decorator) = get_decorator_by_name(IS_EMAIL_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_email_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_url_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:408:21
[INFO] [stdout]     |
[INFO] [stdout] 408 |         if let Some(is_url_decorator) = get_decorator_by_name(IS_URL_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_url_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_uuid_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:415:21
[INFO] [stdout]     |
[INFO] [stdout] 415 |         if let Some(is_uuid_decorator) = get_decorator_by_name(IS_UUID_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_uuid_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_date_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:422:21
[INFO] [stdout]     |
[INFO] [stdout] 422 |         if let Some(is_date_decorator) = get_decorator_by_name(IS_DATE_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_date_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_int_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:430:21
[INFO] [stdout]     |
[INFO] [stdout] 430 |         if let Some(is_int_decorator) = get_decorator_by_name(IS_INT_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_int_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_positive_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:437:21
[INFO] [stdout]     |
[INFO] [stdout] 437 |         if let Some(is_positive_decorator) = get_decorator_by_name(IS_POSITIVE_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_positive_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_negative_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:448:21
[INFO] [stdout]     |
[INFO] [stdout] 448 |         if let Some(is_negative_decorator) = get_decorator_by_name(IS_NEGATIVE_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_negative_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_array_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:472:21
[INFO] [stdout]     |
[INFO] [stdout] 472 |         if let Some(is_array_decorator) = get_decorator_by_name(IS_ARRAY_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_array_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `type_imports`, `collected_metadata`, and `controller_visitor` are never read
[INFO] [stdout]   --> src/lib.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct TransformVisitor {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49 |     type_imports: FxHashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 50 |     collected_metadata: FxHashMap<String, ClassMetadata>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 51 |     model_visitor: ModelClassVisitor,
[INFO] [stdout] 52 |     controller_visitor: Option<ControllerVisitor<'static>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `METADATA_FACTORY_NAME` is never used
[INFO] [stdout]   --> src/constants.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const METADATA_FACTORY_NAME: &str = "_OPENAPI_METADATA_FACTORY";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `API_PROPERTY_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub const API_PROPERTY_DECORATOR: &str = "ApiProperty";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `API_HIDE_PROPERTY_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub const API_HIDE_PROPERTY_DECORATOR: &str = "ApiHideProperty";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `API_PARAM_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:28:15
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub const API_PARAM_DECORATOR: &str = "ApiParam";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `API_QUERY_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub const API_QUERY_DECORATOR: &str = "ApiQuery";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `API_BODY_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub const API_BODY_DECORATOR: &str = "ApiBody";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXPOSE_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub const EXPOSE_DECORATOR: &str = "Expose";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXCLUDE_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub const EXCLUDE_DECORATOR: &str = "Exclude";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_OPTIONAL_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:49:15
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub const IS_OPTIONAL_DECORATOR: &str = "IsOptional";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_STRING_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:52:15
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub const IS_STRING_DECORATOR: &str = "IsString";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_NUMBER_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:55:15
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub const IS_NUMBER_DECORATOR: &str = "IsNumber";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_BOOLEAN_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:58:15
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub const IS_BOOLEAN_DECORATOR: &str = "IsBoolean";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_ARRAY_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:61:15
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub const IS_ARRAY_DECORATOR: &str = "IsArray";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_ENUM_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:64:15
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub const IS_ENUM_DECORATOR: &str = "IsEnum";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_IN_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:67:15
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub const IS_IN_DECORATOR: &str = "IsIn";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LENGTH_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub const LENGTH_DECORATOR: &str = "Length";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:73:15
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub const MIN_DECORATOR: &str = "Min";
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:76:15
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub const MAX_DECORATOR: &str = "Max";
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_LENGTH_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:79:15
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub const MIN_LENGTH_DECORATOR: &str = "MinLength";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_LENGTH_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:82:15
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub const MAX_LENGTH_DECORATOR: &str = "MaxLength";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MATCHES_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub const MATCHES_DECORATOR: &str = "Matches";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_EMAIL_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:88:15
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub const IS_EMAIL_DECORATOR: &str = "IsEmail";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_URL_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:91:15
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub const IS_URL_DECORATOR: &str = "IsUrl";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_UUID_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:94:15
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub const IS_UUID_DECORATOR: &str = "IsUUID";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_DATE_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:97:15
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub const IS_DATE_DECORATOR: &str = "IsDate";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_INT_DECORATOR` is never used
[INFO] [stdout]    --> src/constants.rs:100:15
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub const IS_INT_DECORATOR: &str = "IsInt";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_POSITIVE_DECORATOR` is never used
[INFO] [stdout]    --> src/constants.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub const IS_POSITIVE_DECORATOR: &str = "IsPositive";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_NEGATIVE_DECORATOR` is never used
[INFO] [stdout]    --> src/constants.rs:106:15
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub const IS_NEGATIVE_DECORATOR: &str = "IsNegative";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STRING_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:111:15
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub const STRING_TYPE: &str = "string";
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:112:15
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub const NUMBER_TYPE: &str = "number";
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOOLEAN_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:113:15
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub const BOOLEAN_TYPE: &str = "boolean";
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OBJECT_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:114:15
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub const OBJECT_TYPE: &str = "object";
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARRAY_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:115:15
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub const ARRAY_TYPE: &str = "array";
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NULL_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub const NULL_TYPE: &str = "null";
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNDEFINED_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:117:15
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub const UNDEFINED_TYPE: &str = "undefined";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STRING` is never used
[INFO] [stdout]    --> src/constants.rs:122:15
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub const STRING: &str = "string";
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER` is never used
[INFO] [stdout]    --> src/constants.rs:123:15
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub const NUMBER: &str = "number";
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTEGER` is never used
[INFO] [stdout]    --> src/constants.rs:124:15
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub const INTEGER: &str = "integer";
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOOLEAN` is never used
[INFO] [stdout]    --> src/constants.rs:125:15
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub const BOOLEAN: &str = "boolean";
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARRAY` is never used
[INFO] [stdout]    --> src/constants.rs:126:15
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub const ARRAY: &str = "array";
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OBJECT` is never used
[INFO] [stdout]    --> src/constants.rs:127:15
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub const OBJECT: &str = "object";
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_string_literal` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn is_string_literal(expr: &Expr) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_number_literal` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn is_number_literal(expr: &Expr) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_boolean_literal` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn is_boolean_literal(expr: &Expr) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_array_literal` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn is_array_literal(expr: &Expr) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_object_literal` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn is_object_literal(expr: &Expr) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_array_type` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn is_array_type(ts_type: &TsType) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_union_type` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn is_union_type(ts_type: &TsType) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_string_type` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn is_string_type(ts_type: &TsType) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_number_type` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn is_number_type(ts_type: &TsType) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_boolean_type` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn is_boolean_type(ts_type: &TsType) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_class_decorators` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn get_class_decorators(class: &Class) -> &[Decorator] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_property_decorators` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn get_property_decorators(prop: &ClassProp) -> &[Decorator] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_method_decorators` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn get_method_decorators(method: &ClassMethod) -> &[Decorator] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_decorator_named` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn is_decorator_named(decorator: &Decorator, name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ts_type_to_string` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub fn ts_type_to_string(ts_type: &TsType) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ts_entity_name_to_string` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:239:8
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub fn ts_entity_name_to_string(entity: &TsEntityName) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_type_arguments` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:253:8
[INFO] [stdout]     |
[INFO] [stdout] 253 | pub fn get_type_arguments(type_ref: &TsTypeRef) -> Vec<&Box<TsType>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_number_literal` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:275:8
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub fn create_number_literal(value: f64) -> Expr {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_boolean_literal` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:284:8
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub fn create_boolean_literal(value: bool) -> Expr {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_object_property` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:308:8
[INFO] [stdout]     |
[INFO] [stdout] 308 | pub fn create_object_property(key: &str, value: Expr) -> PropOrSpread {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expr_to_string` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:356:8
[INFO] [stdout]     |
[INFO] [stdout] 356 | pub fn expr_to_string(expr: &Expr) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_string_value` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:384:8
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub fn extract_string_value(expr: &Expr) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_number_value` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 392 | pub fn extract_number_value(expr: &Expr) -> Option<f64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_boolean_value` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:400:8
[INFO] [stdout]     |
[INFO] [stdout] 400 | pub fn extract_boolean_value(expr: &Expr) -> Option<bool> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_leading_comments` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:413:8
[INFO] [stdout]     |
[INFO] [stdout] 413 | pub fn has_leading_comments(span: Span) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_jsdoc_comments` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:421:8
[INFO] [stdout]     |
[INFO] [stdout] 421 | pub fn has_jsdoc_comments(_span: Span) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `object_has_property` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:432:8
[INFO] [stdout]     |
[INFO] [stdout] 432 | pub fn object_has_property(obj_lit: &ObjectLit, prop_name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_object_property_value` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:445:8
[INFO] [stdout]     |
[INFO] [stdout] 445 | pub fn get_object_property_value<'a>(obj_lit: &'a ObjectLit, prop_name: &str) -> Option<&'a Expr> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_contains_string` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:458:8
[INFO] [stdout]     |
[INFO] [stdout] 458 | pub fn array_contains_string(array_lit: &ArrayLit, value: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_decorator_by_names` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn get_decorator_by_names<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_decorator_by_name` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn get_decorator_by_name<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_decorator_names` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn has_decorator_names(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_decorator_name` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn has_decorator_name(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_decorator_object_properties` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn get_decorator_object_properties(decorator: &Decorator) -> Vec<(&PropName, &Expr)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decorator_has_property` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn decorator_has_property(decorator: &Decorator, prop_name: &str) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_decorator_property_value` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn get_decorator_property_value<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TypeReferenceDescriptor` is never constructed
[INFO] [stdout]    --> src/utils/plugin_utils.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct TypeReferenceDescriptor {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl TypeReferenceDescriptor {
[INFO] [stdout]     | ---------------------------- associated function in this implementation
[INFO] [stdout] 114 |     pub fn new(type_name: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze_type_reference` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn analyze_type_reference(ts_type: &TsType) -> TypeReferenceDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_optional_union_type` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:215:4
[INFO] [stdout]     |
[INFO] [stdout] 215 | fn is_optional_union_type(union: &TsUnionType) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_non_undefined_union_type` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:222:4
[INFO] [stdout]     |
[INFO] [stdout] 222 | fn get_non_undefined_union_type(union: &TsUnionType) -> Option<&TsType> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_promise_or_observable_type` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub fn is_promise_or_observable_type(type_str: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_property_key` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:238:8
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub fn has_property_key(obj_lit: &ObjectLit, key: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_enum_values` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:243:8
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub fn extract_enum_values(_ts_type: &TsType) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_dynamically_added` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub fn is_dynamically_added(span: Span) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_output_extension` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:261:8
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub fn get_output_extension(file_name: &str) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_path` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:272:8
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub fn convert_path(path: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `can_reference_node` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:310:8
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub fn can_reference_node(expr: &Expr, options: &PluginOptions) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_optional_property` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:337:8
[INFO] [stdout]     |
[INFO] [stdout] 337 | pub fn is_optional_property(_key: &PropName) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_property_base_name` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:344:8
[INFO] [stdout]     |
[INFO] [stdout] 344 | pub fn get_property_base_name(key: &PropName) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insert_at` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:353:8
[INFO] [stdout]     |
[INFO] [stdout] 353 | pub fn insert_at(string: &str, index: usize, substring: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `camel_to_snake_case` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:362:8
[INFO] [stdout]     |
[INFO] [stdout] 362 | pub fn camel_to_snake_case(camel_case: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `snake_to_camel_case` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:377:8
[INFO] [stdout]     |
[INFO] [stdout] 377 | pub fn snake_to_camel_case(snake_case: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_identifier` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:396:8
[INFO] [stdout]     |
[INFO] [stdout] 396 | pub fn is_valid_identifier(name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_metadata_key` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:418:8
[INFO] [stdout]     |
[INFO] [stdout] 418 | pub fn generate_metadata_key(class_name: &str, property_name: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_metadata_factory_call` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:423:8
[INFO] [stdout]     |
[INFO] [stdout] 423 | pub fn create_metadata_factory_call(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_computed_property` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:437:8
[INFO] [stdout]     |
[INFO] [stdout] 437 | pub fn create_computed_property(key: Expr, value: Expr) -> PropOrSpread {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_type_property` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:448:8
[INFO] [stdout]     |
[INFO] [stdout] 448 | pub fn create_type_property(type_name: &str) -> PropOrSpread {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_is_array_property` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:453:8
[INFO] [stdout]     |
[INFO] [stdout] 453 | pub fn create_is_array_property(is_array: bool) -> PropOrSpread {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `create_metadata_factory_call`, `create_metadata_factory_method`, `is_static_member`, `is_private_member`, and `get_member_name` are never used
[INFO] [stdout]    --> src/visitors/abstract_visitor.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub trait AbstractFileVisitor {
[INFO] [stdout]     |           ------------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout]  84 |     fn create_metadata_factory_call(&self, metadata_object: Expr) -> Expr {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     fn create_metadata_factory_method(&self, metadata_object: Expr) -> ClassMember {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn is_static_member(&self, member: &ClassMember) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     fn is_private_member(&self, member: &ClassMember) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn get_member_name(&self, member: &ClassMember) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DefaultAbstractVisitor` is never constructed
[INFO] [stdout]    --> src/visitors/abstract_visitor.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub struct DefaultAbstractVisitor;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `type_imports` and `collected_metadata` are never read
[INFO] [stdout]   --> src/visitors/model_visitor.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ModelClassVisitor {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 24 |     /// Tracks type imports for proper code generation
[INFO] [stdout] 25 |     type_imports: FxHashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     collected_metadata: FxHashMap<String, ClassMetadata>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/visitors/model_visitor.rs:49:12
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl ModelClassVisitor {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  49 |     pub fn get_type_imports(&self) -> &FxHashMap<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn get_collected_metadata(&self) -> &FxHashMap<String, ClassMetadata> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  59 |     pub fn visit_class_declaration(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     fn visit_property_declaration(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     fn visit_constructor_declaration(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     fn create_decorator_object_literal(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     fn create_type_property_assignments(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |     fn map_typescript_to_openapi_type(&self, ts_type: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     fn create_description_property_assignments(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     fn create_default_property_assignment(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     fn create_enum_property_assignments(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     fn create_validation_property_assignments(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 487 |     fn process_length_decorator(&self, decorator: &Decorator) -> Vec<PropOrSpread> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 513 |     fn process_min_max_decorator(&self, decorator: &Decorator, property_name: &str) -> Option<PropOrSpread> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 529 |     fn process_matches_decorator(&self, decorator: &Decorator) -> Option<PropOrSpread> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 545 |     fn process_enum_decorator(&self, decorator: &Decorator) -> Option<Vec<PropOrSpread>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 563 |     fn process_is_in_decorator(&self, decorator: &Decorator) -> Option<Vec<PropOrSpread>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 588 |     fn create_metadata_object(&self, class_metadata: &ClassMetadata) -> Expr {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 603 |     fn is_class_exported(&self, _class_decl: &ClassDecl) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `type_imports` is never read
[INFO] [stdout]   --> src/visitors/controller_visitor.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct ControllerVisitor<'a> {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub type_imports: FxHashMap<String, String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_collected_metadata` are never used
[INFO] [stdout]   --> src/visitors/controller_visitor.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl<'a> ControllerVisitor<'a> {
[INFO] [stdout]    | ------------------------------ associated items in this implementation
[INFO] [stdout] 44 |     /// Create a new controller visitor
[INFO] [stdout] 45 |     pub fn new(options: &'a PluginOptions, current_file_path: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn get_collected_metadata(&self) -> &FxHashMap<String, ClassMetadata> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 48s
[INFO] running `Command { std: "docker" "inspect" "ea6ce9d56798a5e298ca1d8d390fcd2b02d79bb22f0b1a5e6c7146177f07edb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ea6ce9d56798a5e298ca1d8d390fcd2b02d79bb22f0b1a5e6c7146177f07edb3", kill_on_drop: false }`
[INFO] [stdout] ea6ce9d56798a5e298ca1d8d390fcd2b02d79bb22f0b1a5e6c7146177f07edb3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 03f62ceba9f31c79439db4ea61dcf310033c4031f5e124d147c0d4cedf22734a
[INFO] running `Command { std: "docker" "start" "-a" "03f62ceba9f31c79439db4ea61dcf310033c4031f5e124d147c0d4cedf22734a", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `visit_mut_pass`
[INFO] [stdout]  --> src/lib.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 |     visit::{visit_mut_pass, VisitMut, VisitMutWith},
[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: `Span` and `SyntaxContext`
[INFO] [stdout]  --> src/visitors/model_visitor.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 |     common::{Span, DUMMY_SP, SyntaxContext},
[INFO] [stdout]   |              ^^^^            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `types::*`
[INFO] [stdout]  --> src/visitors/model_visitor.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 |     constants::{decorators::*, types::*, class_transformer::*, class_validator::*},
[INFO] [stdout]   |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_name`
[INFO] [stdout]   --> src/visitors/model_visitor.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let class_name = class_decl.ident.sym.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_email_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:401:21
[INFO] [stdout]     |
[INFO] [stdout] 401 |         if let Some(is_email_decorator) = get_decorator_by_name(IS_EMAIL_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_email_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_url_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:408:21
[INFO] [stdout]     |
[INFO] [stdout] 408 |         if let Some(is_url_decorator) = get_decorator_by_name(IS_URL_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_url_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_uuid_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:415:21
[INFO] [stdout]     |
[INFO] [stdout] 415 |         if let Some(is_uuid_decorator) = get_decorator_by_name(IS_UUID_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_uuid_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_date_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:422:21
[INFO] [stdout]     |
[INFO] [stdout] 422 |         if let Some(is_date_decorator) = get_decorator_by_name(IS_DATE_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_date_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_int_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:430:21
[INFO] [stdout]     |
[INFO] [stdout] 430 |         if let Some(is_int_decorator) = get_decorator_by_name(IS_INT_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_int_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_positive_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:437:21
[INFO] [stdout]     |
[INFO] [stdout] 437 |         if let Some(is_positive_decorator) = get_decorator_by_name(IS_POSITIVE_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_positive_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_negative_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:448:21
[INFO] [stdout]     |
[INFO] [stdout] 448 |         if let Some(is_negative_decorator) = get_decorator_by_name(IS_NEGATIVE_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_negative_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_array_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:472:21
[INFO] [stdout]     |
[INFO] [stdout] 472 |         if let Some(is_array_decorator) = get_decorator_by_name(IS_ARRAY_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_array_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `type_imports`, `collected_metadata`, and `controller_visitor` are never read
[INFO] [stdout]   --> src/lib.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct TransformVisitor {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49 |     type_imports: FxHashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 50 |     collected_metadata: FxHashMap<String, ClassMetadata>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 51 |     model_visitor: ModelClassVisitor,
[INFO] [stdout] 52 |     controller_visitor: Option<ControllerVisitor<'static>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `METADATA_FACTORY_NAME` is never used
[INFO] [stdout]   --> src/constants.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const METADATA_FACTORY_NAME: &str = "_OPENAPI_METADATA_FACTORY";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `API_PROPERTY_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub const API_PROPERTY_DECORATOR: &str = "ApiProperty";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `API_HIDE_PROPERTY_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub const API_HIDE_PROPERTY_DECORATOR: &str = "ApiHideProperty";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `API_PARAM_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:28:15
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub const API_PARAM_DECORATOR: &str = "ApiParam";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `API_QUERY_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub const API_QUERY_DECORATOR: &str = "ApiQuery";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `API_BODY_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub const API_BODY_DECORATOR: &str = "ApiBody";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXPOSE_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub const EXPOSE_DECORATOR: &str = "Expose";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXCLUDE_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub const EXCLUDE_DECORATOR: &str = "Exclude";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_OPTIONAL_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:49:15
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub const IS_OPTIONAL_DECORATOR: &str = "IsOptional";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_STRING_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:52:15
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub const IS_STRING_DECORATOR: &str = "IsString";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_NUMBER_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:55:15
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub const IS_NUMBER_DECORATOR: &str = "IsNumber";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_BOOLEAN_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:58:15
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub const IS_BOOLEAN_DECORATOR: &str = "IsBoolean";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_ARRAY_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:61:15
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub const IS_ARRAY_DECORATOR: &str = "IsArray";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_ENUM_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:64:15
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub const IS_ENUM_DECORATOR: &str = "IsEnum";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_IN_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:67:15
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub const IS_IN_DECORATOR: &str = "IsIn";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LENGTH_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub const LENGTH_DECORATOR: &str = "Length";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:73:15
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub const MIN_DECORATOR: &str = "Min";
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:76:15
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub const MAX_DECORATOR: &str = "Max";
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_LENGTH_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:79:15
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub const MIN_LENGTH_DECORATOR: &str = "MinLength";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_LENGTH_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:82:15
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub const MAX_LENGTH_DECORATOR: &str = "MaxLength";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MATCHES_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub const MATCHES_DECORATOR: &str = "Matches";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_EMAIL_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:88:15
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub const IS_EMAIL_DECORATOR: &str = "IsEmail";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_URL_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:91:15
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub const IS_URL_DECORATOR: &str = "IsUrl";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_UUID_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:94:15
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub const IS_UUID_DECORATOR: &str = "IsUUID";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_DATE_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:97:15
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub const IS_DATE_DECORATOR: &str = "IsDate";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_INT_DECORATOR` is never used
[INFO] [stdout]    --> src/constants.rs:100:15
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub const IS_INT_DECORATOR: &str = "IsInt";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_POSITIVE_DECORATOR` is never used
[INFO] [stdout]    --> src/constants.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub const IS_POSITIVE_DECORATOR: &str = "IsPositive";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_NEGATIVE_DECORATOR` is never used
[INFO] [stdout]    --> src/constants.rs:106:15
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub const IS_NEGATIVE_DECORATOR: &str = "IsNegative";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STRING_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:111:15
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub const STRING_TYPE: &str = "string";
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:112:15
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub const NUMBER_TYPE: &str = "number";
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOOLEAN_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:113:15
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub const BOOLEAN_TYPE: &str = "boolean";
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OBJECT_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:114:15
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub const OBJECT_TYPE: &str = "object";
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARRAY_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:115:15
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub const ARRAY_TYPE: &str = "array";
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NULL_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub const NULL_TYPE: &str = "null";
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNDEFINED_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:117:15
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub const UNDEFINED_TYPE: &str = "undefined";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STRING` is never used
[INFO] [stdout]    --> src/constants.rs:122:15
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub const STRING: &str = "string";
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER` is never used
[INFO] [stdout]    --> src/constants.rs:123:15
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub const NUMBER: &str = "number";
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTEGER` is never used
[INFO] [stdout]    --> src/constants.rs:124:15
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub const INTEGER: &str = "integer";
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOOLEAN` is never used
[INFO] [stdout]    --> src/constants.rs:125:15
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub const BOOLEAN: &str = "boolean";
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARRAY` is never used
[INFO] [stdout]    --> src/constants.rs:126:15
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub const ARRAY: &str = "array";
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OBJECT` is never used
[INFO] [stdout]    --> src/constants.rs:127:15
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub const OBJECT: &str = "object";
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_string_literal` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn is_string_literal(expr: &Expr) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_number_literal` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn is_number_literal(expr: &Expr) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_boolean_literal` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn is_boolean_literal(expr: &Expr) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_array_literal` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn is_array_literal(expr: &Expr) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_object_literal` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn is_object_literal(expr: &Expr) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_array_type` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn is_array_type(ts_type: &TsType) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_union_type` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn is_union_type(ts_type: &TsType) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_string_type` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn is_string_type(ts_type: &TsType) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_number_type` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn is_number_type(ts_type: &TsType) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_boolean_type` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn is_boolean_type(ts_type: &TsType) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_class_decorators` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn get_class_decorators(class: &Class) -> &[Decorator] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_property_decorators` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn get_property_decorators(prop: &ClassProp) -> &[Decorator] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_method_decorators` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn get_method_decorators(method: &ClassMethod) -> &[Decorator] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_decorator_named` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn is_decorator_named(decorator: &Decorator, name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ts_type_to_string` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub fn ts_type_to_string(ts_type: &TsType) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ts_entity_name_to_string` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:239:8
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub fn ts_entity_name_to_string(entity: &TsEntityName) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_type_arguments` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:253:8
[INFO] [stdout]     |
[INFO] [stdout] 253 | pub fn get_type_arguments(type_ref: &TsTypeRef) -> Vec<&Box<TsType>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_number_literal` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:275:8
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub fn create_number_literal(value: f64) -> Expr {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_boolean_literal` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:284:8
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub fn create_boolean_literal(value: bool) -> Expr {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_object_property` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:308:8
[INFO] [stdout]     |
[INFO] [stdout] 308 | pub fn create_object_property(key: &str, value: Expr) -> PropOrSpread {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expr_to_string` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:356:8
[INFO] [stdout]     |
[INFO] [stdout] 356 | pub fn expr_to_string(expr: &Expr) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_string_value` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:384:8
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub fn extract_string_value(expr: &Expr) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_number_value` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 392 | pub fn extract_number_value(expr: &Expr) -> Option<f64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_boolean_value` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:400:8
[INFO] [stdout]     |
[INFO] [stdout] 400 | pub fn extract_boolean_value(expr: &Expr) -> Option<bool> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_leading_comments` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:413:8
[INFO] [stdout]     |
[INFO] [stdout] 413 | pub fn has_leading_comments(span: Span) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_jsdoc_comments` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:421:8
[INFO] [stdout]     |
[INFO] [stdout] 421 | pub fn has_jsdoc_comments(_span: Span) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `object_has_property` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:432:8
[INFO] [stdout]     |
[INFO] [stdout] 432 | pub fn object_has_property(obj_lit: &ObjectLit, prop_name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_object_property_value` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:445:8
[INFO] [stdout]     |
[INFO] [stdout] 445 | pub fn get_object_property_value<'a>(obj_lit: &'a ObjectLit, prop_name: &str) -> Option<&'a Expr> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_contains_string` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:458:8
[INFO] [stdout]     |
[INFO] [stdout] 458 | pub fn array_contains_string(array_lit: &ArrayLit, value: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_decorator_by_names` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn get_decorator_by_names<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_decorator_by_name` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn get_decorator_by_name<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_decorator_names` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn has_decorator_names(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_decorator_name` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn has_decorator_name(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_decorator_object_properties` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn get_decorator_object_properties(decorator: &Decorator) -> Vec<(&PropName, &Expr)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decorator_has_property` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn decorator_has_property(decorator: &Decorator, prop_name: &str) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_decorator_property_value` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn get_decorator_property_value<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TypeReferenceDescriptor` is never constructed
[INFO] [stdout]    --> src/utils/plugin_utils.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct TypeReferenceDescriptor {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl TypeReferenceDescriptor {
[INFO] [stdout]     | ---------------------------- associated function in this implementation
[INFO] [stdout] 114 |     pub fn new(type_name: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze_type_reference` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn analyze_type_reference(ts_type: &TsType) -> TypeReferenceDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_optional_union_type` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:215:4
[INFO] [stdout]     |
[INFO] [stdout] 215 | fn is_optional_union_type(union: &TsUnionType) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_non_undefined_union_type` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:222:4
[INFO] [stdout]     |
[INFO] [stdout] 222 | fn get_non_undefined_union_type(union: &TsUnionType) -> Option<&TsType> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_promise_or_observable_type` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub fn is_promise_or_observable_type(type_str: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_property_key` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:238:8
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub fn has_property_key(obj_lit: &ObjectLit, key: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_enum_values` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:243:8
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub fn extract_enum_values(_ts_type: &TsType) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_dynamically_added` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub fn is_dynamically_added(span: Span) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_output_extension` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:261:8
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub fn get_output_extension(file_name: &str) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_path` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:272:8
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub fn convert_path(path: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `can_reference_node` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:310:8
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub fn can_reference_node(expr: &Expr, options: &PluginOptions) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_optional_property` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:337:8
[INFO] [stdout]     |
[INFO] [stdout] 337 | pub fn is_optional_property(_key: &PropName) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_property_base_name` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:344:8
[INFO] [stdout]     |
[INFO] [stdout] 344 | pub fn get_property_base_name(key: &PropName) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insert_at` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:353:8
[INFO] [stdout]     |
[INFO] [stdout] 353 | pub fn insert_at(string: &str, index: usize, substring: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `camel_to_snake_case` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:362:8
[INFO] [stdout]     |
[INFO] [stdout] 362 | pub fn camel_to_snake_case(camel_case: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `snake_to_camel_case` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:377:8
[INFO] [stdout]     |
[INFO] [stdout] 377 | pub fn snake_to_camel_case(snake_case: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_identifier` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:396:8
[INFO] [stdout]     |
[INFO] [stdout] 396 | pub fn is_valid_identifier(name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_metadata_key` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:418:8
[INFO] [stdout]     |
[INFO] [stdout] 418 | pub fn generate_metadata_key(class_name: &str, property_name: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_metadata_factory_call` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:423:8
[INFO] [stdout]     |
[INFO] [stdout] 423 | pub fn create_metadata_factory_call(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling swc-nestjs-swagger v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `create_computed_property` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:437:8
[INFO] [stdout]     |
[INFO] [stdout] 437 | pub fn create_computed_property(key: Expr, value: Expr) -> PropOrSpread {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_type_property` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:448:8
[INFO] [stdout]     |
[INFO] [stdout] 448 | pub fn create_type_property(type_name: &str) -> PropOrSpread {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_is_array_property` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:453:8
[INFO] [stdout]     |
[INFO] [stdout] 453 | pub fn create_is_array_property(is_array: bool) -> PropOrSpread {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `create_metadata_factory_call`, `create_metadata_factory_method`, `is_static_member`, `is_private_member`, and `get_member_name` are never used
[INFO] [stdout]    --> src/visitors/abstract_visitor.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub trait AbstractFileVisitor {
[INFO] [stdout]     |           ------------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout]  84 |     fn create_metadata_factory_call(&self, metadata_object: Expr) -> Expr {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     fn create_metadata_factory_method(&self, metadata_object: Expr) -> ClassMember {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn is_static_member(&self, member: &ClassMember) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     fn is_private_member(&self, member: &ClassMember) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn get_member_name(&self, member: &ClassMember) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DefaultAbstractVisitor` is never constructed
[INFO] [stdout]    --> src/visitors/abstract_visitor.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub struct DefaultAbstractVisitor;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `type_imports` and `collected_metadata` are never read
[INFO] [stdout]   --> src/visitors/model_visitor.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ModelClassVisitor {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 24 |     /// Tracks type imports for proper code generation
[INFO] [stdout] 25 |     type_imports: FxHashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     collected_metadata: FxHashMap<String, ClassMetadata>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/visitors/model_visitor.rs:49:12
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl ModelClassVisitor {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  49 |     pub fn get_type_imports(&self) -> &FxHashMap<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn get_collected_metadata(&self) -> &FxHashMap<String, ClassMetadata> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  59 |     pub fn visit_class_declaration(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     fn visit_property_declaration(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     fn visit_constructor_declaration(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     fn create_decorator_object_literal(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     fn create_type_property_assignments(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |     fn map_typescript_to_openapi_type(&self, ts_type: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     fn create_description_property_assignments(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     fn create_default_property_assignment(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     fn create_enum_property_assignments(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     fn create_validation_property_assignments(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 487 |     fn process_length_decorator(&self, decorator: &Decorator) -> Vec<PropOrSpread> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 513 |     fn process_min_max_decorator(&self, decorator: &Decorator, property_name: &str) -> Option<PropOrSpread> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 529 |     fn process_matches_decorator(&self, decorator: &Decorator) -> Option<PropOrSpread> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 545 |     fn process_enum_decorator(&self, decorator: &Decorator) -> Option<Vec<PropOrSpread>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 563 |     fn process_is_in_decorator(&self, decorator: &Decorator) -> Option<Vec<PropOrSpread>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 588 |     fn create_metadata_object(&self, class_metadata: &ClassMetadata) -> Expr {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 603 |     fn is_class_exported(&self, _class_decl: &ClassDecl) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `type_imports` is never read
[INFO] [stdout]   --> src/visitors/controller_visitor.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct ControllerVisitor<'a> {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub type_imports: FxHashMap<String, String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_collected_metadata` are never used
[INFO] [stdout]   --> src/visitors/controller_visitor.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl<'a> ControllerVisitor<'a> {
[INFO] [stdout]    | ------------------------------ associated items in this implementation
[INFO] [stdout] 44 |     /// Create a new controller visitor
[INFO] [stdout] 45 |     pub fn new(options: &'a PluginOptions, current_file_path: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn get_collected_metadata(&self) -> &FxHashMap<String, ClassMetadata> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]  --> tests/decorator_integration_test.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | / /// Integration test for decorator access with runPluginFirst experimental flag
[INFO] [stdout] 8 | | /// This test demonstrates how decorators would be accessed in a real SWC environment
[INFO] [stdout] 9 | | /// with the experimental runPluginFirst flag enabled.
[INFO] [stdout]   | |_-----------------------------------------------------^
[INFO] [stdout]   |   |
[INFO] [stdout]   |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]   |
[INFO] [stdout]   = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]   = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> tests/decorator_integration_test.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | /// Test class-transformer shim modes with simulated decorator access
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> tests/decorator_integration_test.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 91 | /// Test readonly mode with decorator simulation
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Span` and `SyntaxContext`
[INFO] [stdout]  --> src/visitors/model_visitor.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 |     common::{Span, DUMMY_SP, SyntaxContext},
[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: `types::*`
[INFO] [stdout]  --> src/visitors/model_visitor.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 |     constants::{decorators::*, types::*, class_transformer::*, class_validator::*},
[INFO] [stdout]   |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_name`
[INFO] [stdout]   --> src/visitors/model_visitor.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let class_name = class_decl.ident.sym.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_email_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:401:21
[INFO] [stdout]     |
[INFO] [stdout] 401 |         if let Some(is_email_decorator) = get_decorator_by_name(IS_EMAIL_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_email_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_url_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:408:21
[INFO] [stdout]     |
[INFO] [stdout] 408 |         if let Some(is_url_decorator) = get_decorator_by_name(IS_URL_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_url_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_uuid_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:415:21
[INFO] [stdout]     |
[INFO] [stdout] 415 |         if let Some(is_uuid_decorator) = get_decorator_by_name(IS_UUID_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_uuid_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_date_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:422:21
[INFO] [stdout]     |
[INFO] [stdout] 422 |         if let Some(is_date_decorator) = get_decorator_by_name(IS_DATE_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_date_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_int_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:430:21
[INFO] [stdout]     |
[INFO] [stdout] 430 |         if let Some(is_int_decorator) = get_decorator_by_name(IS_INT_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_int_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_positive_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:437:21
[INFO] [stdout]     |
[INFO] [stdout] 437 |         if let Some(is_positive_decorator) = get_decorator_by_name(IS_POSITIVE_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_positive_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_negative_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:448:21
[INFO] [stdout]     |
[INFO] [stdout] 448 |         if let Some(is_negative_decorator) = get_decorator_by_name(IS_NEGATIVE_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_negative_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_array_decorator`
[INFO] [stdout]    --> src/visitors/model_visitor.rs:472:21
[INFO] [stdout]     |
[INFO] [stdout] 472 |         if let Some(is_array_decorator) = get_decorator_by_name(IS_ARRAY_DECORATOR, decorators) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_array_decorator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `type_imports`, `collected_metadata`, and `controller_visitor` are never read
[INFO] [stdout]   --> src/lib.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct TransformVisitor {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49 |     type_imports: FxHashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 50 |     collected_metadata: FxHashMap<String, ClassMetadata>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 51 |     model_visitor: ModelClassVisitor,
[INFO] [stdout] 52 |     controller_visitor: Option<ControllerVisitor<'static>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `METADATA_FACTORY_NAME` is never used
[INFO] [stdout]   --> src/constants.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const METADATA_FACTORY_NAME: &str = "_OPENAPI_METADATA_FACTORY";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `API_PROPERTY_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub const API_PROPERTY_DECORATOR: &str = "ApiProperty";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `API_HIDE_PROPERTY_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub const API_HIDE_PROPERTY_DECORATOR: &str = "ApiHideProperty";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `API_PARAM_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:28:15
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub const API_PARAM_DECORATOR: &str = "ApiParam";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `API_QUERY_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub const API_QUERY_DECORATOR: &str = "ApiQuery";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `API_BODY_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub const API_BODY_DECORATOR: &str = "ApiBody";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXPOSE_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub const EXPOSE_DECORATOR: &str = "Expose";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXCLUDE_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub const EXCLUDE_DECORATOR: &str = "Exclude";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_OPTIONAL_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:49:15
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub const IS_OPTIONAL_DECORATOR: &str = "IsOptional";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_STRING_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:52:15
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub const IS_STRING_DECORATOR: &str = "IsString";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_NUMBER_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:55:15
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub const IS_NUMBER_DECORATOR: &str = "IsNumber";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_BOOLEAN_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:58:15
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub const IS_BOOLEAN_DECORATOR: &str = "IsBoolean";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_ARRAY_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:61:15
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub const IS_ARRAY_DECORATOR: &str = "IsArray";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_ENUM_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:64:15
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub const IS_ENUM_DECORATOR: &str = "IsEnum";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_IN_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:67:15
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub const IS_IN_DECORATOR: &str = "IsIn";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LENGTH_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub const LENGTH_DECORATOR: &str = "Length";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:73:15
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub const MIN_DECORATOR: &str = "Min";
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:76:15
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub const MAX_DECORATOR: &str = "Max";
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_LENGTH_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:79:15
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub const MIN_LENGTH_DECORATOR: &str = "MinLength";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_LENGTH_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:82:15
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub const MAX_LENGTH_DECORATOR: &str = "MaxLength";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MATCHES_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub const MATCHES_DECORATOR: &str = "Matches";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_EMAIL_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:88:15
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub const IS_EMAIL_DECORATOR: &str = "IsEmail";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_URL_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:91:15
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub const IS_URL_DECORATOR: &str = "IsUrl";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_UUID_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:94:15
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub const IS_UUID_DECORATOR: &str = "IsUUID";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_DATE_DECORATOR` is never used
[INFO] [stdout]   --> src/constants.rs:97:15
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub const IS_DATE_DECORATOR: &str = "IsDate";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_INT_DECORATOR` is never used
[INFO] [stdout]    --> src/constants.rs:100:15
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub const IS_INT_DECORATOR: &str = "IsInt";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_POSITIVE_DECORATOR` is never used
[INFO] [stdout]    --> src/constants.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub const IS_POSITIVE_DECORATOR: &str = "IsPositive";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_NEGATIVE_DECORATOR` is never used
[INFO] [stdout]    --> src/constants.rs:106:15
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub const IS_NEGATIVE_DECORATOR: &str = "IsNegative";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STRING_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:111:15
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub const STRING_TYPE: &str = "string";
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:112:15
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub const NUMBER_TYPE: &str = "number";
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOOLEAN_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:113:15
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub const BOOLEAN_TYPE: &str = "boolean";
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OBJECT_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:114:15
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub const OBJECT_TYPE: &str = "object";
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARRAY_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:115:15
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub const ARRAY_TYPE: &str = "array";
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NULL_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub const NULL_TYPE: &str = "null";
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNDEFINED_TYPE` is never used
[INFO] [stdout]    --> src/constants.rs:117:15
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub const UNDEFINED_TYPE: &str = "undefined";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STRING` is never used
[INFO] [stdout]    --> src/constants.rs:122:15
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub const STRING: &str = "string";
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER` is never used
[INFO] [stdout]    --> src/constants.rs:123:15
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub const NUMBER: &str = "number";
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTEGER` is never used
[INFO] [stdout]    --> src/constants.rs:124:15
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub const INTEGER: &str = "integer";
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOOLEAN` is never used
[INFO] [stdout]    --> src/constants.rs:125:15
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub const BOOLEAN: &str = "boolean";
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARRAY` is never used
[INFO] [stdout]    --> src/constants.rs:126:15
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub const ARRAY: &str = "array";
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OBJECT` is never used
[INFO] [stdout]    --> src/constants.rs:127:15
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub const OBJECT: &str = "object";
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_string_literal` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn is_string_literal(expr: &Expr) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_number_literal` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn is_number_literal(expr: &Expr) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_boolean_literal` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn is_boolean_literal(expr: &Expr) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_array_literal` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn is_array_literal(expr: &Expr) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_object_literal` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn is_object_literal(expr: &Expr) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_array_type` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn is_array_type(ts_type: &TsType) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_union_type` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn is_union_type(ts_type: &TsType) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_string_type` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn is_string_type(ts_type: &TsType) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_number_type` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn is_number_type(ts_type: &TsType) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_boolean_type` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn is_boolean_type(ts_type: &TsType) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_class_decorators` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn get_class_decorators(class: &Class) -> &[Decorator] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_property_decorators` is never used
[INFO] [stdout]   --> src/utils/ast_utils.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn get_property_decorators(prop: &ClassProp) -> &[Decorator] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_method_decorators` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn get_method_decorators(method: &ClassMethod) -> &[Decorator] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_decorator_named` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn is_decorator_named(decorator: &Decorator, name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ts_type_to_string` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub fn ts_type_to_string(ts_type: &TsType) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ts_entity_name_to_string` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:239:8
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub fn ts_entity_name_to_string(entity: &TsEntityName) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_type_arguments` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:253:8
[INFO] [stdout]     |
[INFO] [stdout] 253 | pub fn get_type_arguments(type_ref: &TsTypeRef) -> Vec<&Box<TsType>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_number_literal` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:275:8
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub fn create_number_literal(value: f64) -> Expr {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_boolean_literal` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:284:8
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub fn create_boolean_literal(value: bool) -> Expr {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_object_property` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:308:8
[INFO] [stdout]     |
[INFO] [stdout] 308 | pub fn create_object_property(key: &str, value: Expr) -> PropOrSpread {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expr_to_string` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:356:8
[INFO] [stdout]     |
[INFO] [stdout] 356 | pub fn expr_to_string(expr: &Expr) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_string_value` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:384:8
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub fn extract_string_value(expr: &Expr) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_number_value` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 392 | pub fn extract_number_value(expr: &Expr) -> Option<f64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_boolean_value` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:400:8
[INFO] [stdout]     |
[INFO] [stdout] 400 | pub fn extract_boolean_value(expr: &Expr) -> Option<bool> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_leading_comments` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:413:8
[INFO] [stdout]     |
[INFO] [stdout] 413 | pub fn has_leading_comments(span: Span) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_jsdoc_comments` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:421:8
[INFO] [stdout]     |
[INFO] [stdout] 421 | pub fn has_jsdoc_comments(_span: Span) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `object_has_property` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:432:8
[INFO] [stdout]     |
[INFO] [stdout] 432 | pub fn object_has_property(obj_lit: &ObjectLit, prop_name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_object_property_value` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:445:8
[INFO] [stdout]     |
[INFO] [stdout] 445 | pub fn get_object_property_value<'a>(obj_lit: &'a ObjectLit, prop_name: &str) -> Option<&'a Expr> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_contains_string` is never used
[INFO] [stdout]    --> src/utils/ast_utils.rs:458:8
[INFO] [stdout]     |
[INFO] [stdout] 458 | pub fn array_contains_string(array_lit: &ArrayLit, value: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_decorator_by_names` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn get_decorator_by_names<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_decorator_by_name` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn get_decorator_by_name<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_decorator_names` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn has_decorator_names(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_decorator_name` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn has_decorator_name(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_decorator_object_properties` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn get_decorator_object_properties(decorator: &Decorator) -> Vec<(&PropName, &Expr)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decorator_has_property` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn decorator_has_property(decorator: &Decorator, prop_name: &str) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_decorator_property_value` is never used
[INFO] [stdout]   --> src/utils/plugin_utils.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn get_decorator_property_value<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TypeReferenceDescriptor` is never constructed
[INFO] [stdout]    --> src/utils/plugin_utils.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct TypeReferenceDescriptor {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl TypeReferenceDescriptor {
[INFO] [stdout]     | ---------------------------- associated function in this implementation
[INFO] [stdout] 114 |     pub fn new(type_name: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze_type_reference` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn analyze_type_reference(ts_type: &TsType) -> TypeReferenceDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_optional_union_type` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:215:4
[INFO] [stdout]     |
[INFO] [stdout] 215 | fn is_optional_union_type(union: &TsUnionType) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_non_undefined_union_type` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:222:4
[INFO] [stdout]     |
[INFO] [stdout] 222 | fn get_non_undefined_union_type(union: &TsUnionType) -> Option<&TsType> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_promise_or_observable_type` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub fn is_promise_or_observable_type(type_str: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_property_key` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:238:8
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub fn has_property_key(obj_lit: &ObjectLit, key: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_enum_values` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:243:8
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub fn extract_enum_values(_ts_type: &TsType) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_dynamically_added` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub fn is_dynamically_added(span: Span) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_output_extension` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:261:8
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub fn get_output_extension(file_name: &str) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_path` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:272:8
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub fn convert_path(path: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `can_reference_node` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:310:8
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub fn can_reference_node(expr: &Expr, options: &PluginOptions) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_optional_property` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:337:8
[INFO] [stdout]     |
[INFO] [stdout] 337 | pub fn is_optional_property(_key: &PropName) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_property_base_name` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:344:8
[INFO] [stdout]     |
[INFO] [stdout] 344 | pub fn get_property_base_name(key: &PropName) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insert_at` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:353:8
[INFO] [stdout]     |
[INFO] [stdout] 353 | pub fn insert_at(string: &str, index: usize, substring: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `camel_to_snake_case` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:362:8
[INFO] [stdout]     |
[INFO] [stdout] 362 | pub fn camel_to_snake_case(camel_case: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `snake_to_camel_case` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:377:8
[INFO] [stdout]     |
[INFO] [stdout] 377 | pub fn snake_to_camel_case(snake_case: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_identifier` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:396:8
[INFO] [stdout]     |
[INFO] [stdout] 396 | pub fn is_valid_identifier(name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_metadata_key` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:418:8
[INFO] [stdout]     |
[INFO] [stdout] 418 | pub fn generate_metadata_key(class_name: &str, property_name: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_metadata_factory_call` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:423:8
[INFO] [stdout]     |
[INFO] [stdout] 423 | pub fn create_metadata_factory_call(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_computed_property` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:437:8
[INFO] [stdout]     |
[INFO] [stdout] 437 | pub fn create_computed_property(key: Expr, value: Expr) -> PropOrSpread {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_type_property` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:448:8
[INFO] [stdout]     |
[INFO] [stdout] 448 | pub fn create_type_property(type_name: &str) -> PropOrSpread {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_is_array_property` is never used
[INFO] [stdout]    --> src/utils/plugin_utils.rs:453:8
[INFO] [stdout]     |
[INFO] [stdout] 453 | pub fn create_is_array_property(is_array: bool) -> PropOrSpread {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `create_metadata_factory_call`, `create_metadata_factory_method`, `is_static_member`, `is_private_member`, and `get_member_name` are never used
[INFO] [stdout]    --> src/visitors/abstract_visitor.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub trait AbstractFileVisitor {
[INFO] [stdout]     |           ------------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout]  84 |     fn create_metadata_factory_call(&self, metadata_object: Expr) -> Expr {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     fn create_metadata_factory_method(&self, metadata_object: Expr) -> ClassMember {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn is_static_member(&self, member: &ClassMember) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     fn is_private_member(&self, member: &ClassMember) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn get_member_name(&self, member: &ClassMember) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DefaultAbstractVisitor` is never constructed
[INFO] [stdout]    --> src/visitors/abstract_visitor.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub struct DefaultAbstractVisitor;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `type_imports` and `collected_metadata` are never read
[INFO] [stdout]   --> src/visitors/model_visitor.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ModelClassVisitor {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 24 |     /// Tracks type imports for proper code generation
[INFO] [stdout] 25 |     type_imports: FxHashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     collected_metadata: FxHashMap<String, ClassMetadata>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/visitors/model_visitor.rs:49:12
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl ModelClassVisitor {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  49 |     pub fn get_type_imports(&self) -> &FxHashMap<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn get_collected_metadata(&self) -> &FxHashMap<String, ClassMetadata> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  59 |     pub fn visit_class_declaration(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     fn visit_property_declaration(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     fn visit_constructor_declaration(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     fn create_decorator_object_literal(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     fn create_type_property_assignments(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |     fn map_typescript_to_openapi_type(&self, ts_type: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     fn create_description_property_assignments(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     fn create_default_property_assignment(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     fn create_enum_property_assignments(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     fn create_validation_property_assignments(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 487 |     fn process_length_decorator(&self, decorator: &Decorator) -> Vec<PropOrSpread> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 513 |     fn process_min_max_decorator(&self, decorator: &Decorator, property_name: &str) -> Option<PropOrSpread> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 529 |     fn process_matches_decorator(&self, decorator: &Decorator) -> Option<PropOrSpread> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 545 |     fn process_enum_decorator(&self, decorator: &Decorator) -> Option<Vec<PropOrSpread>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 563 |     fn process_is_in_decorator(&self, decorator: &Decorator) -> Option<Vec<PropOrSpread>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 588 |     fn create_metadata_object(&self, class_metadata: &ClassMetadata) -> Expr {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 603 |     fn is_class_exported(&self, _class_decl: &ClassDecl) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `type_imports` is never read
[INFO] [stdout]   --> src/visitors/controller_visitor.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct ControllerVisitor<'a> {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub type_imports: FxHashMap<String, String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_collected_metadata` are never used
[INFO] [stdout]   --> src/visitors/controller_visitor.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl<'a> ControllerVisitor<'a> {
[INFO] [stdout]    | ------------------------------ associated items in this implementation
[INFO] [stdout] 44 |     /// Create a new controller visitor
[INFO] [stdout] 45 |     pub fn new(options: &'a PluginOptions, current_file_path: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn get_collected_metadata(&self) -> &FxHashMap<String, ClassMetadata> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.09s
[INFO] running `Command { std: "docker" "inspect" "03f62ceba9f31c79439db4ea61dcf310033c4031f5e124d147c0d4cedf22734a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "03f62ceba9f31c79439db4ea61dcf310033c4031f5e124d147c0d4cedf22734a", kill_on_drop: false }`
[INFO] [stdout] 03f62ceba9f31c79439db4ea61dcf310033c4031f5e124d147c0d4cedf22734a
