lua_vm/lib.rs
1//! Lua 5.4 virtual machine — runtime crate.
2//!
3//! Modules map to the canonical C source files per `ANALYSES/file_deps.txt`.
4//! Phase A populated each module with a faithful transliteration; Phase B is
5//! reconciling cross-module references against the `lua-types` foundation.
6
7pub mod api;
8pub mod debug;
9pub mod do_;
10pub mod dump;
11pub mod func;
12pub mod object;
13pub mod state;
14pub mod string;
15pub mod table;
16pub mod trace_impls;
17pub mod tagmethods;
18pub mod undump;
19pub mod vm;
20pub mod zio;
21
22/// Glob-imported by every module so the Phase-B extension traits resolve
23/// without each module having to list them individually.
24///
25/// TODO(phase-b): once the canonical types in `lua-types` grow these methods
26/// natively, this prelude can shrink to just the LuaState helpers.
27pub mod prelude {
28 pub use crate::state::{
29 LuaValueExt, LuaTypeExt, StackIdxExt,
30 LuaTableRefExt, LuaUserDataRefExt, LuaStringRefExt,
31 LuaLClosureRefExt, LuaClosureExt, LuaProtoExt,
32 };
33 pub use crate::vm::{InstructionExt, OpCode};
34 pub(crate) use crate::tagmethods::TagMethod;
35}
36
37// ──────────────────────────────────────────────────────────────────────────
38// PORT STATUS
39// source: (module aggregator; see individual files for C sources)
40// target_crate: lua-vm
41// confidence: high
42// todos: 0
43// port_notes: 0
44// unsafe_blocks: 0
45// notes: Each pub mod corresponds to one C source under
46// `reference/lua-5.4.7/src/`. See `ANALYSES/file_deps.txt`.
47// ──────────────────────────────────────────────────────────────────────────