[package]
edition = "2021"
rust-version = "1.85.0"
name = "mlua"
version = "0.11.6"
authors = [
"Aleksandr Orlenko <zxteam@pm.me>",
"kyren <catherine@kyju.org>",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
High level bindings to Lua 5.5/5.4/5.3/5.2/5.1 (including LuaJIT) and Luau
with async/await features and support of writing native Lua modules in Rust.
"""
documentation = "https://docs.rs/mlua"
readme = "README.md"
keywords = [
"lua",
"luajit",
"luau",
"async",
"scripting",
]
categories = [
"api-bindings",
"asynchronous",
]
license = "MIT"
repository = "https://github.com/mlua-rs/mlua"
[package.metadata.docs.rs]
features = [
"lua55",
"vendored",
"async",
"send",
"serde",
"macros",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
anyhow = [
"dep:anyhow",
"error-send",
]
async = ["dep:futures-util"]
error-send = []
lua51 = ["ffi/lua51"]
lua52 = ["ffi/lua52"]
lua53 = ["ffi/lua53"]
lua54 = ["ffi/lua54"]
lua55 = ["ffi/lua55"]
luajit = ["ffi/luajit"]
luajit52 = [
"luajit",
"ffi/luajit52",
]
luau = ["ffi/luau"]
luau-jit = [
"luau",
"ffi/luau-codegen",
]
luau-vector4 = [
"luau",
"ffi/luau-vector4",
]
macros = ["mlua_derive/macros"]
module = [
"mlua_derive",
"ffi/module",
]
send = ["error-send"]
serde = [
"dep:serde",
"dep:erased-serde",
"dep:serde-value",
"bstr/serde",
]
serialize = ["serde"]
userdata-wrappers = ["parking_lot/send_guard"]
vendored = ["ffi/vendored"]
[lib]
name = "mlua"
path = "src/lib.rs"
[[example]]
name = "async_http_client"
path = "examples/async_http_client.rs"
required-features = [
"async",
"macros",
]
[[example]]
name = "async_http_reqwest"
path = "examples/async_http_reqwest.rs"
required-features = [
"async",
"serde",
"macros",
]
[[example]]
name = "async_http_server"
path = "examples/async_http_server.rs"
required-features = [
"async",
"macros",
"send",
]
[[example]]
name = "async_tcp_server"
path = "examples/async_tcp_server.rs"
required-features = [
"async",
"macros",
"send",
]
[[example]]
name = "guided_tour"
path = "examples/guided_tour.rs"
required-features = ["macros"]
[[example]]
name = "repl"
path = "examples/repl.rs"
[[example]]
name = "serde"
path = "examples/serde.rs"
required-features = ["serde"]
[[example]]
name = "userdata"
path = "examples/userdata.rs"
required-features = ["macros"]
[[test]]
name = "async"
path = "tests/async.rs"
[[test]]
name = "buffer"
path = "tests/buffer.rs"
[[test]]
name = "byte_string"
path = "tests/byte_string.rs"
[[test]]
name = "chunk"
path = "tests/chunk.rs"
[[test]]
name = "compile"
path = "tests/compile.rs"
[[test]]
name = "conversion"
path = "tests/conversion.rs"
[[test]]
name = "debug"
path = "tests/debug.rs"
[[test]]
name = "error"
path = "tests/error.rs"
[[test]]
name = "function"
path = "tests/function.rs"
[[test]]
name = "hooks"
path = "tests/hooks.rs"
[[test]]
name = "luau"
path = "tests/luau.rs"
[[test]]
name = "memory"
path = "tests/memory.rs"
[[test]]
name = "multi"
path = "tests/multi.rs"
[[test]]
name = "scope"
path = "tests/scope.rs"
[[test]]
name = "send"
path = "tests/send.rs"
[[test]]
name = "serde"
path = "tests/serde.rs"
[[test]]
name = "string"
path = "tests/string.rs"
[[test]]
name = "table"
path = "tests/table.rs"
[[test]]
name = "tests"
path = "tests/tests.rs"
[[test]]
name = "thread"
path = "tests/thread.rs"
[[test]]
name = "types"
path = "tests/types.rs"
[[test]]
name = "userdata"
path = "tests/userdata.rs"
[[test]]
name = "value"
path = "tests/value.rs"
[[bench]]
name = "benchmark"
path = "benches/benchmark.rs"
harness = false
required-features = ["async"]
[[bench]]
name = "serde"
path = "benches/serde.rs"
harness = false
required-features = ["serde"]
[dependencies.anyhow]
version = "1.0"
optional = true
[dependencies.bstr]
version = "1.0"
features = ["std"]
default-features = false
[dependencies.either]
version = "1.0"
[dependencies.erased-serde]
version = "0.4"
optional = true
[dependencies.ffi]
version = "0.10.0"
package = "mlua-sys"
[dependencies.futures-util]
version = "0.3"
features = ["std"]
optional = true
default-features = false
[dependencies.libc]
version = "0.2"
[dependencies.mlua_derive]
version = "=0.11.0"
optional = true
[dependencies.num-traits]
version = "0.2.14"
[dependencies.parking_lot]
version = "0.12"
features = ["arc_lock"]
[dependencies.rustc-hash]
version = "2.0"
[dependencies.rustversion]
version = "1.0"
[dependencies.serde]
version = "1.0"
optional = true
[dependencies.serde-value]
version = "0.7"
optional = true
[dev-dependencies.maplit]
version = "1.0"
[dev-dependencies.serde]
version = "1.0"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1.0"
features = ["arbitrary_precision"]
[dev-dependencies.static_assertions]
version = "1.0"
[dev-dependencies.tokio]
version = "1.0"
features = [
"macros",
"rt",
"time",
]
[dev-dependencies.trybuild]
version = "1.0"
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.criterion]
version = "0.7"
features = ["async_tokio"]
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.http-body-util]
version = "0.1.1"
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.hyper]
version = "1.2"
features = ["full"]
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.hyper-util]
version = "0.1.3"
features = ["full"]
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.reqwest]
version = "0.12"
features = ["json"]
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.rustyline]
version = "17.0"
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.tempfile]
version = "3"
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.tokio]
version = "1.0"
features = ["full"]
[lints.rust.unexpected_cfgs]
level = "allow"
priority = 0
check-cfg = ["cfg(tarpaulin_include)"]