[package]
name = "omnilua-cli"
version.workspace = true
description = "Every Lua, everywhere — pure-Rust Lua 5.1–5.5, suite-passing, LuaRocks-compatible, wasm-ready."
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
readme = "README.md"

# Phase D-3.5: lua-cli now hosts the libloading-backed dynamic library
# backend. `libloading` is FFI and unavoidably uses `unsafe`; the workspace
# `unsafe_code = "forbid"` is overridden locally. Each unsafe block carries a
# `// SAFETY: ...` comment; per-crate ceiling lives in
# `harness/unsafe-budgets.toml`.
[lints.rust]
unsafe_code = "allow"

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

[features]
dhat-heap = ["dep:dhat"]
fast-alloc = ["dep:mimalloc"]
opcode-profile = ["lua-vm/opcode-profile"]

[dependencies]
lua-gc.workspace = true
lua-types.workspace = true
lua-vm.workspace = true
lua-stdlib = { workspace = true, features = ["full"] }
lua-parse.workspace = true
lua-rs-lfs.workspace = true
libloading = "0.9"
rustyline = "14"
libc = "0.2"
dhat = { version = "0.3", optional = true }
mimalloc = { version = "0.1", optional = true }
