Skip to main content

Module version

Module version 

Source
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 Feature absent on a given LuaVersion was requested at a host-API verb (issue #234). Carried by the public embedding error so a host can match the cause; see omnilua::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, integer for-loop wraparound, the RNG stream) are deliberately not features: they are resolved inside the core, not gated. Query with LuaVersion::supports.
LuaVersion
Which Lua language version a runtime instance speaks.
NumberModel
The numeric model a version uses for Lua numbers.