Expand description
LuaVersion — the single source of truth for which Lua language version a
runtime instance speaks.
This lives in lua-types, the lowest shared crate, so every layer above
(parser, compiler, VM, stdlib, runtime) can name the version without a
dependency cycle. Per the multi-version architecture decision
(specs/MULTIVERSION_ARCHITECTURE_DECISION.md §4, §5), the version is a
backend selector threaded from construction; it never appears in a public
embedding-API type.
Structs§
- Unsupported
- A typed record that a
Featureabsent on a givenLuaVersionwas requested at a host-API verb (issue #234). Carried by the public embedding error so a host can match the cause; seeomnilua::Error::as_unsupported.
Enums§
- Feature
- A version-divergent language capability — one present-or-absent row of the
support matrix (issue #234). Behavioral divergences (same call, different
result — e.g.
<=-from-__lt, integerfor-loop wraparound, the RNG stream) are deliberately not features: they are resolved inside the core, not gated. Query withLuaVersion::supports. - LuaVersion
- Which Lua language version a runtime instance speaks.
- Number
Model - The numeric model a version uses for Lua numbers.