Alex Orlenko
cd0c8a4584
Optimize async functionality:
...
Rewrite using the new `push_into_stack()`/`from_stack()` methods.
Also store thread state (pointer) in `Thread` struct to avoid getting it every time.
Async userdata methods still need to have arguments stored in ref thread as stack is empty on every poll().
2023-08-03 00:56:17 +01:00
Alex Orlenko
4fff14a144
impl Drop for MultiValue
...
This action would automatically return container to the pool on drop (instead of doing it manually)
2023-08-01 11:21:26 +01:00
Alex Orlenko
196c09a0d6
New (unsafe and private) methods for IntoLua/FromLua traits: push_into_stack/from_stack.
...
They allow to push Value directly to Lua stack or get Value from Lua stack without creating MultiValue container.
This approach is a big optimization opportunity and already demonstrated great results.
For instance, obtaining `&T` for userdata methods are now work directly from stack value without copying to auxiliary stack.
2023-07-31 22:13:23 +01:00
Alex Orlenko
114f072269
Update module entrypoint function.
...
Return c_int instead of Result (and avoid potential panic on Rust side).
2023-07-31 17:49:07 +01:00
Alex Orlenko
b3211f13ee
Minor fixes in v0.9 release notes
2023-07-31 10:17:40 +01:00
Alex Orlenko
1f1463c482
v0.9.0-rc.3
v0.9.0-rc.3
2023-07-28 22:07:26 +01:00
Alex Orlenko
bec40ee5ea
mlua-sys: v0.3.1
2023-07-28 22:04:00 +01:00
Alex Orlenko
dc94d51d97
Update Luau compiler options
2023-07-28 21:45:19 +01:00
Alex Orlenko
3a096ae64a
Fix warning when compiling chunk tests
2023-07-28 21:45:13 +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
312886846c
Fix link to v0.9 release notes in README
2023-07-28 11:14:58 +01:00
Alex Orlenko
cdc1c8415e
v0.9.0-rc.2
v0.9.0-rc.2
2023-07-28 00:24:37 +01:00
Alex Orlenko
f2142731fd
mlua-sys: v0.3.0
2023-07-28 00:23:49 +01:00
Alex Orlenko
1dd62c5ffc
mlua_derive: v0.9.0-rc.2
2023-07-28 00:23:04 +01:00
Alex Orlenko
95d8b2fd0f
Update v0.9 release notes
2023-07-28 00:22:28 +01:00
Alex Orlenko
51a2959312
Add v0.9 release notes
...
Prepare v0.9-rc.2 release
2023-07-28 00:07:31 +01:00
Alex Orlenko
28bcc73f2c
Move impl IntoLua for WrappedFunction to the function.rs file
2023-07-27 15:19:34 +01:00
Alex Orlenko
8b71f94141
Fix AsChunk trait to support capturing wrapped Lua types (AnyUserData::wrap() and Function::wrap()).
...
This is a breaking change, the `'lua` lifetime used to in environment moved to the trait declaration.
2023-07-27 13:56:48 +01:00
Alex Orlenko
3bda1351c3
Fix lua51/52 case in userdata tests
2023-07-26 23:18:30 +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
f6dff65d9b
Do not rely on vendored feature when testing luajit memory limit
2023-07-21 23:25:28 +01:00
Alex Orlenko
4fa9aa1e5b
Pin lua-src and luajit-src versions
2023-07-21 23:22:47 +01:00
Alex Orlenko
e1c075fa51
Use giraffate/clippy-action
2023-07-21 10:34:29 +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
ead6be4a52
Make module and vendored features mutually exclusive
2023-07-20 23:23:03 +01:00
Alex Orlenko
4f48c7e5dc
Update README
2023-07-20 21:58:01 +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
Alex Orlenko
0e030d21b0
Add #[derive(FromLua)] macro to opt-in into FromLua<T> where T: 'static + Clone (userdata type).
...
Future macro implementations will allow making T from Lua tables/other values.
Relates to #291 .
2023-07-16 01:57:28 +01:00
Alex Orlenko
355a0606c3
v0.9.0-rc.1
v0.9.0-rc.1
2023-07-11 22:15:31 +01:00
Alex Orlenko
2277ee4860
Rename UserDataRegistrar to LuaUserDataRegistry
2023-07-11 22:15:15 +01:00
Alex Orlenko
8a4977e8e7
Use pretty format in the repl example
2023-07-11 21:39:05 +01:00
Alex Orlenko
128c357e07
Use __tostring if __name is not available when pretty printing userdata values
2023-07-11 21:36:02 +01:00
Alex Orlenko
9f0fc27c52
Make Lua::push_value() and Lua::pop_value() public (but hidden from the docs).
...
Can be useful for low-level intergration with mlua values.
Also closes #215 .
2023-07-11 20:03:41 +01:00
Alex Orlenko
bfd1c29c0a
Add back Table::raw_sequence_values() with deprecation notice
2023-07-11 16:02:28 +01:00
Alex Orlenko
5fca2db6d3
Revert Add error-send feature
2023-07-11 15:50:15 +01:00
Alex Orlenko
8ecbf5b76a
v0.9.0-rc.1
2023-07-11 01:09:45 +01:00
Alex Orlenko
d037c31b4d
mlua-sys: v0.2.1
2023-07-11 01:07:37 +01:00
Alex Orlenko
4fe89c9d45
mlua_derive: v0.9.0-rc.1
2023-07-11 01:07:07 +01:00
Alex Orlenko
389526bb80
Some doc improvements
2023-07-11 00:28:24 +01:00
Alex Orlenko
4adc3116f9
Add error-send feature
2023-07-11 00:20:52 +01:00
Alex Orlenko
8e0bdc9934
Remove clippy::let_and_return ignore
2023-07-10 22:58:15 +01:00
Alex Orlenko
7dc6e4c132
Add Error::runtime() helper
2023-07-10 22:41:03 +01:00
Alex Orlenko
44b8c8b7a6
Add AnyUserData::wrap() to more easy way of creating _any_ userdata in Lua.
...
This is similar to `Function::wrap()`.
2023-07-10 16:36:38 +01:00
Alex Orlenko
6b8b79266f
Drop futures-timer dev-dependency
2023-07-10 01:16:27 +01:00
Alex Orlenko
08ab685d8d
Update itertools dev-dependency
2023-07-10 01:16:20 +01:00
Alex Orlenko
057deb0169
Update rustyline dependency to 12.0
2023-07-10 01:05:40 +01:00
Alex Orlenko
44533d2c9d
Add new module attribule skip_memory_check to improve performance
...
in module mode (by skipping memory allocations check) with extra risks.
2023-07-10 00:43:19 +01:00