# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.85"
name = "alef"
version = "0.25.51"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Opinionated polyglot binding generator for Rust libraries"
homepage = "https://github.com/kreuzberg-dev/alef"
readme = "README.md"
keywords = [
    "codegen",
    "bindings",
    "ffi",
    "polyglot",
    "pyo3",
]
categories = [
    "development-tools::ffi",
    "development-tools::build-utils",
]
license = "MIT"
repository = "https://github.com/kreuzberg-dev/alef"

[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/alef-{ target }{ archive-suffix }"
bin-dir = "alef-{ target }/{ bin }{ binary-ext }"
pkg-fmt = "tgz"

[package.metadata.binstall.overrides.x86_64-pc-windows-gnu]
pkg-fmt = "zip"

[package.metadata.cargo-machete]
ignored = ["tracing"]

[features]
dylib-loader = []

[lib]
name = "alef"
path = "src/lib.rs"

[[bin]]
name = "alef"
path = "src/main.rs"

[[test]]
name = "adapters_adapter_test"
path = "tests/adapters_adapter_test.rs"

[[test]]
name = "backend_naming_helpers_hook"
path = "tests/backend_naming_helpers_hook.rs"

[[test]]
name = "backend_visitor_result_policy_test"
path = "tests/backend_visitor_result_policy_test.rs"

[[test]]
name = "backends_csharp_capsule_generation"
path = "tests/backends_csharp_capsule_generation.rs"

[[test]]
name = "backends_csharp_example_generation"
path = "tests/backends_csharp_example_generation.rs"

[[test]]
name = "backends_csharp_gen_bindings_test"
path = "tests/backends_csharp_gen_bindings_test.rs"

[[test]]
name = "backends_dart_binding_excluded_tuple_field_test"
path = "tests/backends_dart_binding_excluded_tuple_field_test.rs"

[[test]]
name = "backends_dart_docs_test"
path = "tests/backends_dart_docs_test.rs"

[[test]]
name = "backends_dart_enum_variant_cfg_gate_test"
path = "tests/backends_dart_enum_variant_cfg_gate_test.rs"

[[test]]
name = "backends_dart_gen_bindings_test"
path = "tests/backends_dart_gen_bindings_test.rs"

[[test]]
name = "backends_dart_gen_ffi_test"
path = "tests/backends_dart_gen_ffi_test.rs"

[[test]]
name = "backends_dart_gen_rust_crate_test"
path = "tests/backends_dart_gen_rust_crate_test.rs"

[[test]]
name = "backends_dart_snapshot_test"
path = "tests/backends_dart_snapshot_test.rs"

[[test]]
name = "backends_extendr_enum_conversions_test"
path = "tests/backends_extendr_enum_conversions_test.rs"

[[test]]
name = "backends_extendr_gen_bindings_test"
path = "tests/backends_extendr_gen_bindings_test.rs"

[[test]]
name = "backends_ffi_gen_bindings_test"
path = "tests/backends_ffi_gen_bindings_test.rs"

[[test]]
name = "backends_gleam_docs_test"
path = "tests/backends_gleam_docs_test.rs"

[[test]]
name = "backends_gleam_gen_bindings_test"
path = "tests/backends_gleam_gen_bindings_test.rs"

[[test]]
name = "backends_gleam_snapshot_test"
path = "tests/backends_gleam_snapshot_test.rs"

[[test]]
name = "backends_go_cgo_vtable_type_test"
path = "tests/backends_go_cgo_vtable_type_test.rs"

[[test]]
name = "backends_go_gen_bindings_test"
path = "tests/backends_go_gen_bindings_test.rs"

[[test]]
name = "backends_go_gen_visitor_test"
path = "tests/backends_go_gen_visitor_test.rs"

[[test]]
name = "backends_go_go_emission_test"
path = "tests/backends_go_go_emission_test.rs"

[[test]]
name = "backends_go_snapshot_test"
path = "tests/backends_go_snapshot_test.rs"

[[test]]
name = "backends_java_builder_nullable_qualified_type_regression"
path = "tests/backends_java_builder_nullable_qualified_type_regression.rs"

[[test]]
name = "backends_java_docs_emission_test"
path = "tests/backends_java_docs_emission_test.rs"

[[test]]
name = "backends_java_gen_bindings_test"
path = "tests/backends_java_gen_bindings_test.rs"

[[test]]
name = "backends_java_serde_default_named_path_test"
path = "tests/backends_java_serde_default_named_path_test.rs"

[[test]]
name = "backends_java_serde_default_sealed_interface_test"
path = "tests/backends_java_serde_default_sealed_interface_test.rs"

[[test]]
name = "backends_java_serde_default_tuple_test"
path = "tests/backends_java_serde_default_tuple_test.rs"

[[test]]
name = "backends_java_snapshot_test"
path = "tests/backends_java_snapshot_test.rs"

[[test]]
name = "backends_jni_gen_shims_test"
path = "tests/backends_jni_gen_shims_test.rs"

[[test]]
name = "backends_kotlin_android_docs_emission_test"
path = "tests/backends_kotlin_android_docs_emission_test.rs"

[[test]]
name = "backends_kotlin_android_gen_bindings_test"
path = "tests/backends_kotlin_android_gen_bindings_test.rs"

[[test]]
name = "backends_kotlin_android_snapshot_test"
path = "tests/backends_kotlin_android_snapshot_test.rs"

[[test]]
name = "backends_kotlin_docs_test"
path = "tests/backends_kotlin_docs_test.rs"

[[test]]
name = "backends_kotlin_gen_bindings_test"
path = "tests/backends_kotlin_gen_bindings_test.rs"

[[test]]
name = "backends_kotlin_gen_mpp_test"
path = "tests/backends_kotlin_gen_mpp_test.rs"

[[test]]
name = "backends_kotlin_gen_native_test"
path = "tests/backends_kotlin_gen_native_test.rs"

[[test]]
name = "backends_kotlin_jni_edge_cases_test"
path = "tests/backends_kotlin_jni_edge_cases_test.rs"

[[test]]
name = "backends_kotlin_jni_emitter_test"
path = "tests/backends_kotlin_jni_emitter_test.rs"

[[test]]
name = "backends_kotlin_snapshot_test"
path = "tests/backends_kotlin_snapshot_test.rs"

[[test]]
name = "backends_kotlin_test_literal_normalizer"
path = "tests/backends_kotlin_test_literal_normalizer.rs"

[[test]]
name = "backends_magnus_gen_bindings_test"
path = "tests/backends_magnus_gen_bindings_test.rs"

[[test]]
name = "backends_magnus_gen_stubs_test"
path = "tests/backends_magnus_gen_stubs_test.rs"

[[test]]
name = "backends_napi_auto_delegate_test"
path = "tests/backends_napi_auto_delegate_test.rs"

[[test]]
name = "backends_napi_gen_bindings_test"
path = "tests/backends_napi_gen_bindings_test.rs"

[[test]]
name = "backends_napi_trait_bridge_options_field_test"
path = "tests/backends_napi_trait_bridge_options_field_test.rs"

[[test]]
name = "backends_php_gen_bindings_test"
path = "tests/backends_php_gen_bindings_test.rs"

[[test]]
name = "backends_pyo3_gen_bindings_test"
path = "tests/backends_pyo3_gen_bindings_test.rs"

[[test]]
name = "backends_pyo3_gen_stubs_test"
path = "tests/backends_pyo3_gen_stubs_test.rs"

[[test]]
name = "backends_rustler_elixir_module_doc_test"
path = "tests/backends_rustler_elixir_module_doc_test.rs"

[[test]]
name = "backends_rustler_elixir_streaming_blank_lines_test"
path = "tests/backends_rustler_elixir_streaming_blank_lines_test.rs"

[[test]]
name = "backends_rustler_elixir_struct_typespec_test"
path = "tests/backends_rustler_elixir_struct_typespec_test.rs"

[[test]]
name = "backends_rustler_gen_public_api_test"
path = "tests/backends_rustler_gen_public_api_test.rs"

[[test]]
name = "backends_rustler_mut_ref_closure_test"
path = "tests/backends_rustler_mut_ref_closure_test.rs"

[[test]]
name = "backends_rustler_native_module_header_test"
path = "tests/backends_rustler_native_module_header_test.rs"

[[test]]
name = "backends_rustler_streaming_error_exception_test"
path = "tests/backends_rustler_streaming_error_exception_test.rs"

[[test]]
name = "backends_rustler_trait_bridge_test"
path = "tests/backends_rustler_trait_bridge_test.rs"

[[test]]
name = "backends_swift_codable_defaults_test"
path = "tests/backends_swift_codable_defaults_test.rs"

[[test]]
name = "backends_swift_gen_bindings_test"
path = "tests/backends_swift_gen_bindings_test.rs"

[[test]]
name = "backends_swift_gen_rust_crate_test"
path = "tests/backends_swift_gen_rust_crate_test.rs"

[[test]]
name = "backends_swift_json_string_overloads_test"
path = "tests/backends_swift_json_string_overloads_test.rs"

[[test]]
name = "backends_swift_snapshot_test"
path = "tests/backends_swift_snapshot_test.rs"

[[test]]
name = "backends_swift_target_dep_overrides_test"
path = "tests/backends_swift_target_dep_overrides_test.rs"

[[test]]
name = "backends_swift_trait_bridge_snapshot"
path = "tests/backends_swift_trait_bridge_snapshot.rs"

[[test]]
name = "backends_wasm_gen_bindings_test"
path = "tests/backends_wasm_gen_bindings_test.rs"

[[test]]
name = "backends_wasm_trait_bridge_options_field_test"
path = "tests/backends_wasm_trait_bridge_options_field_test.rs"

[[test]]
name = "backends_wasm_wasm_visitor_substitution"
path = "tests/backends_wasm_wasm_visitor_substitution.rs"

[[test]]
name = "backends_zig_docs_emission_test"
path = "tests/backends_zig_docs_emission_test.rs"

[[test]]
name = "backends_zig_docs_test"
path = "tests/backends_zig_docs_test.rs"

[[test]]
name = "backends_zig_gen_bindings_test"
path = "tests/backends_zig_gen_bindings_test.rs"

[[test]]
name = "backends_zig_snapshot_test"
path = "tests/backends_zig_snapshot_test.rs"

[[test]]
name = "cli_cleanup"
path = "tests/cli_cleanup.rs"

[[test]]
name = "cli_generate_format_flag"
path = "tests/cli_generate_format_flag.rs"

[[test]]
name = "cli_load_config"
path = "tests/cli_load_config.rs"

[[test]]
name = "cli_no_project_special_casing"
path = "tests/cli_no_project_special_casing.rs"

[[test]]
name = "codegen_async_body_tokio_braces"
path = "tests/codegen_async_body_tokio_braces.rs"

[[test]]
name = "codegen_enum_binding_to_core_exhaustive_match"
path = "tests/codegen_enum_binding_to_core_exhaustive_match.rs"

[[test]]
name = "codegen_integration_test"
path = "tests/codegen_integration_test.rs"

[[test]]
name = "config_schema_test"
path = "tests/config_schema_test.rs"

[[test]]
name = "core_setup_config_test"
path = "tests/core_setup_config_test.rs"

[[test]]
name = "e2e_brew_unsupported_in_call"
path = "tests/e2e_brew_unsupported_in_call.rs"

[[test]]
name = "e2e_c_gitignore_emission"
path = "tests/e2e_c_gitignore_emission.rs"

[[test]]
name = "e2e_c_makefile_smoke_and_test_targets"
path = "tests/e2e_c_makefile_smoke_and_test_targets.rs"

[[test]]
name = "e2e_c_result_type_name"
path = "tests/e2e_c_result_type_name.rs"

[[test]]
name = "e2e_cargo_toml_generation"
path = "tests/e2e_cargo_toml_generation.rs"

[[test]]
name = "e2e_codegen_kotlin_android_test_backend_snapshot"
path = "tests/e2e_codegen_kotlin_android_test_backend_snapshot.rs"

[[test]]
name = "e2e_codegen_rust_test_backend_snapshot"
path = "tests/e2e_codegen_rust_test_backend_snapshot.rs"

[[test]]
name = "e2e_codegen_rust_unused_var"
path = "tests/e2e_codegen_rust_unused_var.rs"

[[test]]
name = "e2e_csharp_config_type_inference"
path = "tests/e2e_csharp_config_type_inference.rs"

[[test]]
name = "e2e_csharp_enum_variant_struct"
path = "tests/e2e_csharp_enum_variant_struct.rs"

[[test]]
name = "e2e_csharp_opaque_streaming_wrapper"
path = "tests/e2e_csharp_opaque_streaming_wrapper.rs"

[[test]]
name = "e2e_csharp_serde_default_field"
path = "tests/e2e_csharp_serde_default_field.rs"

[[test]]
name = "e2e_csharp_trait_bridge_register_return"
path = "tests/e2e_csharp_trait_bridge_register_return.rs"

[[test]]
name = "e2e_csharp_tuple_default"
path = "tests/e2e_csharp_tuple_default.rs"

[[test]]
name = "e2e_csharp_value_type_default_construct"
path = "tests/e2e_csharp_value_type_default_construct.rs"

[[test]]
name = "e2e_dart_client_factory"
path = "tests/e2e_dart_client_factory.rs"

[[test]]
name = "e2e_dart_env_consumption"
path = "tests/e2e_dart_env_consumption.rs"

[[test]]
name = "e2e_dart_int_positional_arg"
path = "tests/e2e_dart_int_positional_arg.rs"

[[test]]
name = "e2e_dart_mime_type_positional_arg"
path = "tests/e2e_dart_mime_type_positional_arg.rs"

[[test]]
name = "e2e_dart_mock_server_build_error_string"
path = "tests/e2e_dart_mock_server_build_error_string.rs"

[[test]]
name = "e2e_dart_nullable_string_assertion"
path = "tests/e2e_dart_nullable_string_assertion.rs"

[[test]]
name = "e2e_dart_page_action_conditional"
path = "tests/e2e_dart_page_action_conditional.rs"

[[test]]
name = "e2e_dart_scalar_array_arg"
path = "tests/e2e_dart_scalar_array_arg.rs"

[[test]]
name = "e2e_dart_teardown_all_not_empty"
path = "tests/e2e_dart_teardown_all_not_empty.rs"

[[test]]
name = "e2e_elixir_keyword_opts_threshold"
path = "tests/e2e_elixir_keyword_opts_threshold.rs"

[[test]]
name = "e2e_elixir_plugin_trait_stubs"
path = "tests/e2e_elixir_plugin_trait_stubs.rs"

[[test]]
name = "e2e_elixir_tagged_enum"
path = "tests/e2e_elixir_tagged_enum.rs"

[[test]]
name = "e2e_elixir_unused_variable_prefix"
path = "tests/e2e_elixir_unused_variable_prefix.rs"

[[test]]
name = "e2e_exclude_categories"
path = "tests/e2e_exclude_categories.rs"

[[test]]
name = "e2e_field_path_array"
path = "tests/e2e_field_path_array.rs"

[[test]]
name = "e2e_generic_call_recipe"
path = "tests/e2e_generic_call_recipe.rs"

[[test]]
name = "e2e_gleam_client_factory"
path = "tests/e2e_gleam_client_factory.rs"

[[test]]
name = "e2e_go_mock_server_bootstrap_test"
path = "tests/e2e_go_mock_server_bootstrap_test.rs"

[[test]]
name = "e2e_go_scalar_return_handling"
path = "tests/e2e_go_scalar_return_handling.rs"

[[test]]
name = "e2e_go_sum_regeneration_test"
path = "tests/e2e_go_sum_regeneration_test.rs"

[[test]]
name = "e2e_java_enum_serde_default"
path = "tests/e2e_java_enum_serde_default.rs"

[[test]]
name = "e2e_java_from_json_codegen"
path = "tests/e2e_java_from_json_codegen.rs"

[[test]]
name = "e2e_java_json_object_arg_with_value"
path = "tests/e2e_java_json_object_arg_with_value.rs"

[[test]]
name = "e2e_java_mvnw_wrapper_test"
path = "tests/e2e_java_mvnw_wrapper_test.rs"

[[test]]
name = "e2e_java_pom_native_lib_fallback_test"
path = "tests/e2e_java_pom_native_lib_fallback_test.rs"

[[test]]
name = "e2e_java_serde_default_enum_uses_default_variant"
path = "tests/e2e_java_serde_default_enum_uses_default_variant.rs"

[[test]]
name = "e2e_kotlin_android_codegen"
path = "tests/e2e_kotlin_android_codegen.rs"

[[test]]
name = "e2e_kotlin_android_optional_config_arg"
path = "tests/e2e_kotlin_android_optional_config_arg.rs"

[[test]]
name = "e2e_kotlin_array_of_strings_arg"
path = "tests/e2e_kotlin_array_of_strings_arg.rs"

[[test]]
name = "e2e_kotlin_client_factory"
path = "tests/e2e_kotlin_client_factory.rs"

[[test]]
name = "e2e_kotlin_contains_string_field"
path = "tests/e2e_kotlin_contains_string_field.rs"

[[test]]
name = "e2e_kotlin_nullable_boolean_assertion"
path = "tests/e2e_kotlin_nullable_boolean_assertion.rs"

[[test]]
name = "e2e_language_resolution"
path = "tests/e2e_language_resolution.rs"

[[test]]
name = "e2e_mock_server_headers"
path = "tests/e2e_mock_server_headers.rs"

[[test]]
name = "e2e_mock_server_spawn_harness"
path = "tests/e2e_mock_server_spawn_harness.rs"

[[test]]
name = "e2e_mock_servers_url_emission"
path = "tests/e2e_mock_servers_url_emission.rs"

[[test]]
name = "e2e_node_test_app_pnpm_lock_regeneration"
path = "tests/e2e_node_test_app_pnpm_lock_regeneration.rs"

[[test]]
name = "e2e_php_accessor_extraction_ordering"
path = "tests/e2e_php_accessor_extraction_ordering.rs"

[[test]]
name = "e2e_php_chunks_count_min_non_streaming"
path = "tests/e2e_php_chunks_count_min_non_streaming.rs"

[[test]]
name = "e2e_php_config_fully_qualified"
path = "tests/e2e_php_config_fully_qualified.rs"

[[test]]
name = "e2e_php_enum_default_variant_in_from_impl"
path = "tests/e2e_php_enum_default_variant_in_from_impl.rs"

[[test]]
name = "e2e_php_optional_arg_slots_and_call_options_type"
path = "tests/e2e_php_optional_arg_slots_and_call_options_type.rs"

[[test]]
name = "e2e_php_serde_rename_all_respects_core_config"
path = "tests/e2e_php_serde_rename_all_respects_core_config.rs"

[[test]]
name = "e2e_ruby_array_literals_in_positional_args"
path = "tests/e2e_ruby_array_literals_in_positional_args.rs"

[[test]]
name = "e2e_ruby_not_error_only_fixtures"
path = "tests/e2e_ruby_not_error_only_fixtures.rs"

[[test]]
name = "e2e_rust_call_overrides"
path = "tests/e2e_rust_call_overrides.rs"

[[test]]
name = "e2e_rust_function_call_fixtures"
path = "tests/e2e_rust_function_call_fixtures.rs"

[[test]]
name = "e2e_rust_no_unused_imports"
path = "tests/e2e_rust_no_unused_imports.rs"

[[test]]
name = "e2e_rust_unused_mock_server"
path = "tests/e2e_rust_unused_mock_server.rs"

[[test]]
name = "e2e_swift_async_test_methods_test"
path = "tests/e2e_swift_async_test_methods_test.rs"

[[test]]
name = "e2e_swift_client_factory"
path = "tests/e2e_swift_client_factory.rs"

[[test]]
name = "e2e_swift_config_from_json_helper"
path = "tests/e2e_swift_config_from_json_helper.rs"

[[test]]
name = "e2e_swift_labelled_args"
path = "tests/e2e_swift_labelled_args.rs"

[[test]]
name = "e2e_swift_opaque_chain_and_vec_accessors"
path = "tests/e2e_swift_opaque_chain_and_vec_accessors.rs"

[[test]]
name = "e2e_swift_opaque_root_method_call_syntax"
path = "tests/e2e_swift_opaque_root_method_call_syntax.rs"

[[test]]
name = "e2e_swift_optional_chain_not_empty"
path = "tests/e2e_swift_optional_chain_not_empty.rs"

[[test]]
name = "e2e_swift_residual_e2e_codegen_bugs"
path = "tests/e2e_swift_residual_e2e_codegen_bugs.rs"

[[test]]
name = "e2e_swift_swift_format_ignore_header"
path = "tests/e2e_swift_swift_format_ignore_header.rs"

[[test]]
name = "e2e_typescript_oxfmt_idempotent"
path = "tests/e2e_typescript_oxfmt_idempotent.rs"

[[test]]
name = "e2e_typescript_trait_bridge_async_test"
path = "tests/e2e_typescript_trait_bridge_async_test.rs"

[[test]]
name = "e2e_validation_error_wrapping"
path = "tests/e2e_validation_error_wrapping.rs"

[[test]]
name = "e2e_wasm_language_auto_skip"
path = "tests/e2e_wasm_language_auto_skip.rs"

[[test]]
name = "e2e_wasm_non_http_fixtures"
path = "tests/e2e_wasm_non_http_fixtures.rs"

[[test]]
name = "e2e_wasm_pkg_nodejs_dep"
path = "tests/e2e_wasm_pkg_nodejs_dep.rs"

[[test]]
name = "e2e_zig_addtest_name"
path = "tests/e2e_zig_addtest_name.rs"

[[test]]
name = "e2e_zig_addtest_use_llvm_install"
path = "tests/e2e_zig_addtest_use_llvm_install.rs"

[[test]]
name = "e2e_zig_client_factory"
path = "tests/e2e_zig_client_factory.rs"

[[test]]
name = "e2e_zig_infallible_no_try"
path = "tests/e2e_zig_infallible_no_try.rs"

[[test]]
name = "e2e_zig_link_libc"
path = "tests/e2e_zig_link_libc.rs"

[[test]]
name = "e2e_zig_not_error_optional_result"
path = "tests/e2e_zig_not_error_optional_result.rs"

[[test]]
name = "e2e_zig_registry_dependency"
path = "tests/e2e_zig_registry_dependency.rs"

[[test]]
name = "e2e_zig_skip_negative_comparator"
path = "tests/e2e_zig_skip_negative_comparator.rs"

[[test]]
name = "extendr_missing_conversions_comprehensive"
path = "tests/extendr_missing_conversions_comprehensive.rs"

[[test]]
name = "extendr_output_only_enum_conversions"
path = "tests/extendr_output_only_enum_conversions.rs"

[[test]]
name = "extendr_return_type_conversions"
path = "tests/extendr_return_type_conversions.rs"

[[test]]
name = "extendr_transitive_type_conversions"
path = "tests/extendr_transitive_type_conversions.rs"

[[test]]
name = "java_enum_param_free_handle_regression"
path = "tests/java_enum_param_free_handle_regression.rs"

[[test]]
name = "project_mentions_hook"
path = "tests/project_mentions_hook.rs"

[[test]]
name = "scaffold_elixir_external_src_test"
path = "tests/scaffold_elixir_external_src_test.rs"

[[test]]
name = "scaffold_elixir_nif_cargo_patch_test"
path = "tests/scaffold_elixir_nif_cargo_patch_test.rs"

[[test]]
name = "scaffold_napi_cargo_tokio_util_test"
path = "tests/scaffold_napi_cargo_tokio_util_test.rs"

[[test]]
name = "service_api_jvm_symbol_consistency"
path = "tests/service_api_jvm_symbol_consistency.rs"

[[test]]
name = "service_api_no_stub_markers"
path = "tests/service_api_no_stub_markers.rs"

[[test]]
name = "swift_coding_keys_formatting_regression"
path = "tests/swift_coding_keys_formatting_regression.rs"

[[test]]
name = "swift_string_return_conversion_regression"
path = "tests/swift_string_return_conversion_regression.rs"

[[test]]
name = "swift_trait_bridge_vec_symbols"
path = "tests/swift_trait_bridge_vec_symbols.rs"

[[test]]
name = "swift_vec_opaque_accessors_regression"
path = "tests/swift_vec_opaque_accessors_regression.rs"

[[bench]]
name = "backends_dart_emit"
path = "benches/backends_dart_emit.rs"
harness = false

[[bench]]
name = "backends_gleam_emit"
path = "benches/backends_gleam_emit.rs"
harness = false

[[bench]]
name = "backends_kotlin_emit"
path = "benches/backends_kotlin_emit.rs"
harness = false

[[bench]]
name = "backends_swift_emit"
path = "benches/backends_swift_emit.rs"
harness = false

[[bench]]
name = "backends_zig_emit"
path = "benches/backends_zig_emit.rs"
harness = false

[dependencies.ahash]
version = "0.8"

[dependencies.anyhow]
version = "1"

[dependencies.base64]
version = "0.22"

[dependencies.blake3]
version = "1"

[dependencies.chrono]
version = "0.4"
features = ["clock"]
default-features = false

[dependencies.clap]
version = "4"
features = ["derive"]

[dependencies.glob]
version = "0.3"

[dependencies.heck]
version = "0.5"

[dependencies.jsonschema]
version = "0.46"
features = ["resolve-file"]
default-features = false

[dependencies.minijinja]
version = "2"

[dependencies.quote]
version = "1"

[dependencies.rayon]
version = "1"

[dependencies.regex]
version = "1"

[dependencies.schemars]
version = "1"

[dependencies.semver]
version = "1"

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.serde_yaml]
version = "0.9"

[dependencies.sha2]
version = "0.11"

[dependencies.similar]
version = "3"

[dependencies.syn]
version = "2"
features = [
    "full",
    "parsing",
    "visit",
]

[dependencies.tempfile]
version = "3"

[dependencies.thiserror]
version = "2"

[dependencies.toml]
version = "1.1"

[dependencies.toml_edit]
version = "0.25"

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-subscriber]
version = "0.3"
features = [
    "fmt",
    "env-filter",
]

[dependencies.ureq]
version = "3"
features = ["json"]

[dependencies.walkdir]
version = "2"

[dependencies.which]
version = "8"

[dependencies.zip]
version = "8"
features = ["deflate"]
default-features = false

[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]

[dev-dependencies.insta]
version = "1.47"
features = ["redactions"]

[dev-dependencies.tracing-test]
version = "0.2"
