Alex Orlenko
aee647c6c0
Update CHANGELOG
2025-11-22 13:55:07 +00:00
Alex Orlenko
2e4184e7e4
Update spelling
2025-11-22 13:49:23 +00:00
Alex Orlenko
12b24b6c5b
mlua-sys: v0.9.0
2025-11-22 13:47:17 +00:00
Alex Orlenko
1b500b7d47
Remove generic from internal definition of RawLua::create_string
2025-11-22 13:36:50 +00:00
Alex Orlenko
ce4fc80e18
Bump luau-src to 0.17.0 (Luau 0.701)
2025-11-22 12:58:59 +00:00
Alex Orlenko
121971f54e
Add Lua::set_memory_category and Lua::heap_dump functions to profile Luau memory usage.
...
This functionality uses Luau private api to dump heap mempory in JSON format for inspection.
The new type `HeapDump` represents memory snapshot with some basic API to calculate stats.
2025-11-22 00:01:34 +00:00
Alex Orlenko
6835537e3b
Switch to released verson of luau0-src
2025-11-19 11:25:59 +00:00
Alex Orlenko
a2728928cf
Temporary disable some send tests on nightly
...
Aparently there is a regression in the compiler and sync detection does not work correctly
2025-11-18 00:51:24 +00:00
Alex Orlenko
676f3a6983
Fix tests
2025-11-17 13:44:29 +00:00
Alex Orlenko
0beaac228c
Update Luau require tests
2025-11-16 23:51:51 +00:00
Alex Orlenko
9a7f75ad6b
Update require implementation to satisfy Luau 0.700
2025-11-16 23:13:11 +00:00
Alex Orlenko
cd56f92a7f
Update Luau definitions in mlua-sys to 0.700
2025-11-16 23:12:06 +00:00
Alex Orlenko
1bd1359f43
Exclude the first arg when checking for yield_with call.
...
This is part of the previous commit
2025-11-06 23:28:37 +00:00
Alex Orlenko
feec72bcbd
Reduce number of allocations when calling async function
...
Instead of creating a uniq poller with upvalue on each async call, return future directly
and pass it to the poller
This also gives about 3-5% perf improvements
2025-11-06 23:09:26 +00:00
Alex Orlenko
0611906c6a
Add Lua::type_metatable helper to get metatable of a primitive type.
...
The accompany function `Lua::set_type_metatable` already exists.
2025-11-05 22:07:14 +00:00
Alex Orlenko
72ac247dca
Fix MaybeSend doc
2025-11-04 23:20:53 +00:00
Alex Orlenko
f2fd010c5f
Add missing lua_remove when discovering function name
2025-10-28 16:04:24 +00:00
Alex Orlenko
0619f264de
Add Lua::traceback function to generate stack traces at different levels
...
This is similar to `debug.traceback`, through does not require debug module.
Close #652
2025-10-28 14:49:22 +00:00
Alex Orlenko
ddd44bdd36
Add LUA_LOADED_TABLE constant (Luau)
2025-10-27 20:57:56 +00:00
Alex Orlenko
1152519074
Add add_method_once and add_async_method_once UserData methods (experimental).
...
They will allow implementing userdata methods that can be called only once, destructing
userdata instance during the call.
2025-10-26 20:14:46 +00:00
Alex Orlenko
3a2fd1ec59
Make AnyUserData::type_name public
2025-10-17 20:00:53 +01:00
Alex Orlenko
a4c8b20697
impl IntoLuaMulti for &MultiValue
2025-10-13 12:36:42 +01:00
Alex Crichton
6e353d6c9f
Build/test wasm32-wasip2 in CI ( #649 )
...
This is a follow-up from mlua-rs/lua-src-rs#13 which verifies/tests that
mlua/lua all work when compiled for a WASI target. While this doesn't
have formal documentation yet it also codifies in CI configuration how
to build for WASI and get tests passing (notably C compiler
configuration and some misc Rust flags).
This moves some `dev-dependencies` that don't compile for
`wasm32-wasip2` to a different section of the manifest. This
additionally annotates panicking tests with `#[cfg(not(panic =
"abort"))]` to skip those tests on WASI.
This does not test either the `send` or `async` feature at this time.
Testing `send` requires threads which WASI does not yet support, and
testing `async` requires more support in Tokio which is not currently
there yet.
2025-10-04 09:52:23 +01:00
Alex Orlenko
247208edb1
v0.11.4
v0.11.4
2025-09-28 23:46:55 +01:00
Alex Orlenko
e08768cc5e
Derive Default for Value (clippy)
2025-09-28 23:42:12 +01:00
Alex Orlenko
5b38af9746
AsyncCallFuture is Unpin
2025-09-19 10:00:28 +01:00
Alex Orlenko
54907f80c5
Add SerializableValue to lib and prelude exports
2025-09-12 12:40:43 +01:00
Alex Orlenko
ae512f2b49
Remove const from SerializableValue (it's not really useful)
2025-09-12 12:40:00 +01:00
Alex Orlenko
53c159b6cb
Unhide Value::to_serializable
2025-09-12 11:49:43 +01:00
Alex Orlenko
2beca6ebe1
Add test for Table::for_each_value
2025-09-12 11:49:37 +01:00
Alex Orlenko
09da7a41e5
Add new serde option "detect_mixed_tables"
...
This option would allow detecting mixed tables (with array-like and map-like entries or several borders)
to encoding them chosing the best method (as a map or as a table).
2025-09-12 11:11:18 +01:00
Alex Orlenko
bad20374ad
Simplify Table::clear method
...
There is no need to traverse array part, lua_next will cover everything
2025-09-08 23:37:28 +01:00
Alex Orlenko
40b507c3ec
Add ObjectLike::get_path helper
2025-09-04 19:12:44 +01:00
Andrew Dunbar
537cc995f6
Copyedit English in README.md ( #639 )
2025-09-04 14:59:24 +01:00
Alex Orlenko
5d27cb91b2
Add optional __namecall optimization for Luau
...
Add `UserDataRegistry::enable_namecall()` hint to set `__namecall` metamethod to enable Luau-specific method resolution optimization.
2025-09-02 00:53:12 +01:00
Alex Orlenko
c70a636ca9
Remove newlines from yield_with examples
2025-08-30 12:51:53 +01:00
Alex Orlenko
13ff0ca798
v0.11.3
v0.11.3
2025-08-29 23:11:21 +01:00
Alex Orlenko
44f49e35d6
Update CHANGELOG
2025-08-29 00:18:06 +01:00
Alex Orlenko
e1ee4058a6
Add new benchmark to measure complex userdata method calls
2025-08-28 23:56:03 +01:00
Alex Orlenko
f06d0020ea
Add test to emulate method through field
2025-08-28 23:50:18 +01:00
Alex Orlenko
d399559d30
Add Lua::yield_with to allow yielding Rust async functions and exchange values between Lua coroutine and Rust.
...
This functionality is similar to `coroutine.yield` and `coroutine.resume` without C restrictions.
2025-08-28 18:41:24 +01:00
Alex Orlenko
30735d5ff1
Fix thread recovery when pushing a bad arg
...
We should not erase thread stack if a bad argument is pushed before resuming the thread.
2025-08-25 23:07:37 +01:00
Alex Orlenko
75c23e5853
Add lua_cpcall to Luau ffi (0.688+)
2025-08-25 12:54:17 +01:00
Alex Orlenko
347856b806
Do not try to yield at non-yielable points in Luau interrupt
...
In particular we cannot yeild across metamethod/C-call boundaries.
This behaviour matches with Lua 5.3+ yielding from hooks only at safe points.
Closes #632
2025-08-25 12:19:50 +01:00
Alex Orlenko
774a63bece
Add Buffer::cursor() method
...
This can be useful for providing access to buffers through core IO traits.
2025-08-24 11:29:01 +01:00
Alex Orlenko
c481c87eac
Add Lua::create_buffer_with_capacity method
...
This allow creating a preallocated buffer with specified size initialized to zero.
2025-08-23 22:38:55 +01:00
Alex Orlenko
85b280a9d6
Update nightly Rust error message matching
2025-08-23 09:40:13 +01:00
Alex Orlenko
db7b782d3c
Remove lifetimes from short type names
2025-08-23 09:13:31 +01:00
Alex Orlenko
5f38445558
Fix warnings
2025-08-20 16:25:06 +01:00
Alex Orlenko
df0a44d405
Make Lua reference values cheap to clone
...
Instead of locking the VM and making a copy on auxiliary thread, track number of references using Rust ref counter.
This should also help reducing number of used references (they are limited to to 1M usually) on auxiliary thread.
2025-08-20 12:05:37 +01:00