# A fork of the `mlua-sys` crate (MIT, github.com/mlua-rs/mlua), pinned to the version mlua 0.11 # resolves to, carrying one deliberate change to its Lua 5.1 compatibility shim. Wired in through # `[patch.crates-io]` in the workspace root. # # Why it exists: `src/lua51/compat.rs` back-ports Lua 5.3's `luaL_traceback`, whose frame naming # searches the whole globals table — and one level into every table in it — for each stack level. # mlua builds that traceback for every `Err` a Rust binding returns, so on a loaded 1.12 interface # (27,114 globals, 83,372 keys one level in) one `Usage:` raise cost 7.46 ms, and a raise an addon # wraps in `pcall` paid it invisibly. Neither Lua 5.1's own `debug.traceback` nor the 1.12 client's # `debugstack` ever searched a table for a name; the fork restores 5.1's naming. # # What changes: `BENILLA.md` lists the hunk and the command that verifies this tree against the # registry copy. Everything else, including the other five Lua dialects and Luau, is upstream's. # 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 = "mlua-sys" version = "0.10.0" authors = ["Aleksandr Orlenko "] build = "build/main.rs" links = "lua" autolib = false autobins = false autoexamples = false autotests = false autobenches = false description = """ Low level (FFI) bindings to Lua 5.5/5.4/5.3/5.2/5.1 (including LuaJIT) and Luau """ documentation = "https://docs.rs/mlua-sys" readme = "README.md" categories = ["external-ffi-bindings"] license = "MIT" repository = "https://github.com/mlua-rs/mlua" resolver = "2" [package.metadata.docs.rs] features = [ "lua55", "vendored", ] rustdoc-args = [ "--cfg", "docsrs", ] [features] external = [] lua51 = [] lua52 = [] lua53 = [] lua54 = [] lua55 = [] luajit = [] luajit52 = ["luajit"] luau = ["luau0-src"] luau-codegen = ["luau"] luau-vector4 = ["luau"] module = [] vendored = [ "lua-src", "luajit-src", ] [lib] name = "mlua_sys" path = "src/lib.rs" [dependencies.libc] version = "0.2" [build-dependencies.cc] version = "1.0" [build-dependencies.cfg-if] version = "1.0" [build-dependencies.lua-src] version = ">= 550.0.0, < 550.1.0" optional = true [build-dependencies.luajit-src] version = ">= 210.6.0, < 210.7.0" optional = true [build-dependencies.luau0-src] version = "0.18.0" optional = true [build-dependencies.pkg-config] version = "0.3.17" [lints.rust.unexpected_cfgs] level = "allow" priority = 0 check-cfg = ["cfg(raw_dylib)"]