mlua 0.10.1

High level bindings to Lua 5.4/5.3/5.2/5.1 (including LuaJIT) and Roblox Luau with async/await features and support of writing native Lua modules in Rust.
Documentation
[[bench]]
harness = false
name = "benchmark"
path = "benches/benchmark.rs"
required-features = ["async"]

[[bench]]
harness = false
name = "serde"
path = "benches/serde.rs"
required-features = ["serialize"]

[dependencies.anyhow]
optional = true
version = "1.0"

[dependencies.bstr]
default-features = false
features = ["std"]
version = "1.0"

[dependencies.either]
version = "1.0"

[dependencies.erased-serde]
optional = true
version = "0.4"

[dependencies.ffi]
package = "mlua-sys"
version = "0.6.5"

[dependencies.futures-util]
default-features = false
features = ["std"]
optional = true
version = "0.3"

[dependencies.mlua_derive]
optional = true
version = "=0.10.0"

[dependencies.num-traits]
version = "0.2.14"

[dependencies.parking_lot]
features = ["arc_lock"]
version = "0.12"

[dependencies.rustc-hash]
version = "2.0"

[dependencies.serde]
optional = true
version = "1.0"

[dependencies.serde-value]
optional = true
version = "0.7"

[dev-dependencies.http-body-util]
version = "0.1.1"

[dev-dependencies.hyper]
features = ["full"]
version = "1.2"

[dev-dependencies.hyper-util]
features = ["full"]
version = "0.1.3"

[dev-dependencies.maplit]
version = "1.0"

[dev-dependencies.reqwest]
features = ["json"]
version = "0.12"

[dev-dependencies.serde]
features = ["derive"]
version = "1.0"

[dev-dependencies.serde_json]
features = ["arbitrary_precision"]
version = "1.0"

[dev-dependencies.static_assertions]
version = "1.0"

[dev-dependencies.tempfile]
version = "3"

[dev-dependencies.tokio]
features = ["macros", "rt", "time"]
version = "1.0"

[dev-dependencies.trybuild]
version = "1.0"

[[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", "serialize", "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 = "serialize"
path = "examples/serialize.rs"
required-features = ["serialize"]

[[example]]
name = "userdata"
path = "examples/userdata.rs"
required-features = ["macros"]

[features]
anyhow = ["dep:anyhow", "error-send"]
async = ["dep:futures-util"]
error-send = []
lua51 = ["ffi/lua51"]
lua52 = ["ffi/lua52"]
lua53 = ["ffi/lua53"]
lua54 = ["ffi/lua54"]
luajit = ["ffi/luajit"]
luajit52 = ["luajit", "ffi/luajit52"]
luau = ["ffi/luau", "dep:libloading"]
luau-jit = ["luau", "ffi/luau-codegen"]
luau-vector4 = ["luau", "ffi/luau-vector4"]
macros = ["mlua_derive/macros"]
module = ["dep:mlua_derive", "ffi/module"]
send = ["parking_lot/send_guard", "error-send"]
serialize = ["dep:serde", "dep:erased-serde", "dep:serde-value"]
userdata-wrappers = []
vendored = ["ffi/vendored"]

[lib]
name = "mlua"
path = "src/lib.rs"

[lints.rust.unexpected_cfgs]
check-cfg = ["cfg(tarpaulin_include)"]
level = "allow"
priority = 0

[package]
authors = ["Aleksandr Orlenko <zxteam@pm.me>", "kyren <catherine@kyju.org>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["api-bindings", "asynchronous"]
description = """
High level bindings to Lua 5.4/5.3/5.2/5.1 (including LuaJIT) and Roblox Luau
with async/await features and support of writing native Lua modules in Rust.
"""
documentation = "https://docs.rs/mlua"
edition = "2021"
keywords = ["lua", "luajit", "luau", "async", "scripting"]
license = "MIT"
name = "mlua"
readme = "README.md"
repository = "https://github.com/khvzak/mlua"
rust-version = "1.79.0"
version = "0.10.1"

[package.metadata.docs.rs]
features = ["lua54", "vendored", "async", "send", "serialize", "macros"]
rustdoc-args = ["--cfg", "docsrs"]

[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.criterion]
features = ["async_tokio"]
version = "0.5"

[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.rustyline]
version = "14.0"

[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.tokio]
features = ["full"]
version = "1.0"

[target."cfg(unix)".dependencies.libloading]
optional = true
version = "0.8"

[[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"