Alex Orlenko
12e61e01f6
Restrict access to Luau VM from UserData destructors.
...
It's unsafe to make almost any Lua calls when userdata destructor is running.
This can cause recursive GC run and crash.
See https://github.com/luau-lang/luau/pull/510 for some details.
2025-04-05 10:31:39 +01:00
Alex Orlenko
53ff494ab9
Prepare for custom (Luau) userdata destructors.
...
We need to add logic later to prevent calling any Lua functions when UserData destructor is running.
2025-04-04 16:36:06 +01:00
Alex Orlenko
72682198eb
Bump Luau to 0.667
2025-03-30 11:12:14 +01:00
Alex Orlenko
95c623e94d
Use c string literal where appropriate
2025-03-21 15:57:15 +00:00
Alex Orlenko
edbf1e9150
Change Lua library name constants from &str to *const c_char.
...
It makes easier to pass them to Lua API functions.
2025-03-14 23:10:14 +00:00
Alex Orlenko
69011a89d2
Revert "Add initial pluto support"
...
This reverts commit 0ed11e4134 .
2025-03-14 22:59:06 +00:00
Alex Orlenko
0ed11e4134
Add initial pluto support
...
Pluto is a superset of Lua 5.4 with a focus on general-purpose programming.
`pluto` feature also enables `lua54` feature since they are compatible and share the same API.
2025-03-14 11:38:07 +00:00
Alex Orlenko
1ebb4b468a
Support 52-bit integers for Luau
...
Simply to float conversion (it actually never fails or goes out of range)
2025-03-13 16:18:44 +00:00
Alex Orlenko
e706ae4fcb
Remove Roblox from references to Luau
...
Closes #537
2025-02-24 19:03:36 +00:00
Alex Orlenko
cdd6a99136
Support Thread::resume_error call (Luau)
...
This method uses Luau-specific C API extension `lua_resumerror`
that allow to throw an error immediately when resuming a thead.
Closes #500 #513
2025-01-28 22:57:26 +00:00
Alex Orlenko
aa3f6ba46c
Fix prototype of new Luau compiler options and methods
2025-01-27 21:19:31 +00:00
Alex Orlenko
cc57bed4c8
Update Luau to 0.657
2025-01-27 14:19:40 +00:00
Alex Orlenko
7a3f19b857
Ensure that buffer with Luau compiled code is always freed
2024-11-29 13:36:51 +00:00
Alex Orlenko
b34d67ec41
Update Luau to 0.650 (luau0-src 0.11.1)
2024-11-03 14:49:12 +00:00
Alex Orlenko
81d7c81532
Update Luau to 0.647
2024-10-12 21:30:56 +01:00
Alex Orlenko
3088516851
Update luaL_checkstack messages
2024-09-22 17:33:28 +01:00
Alex Orlenko
ecc09c4387
Add luaL_loadbufferenv helper to all Lua versions
2024-08-25 17:29:58 +01:00
bjcscat
7bfd32750d
Change chunk env to use luau's load env parameter ( #442 )
2024-08-25 16:50:41 +01:00
Alex Orlenko
b4892c228c
Add rustfmt.toml
2024-07-31 13:42:37 +01:00
Alex Orlenko
884a025b52
Fix some clippy warnings
2024-06-18 16:09:08 +01:00
Alex Orlenko
b46cad1db1
Support Luau v0.629
2024-06-09 00:37:58 +01:00
Alex Orlenko
317ce7caa6
Add Lua::set_fflag() to control Luau feature flags
2024-05-04 21:15:22 +01:00
Alex Orlenko
3a44729a48
Mark lua_Callbacks as non exhaustive (Luau)
2024-05-04 21:11:29 +01:00
Alex Orlenko
3d46fad459
Update luau-src to v0.9
...
Mark `lua_CompileOptions` as non exhaustive
2024-05-04 21:10:24 +01:00
Yiyu Lin
b62f2ee0f7
chore: make clippy happy ( #388 )
...
Co-authored-by: hzlinyiyu <hzlinyiyu@corp.netease.com >
2024-03-25 13:26:06 +00:00
Alex Orlenko
5a22437d5f
Assert that luau_compile returns non-null pointer.
...
Fixes #381
2024-03-16 23:39:10 +00:00
Alex Orlenko
e30b425224
Fix crash when initializing Luau sandbox without stdlibs ( #361 )
2024-01-27 11:51:59 +00:00
Alex Orlenko
e97e69a309
Update Luau to 0.609 (luau-src v0.8.0)
2024-01-25 09:38:46 +00:00
Alex Orlenko
3c801e7b17
Expose internal POLL_PENDING constant (hidden)
2024-01-20 15:52:00 +00:00
Alex Orlenko
a38e484fe9
Increase luau max stack size to 1M from 100k
2024-01-18 23:05:23 +00:00
Alex Orlenko
514ec24252
Fix lua53/lua54 luaL_error definition (for wasm32)
2024-01-03 12:02:53 +00:00
Alex Orlenko
c0a0983025
mlua-sys: always inline lua_error
2024-01-03 11:31:39 +00:00
Alex Orlenko
69ff0c5509
mlua-sys: fix Lua 5.2 lua_sethook definition
2024-01-03 10:22:42 +00:00
Aymen-Hakim
bf79d6c212
Update lauxlib.rs ( #351 )
...
lua54 in lua53 src.
2023-12-27 15:07:59 -05:00
ByteDream
0b9a85e183
Add lua emscripten support ( #338 )
2023-12-14 14:54:57 +00:00
Alex Orlenko
59974d7bde
Merge pull request #337 from tari/emscripten-support
...
Fix build for emscripten target
2023-12-13 13:55:26 +00:00
eatradish
4c92580201
Add loongarch64 architecture support
2023-12-08 11:16:52 +08:00
Peter Marheine
e3f34f319c
Correct C return type for lua_error
...
The definition of lua_error in all of Lua 5.1 through 5.4 says lua_error
returns int, but the Rust definition of the same function treats it as
void (because it's known not to return). This causes link-time errors when
building for wasm targets because the wasm linker is aware of function return
types and errors out if they differ between definition and declaration.
2023-12-06 21:16:52 +11:00
Peter Marheine
b16f3895a0
lua54: use changed return type for lua_rawlen
...
Lua 5.4 changed lua_rawlen to return lua_Unsigned, versus size_t in earlier
versions. Change the C API signature to match, and add a wrapper function with
the same name that maintains a stable Rust API by casting to usize.
2023-12-06 21:09:25 +11:00
Alex Orlenko
5043447f23
Support Luau buffer type and and library.
...
Buffer is an object that represents a fixed-size mutable block of memory and added to Luau 0.601.
See https://luau-lang.org/library#buffer-library for more details.
2023-11-16 12:55:58 +00:00
Alex Orlenko
b879abc418
Add lua_newuserdata_t helper to mlua-sys/luau
2023-10-24 23:58:47 +01:00
Alex Orlenko
a1e39a8620
Remove MemoryState from ExtraData and retrieve using lua_getallocf (recently added to Luau)
2023-10-24 00:23:32 +01:00
Alex Orlenko
c137da7618
Update to Luau 0.590
2023-08-12 14:12:59 +01:00
Alex Orlenko
a85e757d4d
Bump luau-src to v0.6.0+luau588
...
This release has better codegen support (and breaking changed unfortunately)
2023-07-28 20:30:46 +01:00
Alex Orlenko
4daa631178
Set __type metatable field for Luau instead of __name.
...
Other Lua versions continue to use `__name` field.
Also make `MetaMethod` enum non-exhaustive (and add `Type` variant)
Closes #295
2023-07-26 21:43:26 +01:00
Alex Orlenko
9f5325ef2f
Use c-unwind ABI (Rust 1.71+)
2023-07-22 23:54:30 +01:00
Alex Orlenko
6fb65a8fbe
Fix loading luau code starting with \t
2023-07-22 18:44:44 +01:00
Alex Orlenko
df9251fb52
Support LUA_LIB_NAME in module mode for windows.
...
In this mode we will link with the particular lua library.
2023-07-21 10:34:26 +01:00
Alex Orlenko
fac39a2f46
Drop openresty specific luajit extensions
2023-07-20 01:02:23 +01:00
Alex Orlenko
483e6be207
Support vendored module mode for windows (raw-dylib linking)
...
This is requires Rust 1.71+
2023-07-20 00:43:57 +01:00