1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
[]
= "lua-stdlib"
= true
= "omniLua's Lua standard library — internal crate; depend on `omnilua`."
= true
= true
= true
= true
= true
[]
= "forbid"
= "deny"
# Sandbox-forbidden stdlib modules are feature-gated so embedders that run
# omnilua in a Redis-style sandbox (e.g. Valdr/EdgeStash on wasm) can compile
# them out entirely — both to shrink the bundle and to avoid linking fs/loader/
# OS code the sandbox deliberately forbids. `default` enables everything, so a
# normal build, LuaRocks, and the official suite are unchanged. A lean build is
# `--no-default-features` plus whatever subset the embedder actually exposes.
[]
= ["full"]
# `full` is every standard library — the all-on profile. `default` maps to it so
# a direct `lua-stdlib` dependency is unchanged. In-workspace consumers that want
# everything ask for `features = ["full"]`, because the workspace dependency is
# declared `default-features = false` (a workspace-inherited `default-features`
# override is silently ignored by Cargo, so the off-switch must live at the root).
= ["io", "os", "package", "debug", "coroutine", "utf8", "bit32"]
= []
= []
= []
= []
= []
= []
# `debug.traceback`/`getinfo` introspect coroutine threads through coro_lib
# helpers, so the debug library cannot compile without the coroutine library.
= ["coroutine"]
[]
= true
= true
# `omnilua` (the embedding crate) depends on `lua-stdlib`, so it can only appear
# here as a DEV-dependency — dev-deps do not participate in the normal build
# graph, so this does not form a build cycle. It is used by the white-box
# behavioral tests in `tests/` that must inspect the raw `Value::Integer` vs
# `Value::Number` distinction that Lua's own `type()` cannot observe under the
# float-only (5.1/5.2) number model.
[]
= { = "../lua-rs-runtime" }