Alex Orlenko
658f2a13ea
Support multi threads under send feature flag
2024-07-31 13:42:37 +01:00
Alex Orlenko
c1395ab543
clippy
2024-07-31 13:42:37 +01:00
Alex Orlenko
cd6d86a5ce
Split single lua module to multiple submodules under state
2024-07-31 13:42:37 +01:00
Alex Orlenko
8b2d067196
Fix Lua::set_vector_metatable
2024-07-31 13:42:36 +01:00
Alex Orlenko
07a5538e50
Don't run destructors if Lua is gone
2024-07-31 13:42:36 +01:00
Alex Orlenko
d17dc54645
Rewrite call_async in traits to use impl Future instead of LocalBoxFuture.
...
More use `std::future` types instead of `future-utils`.
2024-07-31 13:42:36 +01:00
Alex Orlenko
baa8895cfb
Optimize creation of userdata callbacks (registry)
2024-07-31 13:42:36 +01:00
Alex Orlenko
550d6b2991
Remove wrapped UserData impl (Rc/Arc/etc)
2024-07-31 13:42:36 +01:00
Alex Orlenko
b3649a44e0
Move userdata-related top-level modules into the userdata module
2024-07-31 13:42:36 +01:00
Alex Orlenko
7221051683
Refactor:
...
- Remove the rest of `'lua` lifetimes
- Remove Owned types
2024-07-31 13:42:35 +01:00
Alex Orlenko
1eb2ecb3b0
Drop lifetime from IntoLua
2024-07-31 13:42:35 +01:00
Alex Orlenko
24b0672d99
Rename LuaRef to ValueRef
2024-07-31 13:42:35 +01:00
Alex Orlenko
08c7429531
Optimize various parts of the code to remove unnecessary clone calls.
...
This is became possible after implementing `IntoLua` for references.
2024-07-31 13:42:35 +01:00
Alex Orlenko
aa05eb4c81
Switch MultiValue to use VecDeque under the hood.
2024-07-31 13:42:35 +01:00
Alex Orlenko
4aa178fcc0
Take &Value in Lua::push_value()
2024-07-31 13:42:35 +01:00
Alex Orlenko
98ca880f8a
Change Value::Error variant to store Box<Error> instead of Error.
...
This will help to reduce size of `Value` enum on the stack.
2024-07-31 13:42:34 +01:00
Alex Orlenko
fe21ef43ba
Replace AtomicPtr with Cell
2024-07-31 13:42:34 +01:00
Alex Orlenko
884a025b52
Fix some clippy warnings
2024-06-18 16:09:08 +01:00
Alex Orlenko
c23fa5aa6c
Optimize RegistryKey internals
...
- Store single `AtomicI32` field instead of pair i32,AtomicBool
- Make creation faster by skipping intermediate `Value` layer
Add new `RegistryKey::id()` method to return underlying identifier
2024-06-18 16:09:06 +01:00
Alex Orlenko
a25e81036e
Do not allow already running coroutines to be reset or resumed.
...
This is a wrong use of the Lua API and is not supported.
See #416 for the reference.
2024-06-12 23:18:46 +01:00
Alex Orlenko
b46cad1db1
Support Luau v0.629
2024-06-09 00:37:58 +01:00
Alex Orlenko
ea2faa3755
clippy
2024-05-15 23:11:33 +01:00
Alex Orlenko
59c9abbac7
Fix serializing same table multiple times.
...
Fixes #408
2024-05-14 00:42:04 +01:00
Alex Orlenko
317ce7caa6
Add Lua::set_fflag() to control Luau feature flags
2024-05-04 21:15:22 +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
Alex Orlenko
a644049087
Cosmetic changes for clippy
2024-04-05 12:44:18 +01:00
Alex Orlenko
ad31bed1db
Minor improvements in serializing:
...
Use `&str` instead of creating Lua string when serializing tuple variant and struct variant
2024-04-05 12:44:08 +01:00
Alex Orlenko
62f0bb97b0
Add Lua::create_ser_any_userdata() function
2024-04-05 12:03:40 +01:00
Alex Orlenko
f67f8646ae
Implement push_into_stack/from_stack for Option<T>
2024-03-28 18:18:08 +00:00
Alex Orlenko
fa217d3706
Better Luau buffer type support.
...
- Add `Lua::create_buffer()` function
- Support serializing buffer type as a byte slice
- Support accessing copy of underlying bytes using `BString`
2024-03-28 13:05:01 +00: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
a79840afc9
Suppress Rust 1.77 dead_code false warnings.
2024-03-23 11:42:46 +00:00
Alex Orlenko
39afe4c6f7
Add SerializeOptions::detect_serde_json_arbitrary_precision to detect serde_json::Number with arbitrary_precision and convert it to Lua number.
...
By default the option is disabled and such numbers represented as Lua objects with `$serde_json::private::Number` key.
Fixes #385
2024-03-23 11:27:46 +00:00
Alex Orlenko
9734146313
Add Function::deep_clone() (Luau only)
2024-03-21 22:14:00 +00:00
Alex Orlenko
58be624222
Remove redundant "match" when checking userdata type via AnyUserData::is.
...
Fixes #386
2024-03-20 19:29:47 +00:00
Alex Orlenko
3d43103431
Make __idiv metamethod available for luau
...
Closes #383
2024-03-20 19:20:05 +00:00
Alex Orlenko
83c075c72b
Implement IntoLua for RegistryKey
2024-02-29 22:45:32 +00:00
Alex Orlenko
0ee3324462
Add LUA_TCDATA to util::to_string() helper
2024-02-29 12:57:04 +00:00
Alex Orlenko
8a9c4f0b15
Optimize table array traversal during serialization
2024-02-11 23:02:36 +00:00
Alex Orlenko
020e8a78a8
Impl FromLua for RegistryKey
2024-02-10 15:41:48 +00:00
Alex Orlenko
3ca7b4942e
Implement IntoLua for &Value
2024-02-07 00:10:49 +00:00
Alex Orlenko
1754226c74
Impl IntoLua::push_into_stack for integers
2024-02-03 21:32:49 +00:00
Alex Orlenko
3014c4d7a1
Add REF_STACK_RESERVE constant
2024-02-02 23:26:33 +00:00
Alex Orlenko
908f37656a
Add to_pointer function to Function/Table/Thread
2024-02-02 09:23:16 +00:00
Alex Orlenko
f4d783cb41
Impl push_into_stack for StdResult
2024-02-01 23:42:44 +00:00
Alex Orlenko
f5982bc204
Add inline to FromLua<bool>::from_stack
2024-01-27 14:40:32 +00:00
Alex Orlenko
512921404c
Add fastpath push_into_stack/from_stack methods for bool type
2024-01-26 14:07:56 +00:00
Alex Orlenko
dfd82edc42
Add Lua::push() helper
2024-01-26 13:52:19 +00:00
Alex Orlenko
df778b7b33
Impl Into/FromLua for OwnedString
2024-01-25 18:04:55 +00:00
Alex Orlenko
2ac7b23596
Impl Into/FromLua for OwnedThread
2024-01-25 09:34:37 +00:00