1#![allow(non_camel_case_types, non_snake_case)]
4#![allow(clippy::missing_safety_doc)]
5#![allow(unsafe_op_in_unsafe_fn)]
6#![doc(test(attr(deny(warnings))))]
7#![cfg_attr(docsrs, feature(doc_cfg))]
8
9use std::os::raw::c_int;
10
11#[cfg(feature = "lua-factorio")]
12extern crate link_cplusplus;
13
14#[cfg(any(feature = "lua54", doc))]
15pub use lua54::*;
16
17#[cfg(any(feature = "lua53", doc))]
18pub use lua53::*;
19
20#[cfg(any(feature = "lua52", doc))]
21pub use lua52::*;
22
23#[cfg(any(feature = "lua51", feature = "luajit", doc))]
24pub use lua51::*;
25
26#[cfg(any(feature = "luau", doc))]
27pub use luau::*;
28
29#[cfg(feature = "lua-factorio")]
30pub use lua_factorio::*;
31
32#[cfg(any(
33 feature = "lua54",
34 feature = "lua53",
35 feature = "lua52",
36 feature = "lua-factorio"
37))]
38#[doc(hidden)]
39pub const LUA_MAX_UPVALUES: c_int = 255;
40
41#[cfg(any(feature = "lua51", feature = "luajit"))]
42#[doc(hidden)]
43pub const LUA_MAX_UPVALUES: c_int = 60;
44
45#[cfg(feature = "luau")]
46#[doc(hidden)]
47pub const LUA_MAX_UPVALUES: c_int = 200;
48
49#[doc(hidden)]
52pub const LUA_TRACEBACK_STACK: c_int = 11;
53
54#[cfg(any(
58 target_arch = "x86",
59 target_arch = "arm",
60 target_arch = "m68k",
61 target_arch = "csky",
62 target_arch = "mips",
63 target_arch = "mips32r6",
64 target_arch = "powerpc",
65 target_arch = "powerpc64",
66 target_arch = "sparc",
67 target_arch = "wasm32",
68 target_arch = "hexagon",
69 all(target_arch = "riscv32", not(any(target_os = "espidf", target_os = "zkvm"))),
70 all(target_arch = "xtensa", not(target_os = "espidf")),
71))]
72#[doc(hidden)]
73pub const SYS_MIN_ALIGN: usize = 8;
74#[cfg(any(
75 target_arch = "x86_64",
76 target_arch = "aarch64",
77 target_arch = "arm64ec",
78 target_arch = "loongarch64",
79 target_arch = "mips64",
80 target_arch = "mips64r6",
81 target_arch = "s390x",
82 target_arch = "sparc64",
83 target_arch = "riscv64",
84 target_arch = "wasm64",
85))]
86#[doc(hidden)]
87pub const SYS_MIN_ALIGN: usize = 16;
88#[cfg(any(
90 all(target_arch = "riscv32", any(target_os = "espidf", target_os = "zkvm")),
91 all(target_arch = "xtensa", target_os = "espidf"),
92))]
93#[doc(hidden)]
94pub const SYS_MIN_ALIGN: usize = 4;
95
96#[macro_use]
97mod macros;
98
99#[cfg(any(feature = "lua54", doc))]
100#[cfg_attr(docsrs, doc(cfg(feature = "lua54")))]
101pub mod lua54;
102
103#[cfg(any(feature = "lua53", doc))]
104#[cfg_attr(docsrs, doc(cfg(feature = "lua53")))]
105pub mod lua53;
106
107#[cfg(any(feature = "lua52", doc))]
108#[cfg_attr(docsrs, doc(cfg(feature = "lua52")))]
109pub mod lua52;
110
111#[cfg(any(feature = "lua51", feature = "luajit", doc))]
112#[cfg_attr(docsrs, doc(cfg(any(feature = "lua51", feature = "luajit"))))]
113pub mod lua51;
114
115#[cfg(any(feature = "luau", doc))]
116#[cfg_attr(docsrs, doc(cfg(feature = "luau")))]
117pub mod luau;
118
119#[cfg(feature = "lua-factorio")]
120pub mod lua_factorio;