[package]
edition = "2024"
rust-version = "1.88"
name = "zerodds-lang-rules"
version = "1.0.0-rc.7.1"
authors = ["ZeroDDS Contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Maps the common AST onto the language CSTs through rules that are data, not code: seesaw v2 rule specifications, comparable and checkable."
homepage = "https://zerodds.org"
documentation = "https://docs.rs/zerodds-lang-rules"
readme = "README.md"
keywords = [
"dds",
"idl",
"codegen",
"xcdr",
]
categories = [
"compilers",
"development-tools",
]
license = "Apache-2.0"
repository = "https://github.com/zero-objects/zero-dds"
resolver = "2"
[lib]
name = "zerodds_lang_rules"
path = "src/lib.rs"
[[test]]
name = "a_bound_belongs_to_the_hoisted_routine"
path = "tests/a_bound_belongs_to_the_hoisted_routine.rs"
[[test]]
name = "a_decoded_union_has_only_its_selected_case"
path = "tests/a_decoded_union_has_only_its_selected_case.rs"
[[test]]
name = "ada83_end_to_end"
path = "tests/ada83_end_to_end.rs"
[[test]]
name = "ada_end_to_end"
path = "tests/ada_end_to_end.rs"
[[test]]
name = "adapter"
path = "tests/adapter.rs"
[[test]]
name = "apply"
path = "tests/apply.rs"
[[test]]
name = "c_corpus_compiles"
path = "tests/c_corpus_compiles.rs"
[[test]]
name = "c_end_to_end"
path = "tests/c_end_to_end.rs"
[[test]]
name = "c_external_lifecycle"
path = "tests/c_external_lifecycle.rs"
[[test]]
name = "c_map_operations"
path = "tests/c_map_operations.rs"
[[test]]
name = "c_optional_and_external_run"
path = "tests/c_optional_and_external_run.rs"
[[test]]
name = "codec"
path = "tests/codec.rs"
[[test]]
name = "codec_backend_prerequisites"
path = "tests/codec_backend_prerequisites.rs"
[[test]]
name = "const_sign"
path = "tests/const_sign.rs"
[[test]]
name = "corpus_frontend_parity"
path = "tests/corpus_frontend_parity.rs"
[[test]]
name = "cpp_corpus_compiles"
path = "tests/cpp_corpus_compiles.rs"
[[test]]
name = "cpp_octet_runs"
path = "tests/cpp_octet_runs.rs"
[[test]]
name = "cpp_optional_and_external_run"
path = "tests/cpp_optional_and_external_run.rs"
[[test]]
name = "cpp_psm_external_run"
path = "tests/cpp_psm_external_run.rs"
[[test]]
name = "cpp_reader_generates"
path = "tests/cpp_reader_generates.rs"
[[test]]
name = "cpp_runtime_selftest"
path = "tests/cpp_runtime_selftest.rs"
[[test]]
name = "csharp_consumer_assembly"
path = "tests/csharp_consumer_assembly.rs"
[[test]]
name = "csharp_corpus_compiles"
path = "tests/csharp_corpus_compiles.rs"
[[test]]
name = "cxx_prefix_members"
path = "tests/cxx_prefix_members.rs"
[[test]]
name = "d_codec"
path = "tests/d_codec.rs"
[[test]]
name = "d_end_to_end"
path = "tests/d_end_to_end.rs"
[[test]]
name = "dcps_psm_idl"
path = "tests/dcps_psm_idl.rs"
[[test]]
name = "dds_core_external"
path = "tests/dds_core_external.rs"
[[test]]
name = "deep_nesting_is_refused"
path = "tests/deep_nesting_is_refused.rs"
[[test]]
name = "dependency_smoke"
path = "tests/dependency_smoke.rs"
[[test]]
name = "elixir_codec"
path = "tests/elixir_codec.rs"
[[test]]
name = "elixir_end_to_end"
path = "tests/elixir_end_to_end.rs"
[[test]]
name = "end_to_end"
path = "tests/end_to_end.rs"
[[test]]
name = "enhanced_bindings"
path = "tests/enhanced_bindings.rs"
[[test]]
name = "enhanced_cpp_calls"
path = "tests/enhanced_cpp_calls.rs"
[[test]]
name = "enhanced_empty_style"
path = "tests/enhanced_empty_style.rs"
[[test]]
name = "enhanced_java_calls"
path = "tests/enhanced_java_calls.rs"
[[test]]
name = "enhanced_type_information"
path = "tests/enhanced_type_information.rs"
[[test]]
name = "enumeration_and_bitmask_binding"
path = "tests/enumeration_and_bitmask_binding.rs"
[[test]]
name = "enumerator_ordinal"
path = "tests/enumerator_ordinal.rs"
[[test]]
name = "every_column_publishes_its_codec"
path = "tests/every_column_publishes_its_codec.rs"
[[test]]
name = "every_language_has_its_parts"
path = "tests/every_language_has_its_parts.rs"
[[test]]
name = "external_is_an_indirection"
path = "tests/external_is_an_indirection.rs"
[[test]]
name = "fsharp_end_to_end"
path = "tests/fsharp_end_to_end.rs"
[[test]]
name = "generate_contract"
path = "tests/generate_contract.rs"
[[test]]
name = "go_codec"
path = "tests/go_codec.rs"
[[test]]
name = "go_end_to_end"
path = "tests/go_end_to_end.rs"
[[test]]
name = "hdds_axes_are_refused"
path = "tests/hdds_axes_are_refused.rs"
[[test]]
name = "hdds_rust_codec"
path = "tests/hdds_rust_codec.rs"
[[test]]
name = "idl_spelling_recovery"
path = "tests/idl_spelling_recovery.rs"
[[test]]
name = "inherited_operations"
path = "tests/inherited_operations.rs"
[[test]]
name = "interface_bindings"
path = "tests/interface_bindings.rs"
[[test]]
name = "interface_cpp_psm_types"
path = "tests/interface_cpp_psm_types.rs"
[[test]]
name = "interface_rust_binding"
path = "tests/interface_rust_binding.rs"
[[test]]
name = "interface_shared_exception"
path = "tests/interface_shared_exception.rs"
[[test]]
name = "java_corpus_compiles"
path = "tests/java_corpus_compiles.rs"
[[test]]
name = "java_map_class"
path = "tests/java_map_class.rs"
[[test]]
name = "java_psm_mapping"
path = "tests/java_psm_mapping.rs"
[[test]]
name = "java_runtime_selftest"
path = "tests/java_runtime_selftest.rs"
[[test]]
name = "java_units"
path = "tests/java_units.rs"
[[test]]
name = "julia_end_to_end"
path = "tests/julia_end_to_end.rs"
[[test]]
name = "keyword_collision"
path = "tests/keyword_collision.rs"
[[test]]
name = "kotlin_and_node_refuse_rather_than_substitute"
path = "tests/kotlin_and_node_refuse_rather_than_substitute.rs"
[[test]]
name = "kotlin_empty_aggregate"
path = "tests/kotlin_empty_aggregate.rs"
[[test]]
name = "kotlin_end_to_end"
path = "tests/kotlin_end_to_end.rs"
[[test]]
name = "lua_codec"
path = "tests/lua_codec.rs"
[[test]]
name = "lua_end_to_end"
path = "tests/lua_end_to_end.rs"
[[test]]
name = "nim_codec"
path = "tests/nim_codec.rs"
[[test]]
name = "nim_end_to_end"
path = "tests/nim_end_to_end.rs"
[[test]]
name = "node_end_to_end"
path = "tests/node_end_to_end.rs"
[[test]]
name = "ocaml_codec"
path = "tests/ocaml_codec.rs"
[[test]]
name = "ocaml_end_to_end"
path = "tests/ocaml_end_to_end.rs"
[[test]]
name = "one_walk_two_targets"
path = "tests/one_walk_two_targets.rs"
[[test]]
name = "python_codec"
path = "tests/python_codec.rs"
[[test]]
name = "python_corpus_compiles"
path = "tests/python_corpus_compiles.rs"
[[test]]
name = "python_names_its_runtime"
path = "tests/python_names_its_runtime.rs"
[[test]]
name = "rpc_idl_zip_agrees"
path = "tests/rpc_idl_zip_agrees.rs"
[[test]]
name = "runtime_agreement"
path = "tests/runtime_agreement.rs"
[[test]]
name = "rust_corpus_compiles"
path = "tests/rust_corpus_compiles.rs"
[[test]]
name = "surrogate_default_is_not_folded"
path = "tests/surrogate_default_is_not_folded.rs"
[[test]]
name = "swift_codec"
path = "tests/swift_codec.rs"
[[test]]
name = "swift_end_to_end"
path = "tests/swift_end_to_end.rs"
[[test]]
name = "the_minimum_long_long_has_no_literal"
path = "tests/the_minimum_long_long_has_no_literal.rs"
[[test]]
name = "the_offset_domain_converts"
path = "tests/the_offset_domain_converts.rs"
[[test]]
name = "type_pair_cpp"
path = "tests/type_pair_cpp.rs"
[[test]]
name = "type_pair_java"
path = "tests/type_pair_java.rs"
[[test]]
name = "type_pair_rust"
path = "tests/type_pair_rust.rs"
[[test]]
name = "typescript_codec"
path = "tests/typescript_codec.rs"
[[test]]
name = "typescript_corpus_compiles"
path = "tests/typescript_corpus_compiles.rs"
[[test]]
name = "typescript_descriptors"
path = "tests/typescript_descriptors.rs"
[[test]]
name = "typescript_names_its_runtime"
path = "tests/typescript_names_its_runtime.rs"
[[test]]
name = "typescript_operations_profile"
path = "tests/typescript_operations_profile.rs"
[[test]]
name = "typescript_reader_generates"
path = "tests/typescript_reader_generates.rs"
[[test]]
name = "typescript_side_tables"
path = "tests/typescript_side_tables.rs"
[[test]]
name = "unevaluated"
path = "tests/unevaluated.rs"
[[test]]
name = "verbatim_end_to_end"
path = "tests/verbatim_end_to_end.rs"
[[test]]
name = "verbatim_every_column"
path = "tests/verbatim_every_column.rs"
[[test]]
name = "zig_end_to_end"
path = "tests/zig_end_to_end.rs"
[dependencies.seesaw-tgg]
version = "2.0.0"
[dependencies.serde_json]
version = "1"
[dependencies.zerodds-ast]
version = "1.0.0-rc.7"
[dependencies.zerodds-ast-core]
version = "1.0.0-rc.7"
[dependencies.zerodds-ast-layout]
version = "1.0.0-rc.7"
[dependencies.zerodds-lang-cst]
version = "1.0.0-rc.7"
[dependencies.zerodds-lang-render]
version = "1.0.0-rc.7"
[dependencies.zerodds-types]
version = "1.0.0-rc.7"
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.zerodds-idl-compose]
version = "1.0.0-rc.7"
[dev-dependencies.zerodds-idl-lower]
version = "1.0.0-rc.7"
[dev-dependencies.zerodds-idl-parse]
version = "1.0.0-rc.7"
[dev-dependencies.zerodds-wire]
version = "1.0.0-rc.7"
[lints.clippy]
dbg_macro = "deny"
doc_overindented_list_items = "allow"
expect_used = "deny"
panic = "deny"
print_stderr = "warn"
print_stdout = "warn"
todo = "deny"
unimplemented = "deny"
unreachable = "deny"
unwrap_used = "deny"
[lints.rust]
missing_docs = "warn"
unsafe_op_in_unsafe_fn = "deny"
[lints.rust.rust_2024_compatibility]
level = "warn"
priority = -1