[package]
edition = "2024"
rust-version = "1.86"
name = "luna-core"
version = "2.3.0"
authors = ["GOLIA K.K. <lihao@golia.jp>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Pure-Rust Lua runtime (interpreter only, zero third-party dependencies). The JIT-equipped variant lives in the `luna-jit` crate."
readme = "README.md"
keywords = [
"lua",
"vm",
"interpreter",
"jit",
"embedded",
]
categories = [
"compilers",
"no-std",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/goliajp/luna"
resolver = "2"
[features]
default = []
send = []
[lib]
name = "luna_core"
crate-type = ["rlib"]
path = "src/lib.rs"
[[example]]
name = "embed_min"
path = "examples/embed_min.rs"
[[test]]
name = "a4_prime_index_lhs_elision"
path = "tests/a4_prime_index_lhs_elision.rs"
[[test]]
name = "a4_prime_rhs_walker"
path = "tests/a4_prime_rhs_walker.rs"
[[test]]
name = "a4_triple_double_bundle"
path = "tests/a4_triple_double_bundle.rs"
[[test]]
name = "a4_triple_prime_jump_target"
path = "tests/a4_triple_prime_jump_target.rs"
[[test]]
name = "aot_trace_install"
path = "tests/aot_trace_install.rs"
[[test]]
name = "async_hook_composition"
path = "tests/async_hook_composition.rs"
[[test]]
name = "async_native"
path = "tests/async_native.rs"
[[test]]
name = "c4_str_fastpath"
path = "tests/c4_str_fastpath.rs"
[[test]]
name = "cb_edge_compiler_stress"
path = "tests/cb_edge_compiler_stress.rs"
[[test]]
name = "cb_edge_coroutine_hook"
path = "tests/cb_edge_coroutine_hook.rs"
[[test]]
name = "cb_edge_gc_finalizer"
path = "tests/cb_edge_gc_finalizer.rs"
[[test]]
name = "cv_aot_meta_walker"
path = "tests/cv_aot_meta_walker.rs"
[[test]]
name = "cv_async_drive"
path = "tests/cv_async_drive.rs"
[[test]]
name = "cv_pattern"
path = "tests/cv_pattern.rs"
[[test]]
name = "diff_puc"
path = "tests/diff_puc.rs"
[[test]]
name = "e2e_programs"
path = "tests/e2e_programs.rs"
[[test]]
name = "eval_async"
path = "tests/eval_async.rs"
[[test]]
name = "heavy_lua_parser_budget"
path = "tests/heavy_lua_parser_budget.rs"
[[test]]
name = "host_roots_slot_recycling"
path = "tests/host_roots_slot_recycling.rs"
[[test]]
name = "io_popen_double_close"
path = "tests/io_popen_double_close.rs"
[[test]]
name = "j_c_zero_cost_default"
path = "tests/j_c_zero_cost_default.rs"
[[test]]
name = "lua_error_structured"
path = "tests/lua_error_structured.rs"
[[test]]
name = "macro_lua"
path = "tests/macro_lua.rs"
[[test]]
name = "native_typed"
path = "tests/native_typed.rs"
[[test]]
name = "official_run"
path = "tests/official_run.rs"
[[test]]
name = "parse_official"
path = "tests/parse_official.rs"
[[test]]
name = "pi_a3_newindex_collapse"
path = "tests/pi_a3_newindex_collapse.rs"
[[test]]
name = "proto_stable_hash"
path = "tests/proto_stable_hash.rs"
[[test]]
name = "puc_51_undump"
path = "tests/puc_51_undump.rs"
[[test]]
name = "puc_52_undump"
path = "tests/puc_52_undump.rs"
[[test]]
name = "puc_53_undump"
path = "tests/puc_53_undump.rs"
[[test]]
name = "puc_54_undump"
path = "tests/puc_54_undump.rs"
[[test]]
name = "puc_55_undump"
path = "tests/puc_55_undump.rs"
[[test]]
name = "rust_coroutine"
path = "tests/rust_coroutine.rs"
[[test]]
name = "rust_debug_hook"
path = "tests/rust_debug_hook.rs"
[[test]]
name = "sandbox_builder"
path = "tests/sandbox_builder.rs"
[[test]]
name = "send_vm"
path = "tests/send_vm.rs"
[[test]]
name = "smoke"
path = "tests/smoke.rs"
[[test]]
name = "sort_gc_during_compare"
path = "tests/sort_gc_during_compare.rs"
[[test]]
name = "syntax"
path = "tests/syntax.rs"
[[test]]
name = "table_builder"
path = "tests/table_builder.rs"
[[test]]
name = "toomanyidx_memory_cap"
path = "tests/toomanyidx_memory_cap.rs"
[[test]]
name = "try_set_existing_nil_tombstone"
path = "tests/try_set_existing_nil_tombstone.rs"
[[test]]
name = "userdata_host"
path = "tests/userdata_host.rs"
[[test]]
name = "userdata_trace_bearing"
path = "tests/userdata_trace_bearing.rs"
[[test]]
name = "userdata_trait"
path = "tests/userdata_trait.rs"
[[test]]
name = "v2_2_uaf_a_sort_aa_asan"
path = "tests/v2_2_uaf_a_sort_aa_asan.rs"
[[test]]
name = "vm"
path = "tests/vm.rs"
[[bench]]
name = "mem_baseline"
path = "benches/mem_baseline.rs"
harness = false
[dependencies]
[dev-dependencies.dhat]
version = "0.3"
[lints.clippy]
doc_lazy_continuation = "allow"
doc_overindented_list_items = "allow"
incompatible_msrv = "allow"
missing_safety_doc = "allow"
needless_range_loop = "allow"
too_many_arguments = "allow"
type_complexity = "allow"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(luna_aot_runtime_stub)"]