1#![allow(clippy::too_many_arguments)]
6#![allow(clippy::type_complexity)]
7#![allow(clippy::len_without_is_empty)]
8#![allow(clippy::module_inception)]
9#![allow(clippy::should_implement_trait)]
10#![allow(clippy::enum_variant_names)]
11#![allow(clippy::wrong_self_convention)]
12#![allow(clippy::result_unit_err)]
13#![allow(clippy::if_same_then_else)]
14#![allow(clippy::missing_safety_doc)]
15#![allow(clippy::doc_lazy_continuation)]
16#![allow(clippy::only_used_in_recursion)]
17#![allow(clippy::needless_range_loop)]
18#![allow(clippy::same_item_push)]
19
20extern crate self as luars;
22
23#[cfg(test)]
24mod test;
25
26pub mod compiler;
27pub mod gc;
28pub mod lib_registry;
29pub mod lua_value;
30pub mod lua_vm;
31pub mod stdlib;
32
33#[cfg(feature = "serde")]
34pub mod serde;
35
36pub use luars_derive::LuaUserData;
38pub use luars_derive::lua_methods;
39
40pub use lua_value::LuaUserdata;
42pub use lua_value::UserDataBuilder;
43pub use lua_value::userdata_trait::{
44 LuaEnum, LuaMethodProvider, LuaRegistrable, LuaStaticMethodProvider, OpaqueUserData,
45 RefUserData, UdValue, UserDataTrait,
46};
47
48#[cfg(test)]
49use crate::lua_vm::SafeOption;
50pub use gc::*;
51pub use lib_registry::LibraryRegistry;
52pub use lua_value::RustCallback;
53pub use lua_value::lua_convert::{FromLua, IntoLua};
54pub use lua_value::{Chunk, LuaFunction, LuaTable, LuaValue};
55pub use lua_vm::async_thread::{AsyncCallHandle, AsyncFuture, AsyncReturnValue, AsyncThread};
56pub use lua_vm::lua_error::LuaFullError;
57pub use lua_vm::table_builder::TableBuilder;
58pub use lua_vm::{
59 CFunction, CallInfo, DebugInfo, Instruction, LuaAnyRef, LuaFunctionRef, LuaResult, LuaState,
60 LuaStringRef, LuaTableRef, LuaVM, OpCode,
61};
62pub use lua_vm::{LUA_MASKCALL, LUA_MASKCOUNT, LUA_MASKLINE, LUA_MASKRET};
63pub use stdlib::Stdlib;