Skip to content

Commit b589617

Browse files
committed
Include skip_memory_check code only when the corresponding attribute set for module
1 parent 205989f commit b589617

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

mlua_derive/src/lib.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,11 @@ pub fn lua_module(attr: TokenStream, item: TokenStream) -> TokenStream {
5151
let func_name = &func.sig.ident;
5252
let module_name = args.name.unwrap_or_else(|| func_name.clone());
5353
let ext_entrypoint_name = Ident::new(&format!("luaopen_{module_name}"), Span::call_site());
54-
let skip_memory_check = args.skip_memory_check;
54+
let skip_memory_check = if args.skip_memory_check {
55+
quote! { lua.skip_memory_check(true); }
56+
} else {
57+
quote! {}
58+
};
5559

5660
let wrapped = quote! {
5761
::mlua::require_module_feature!();
@@ -61,7 +65,7 @@ pub fn lua_module(attr: TokenStream, item: TokenStream) -> TokenStream {
6165
#[no_mangle]
6266
unsafe extern "C-unwind" fn #ext_entrypoint_name(state: *mut ::mlua::lua_State) -> ::std::os::raw::c_int {
6367
let lua = ::mlua::Lua::init_from_ptr(state);
64-
lua.skip_memory_check(#skip_memory_check);
68+
#skip_memory_check
6569
lua.entrypoint1(state, #func_name)
6670
}
6771
};

0 commit comments

Comments
 (0)