Alex Orlenko
|
c2eab173c5
|
Add userdata-wrappers feature
This feature allow to opt into `impl UserData` for `Rc<T>`/`Arc<T>`/`Rc<RefCell<T>>`/`Arc<Mutex<T>>` where `T: UserData`
Close #470
|
2024-11-03 11:48:47 +00:00 |
|
Alex Orlenko
|
bb311349ec
|
Switch between shared and exclusive lock for UserDataRef depending if T: Sync or not.
|
2024-11-02 10:38:25 +00:00 |
|
Alex Orlenko
|
6066089cc1
|
Skip setting Send/Sync in non-send mode for UserDataCell
|
2024-10-30 23:32:13 +00:00 |
|
Alex Orlenko
|
93a1a55aaa
|
Update docs
|
2024-10-19 23:10:43 +01:00 |
|
Alex Orlenko
|
08545224f4
|
clippy
|
2024-10-19 11:49:40 +01:00 |
|
Alex Orlenko
|
98339c57e6
|
Update userdata tests
|
2024-10-18 21:38:02 +01:00 |
|
Alex Orlenko
|
9f6c78532f
|
Move IntoLua/FromLua and IntoLuaMulti/FromLuaMulti to traits module
|
2024-10-07 10:32:50 +01:00 |
|
Alex Orlenko
|
04d8106676
|
Remove SubtypeId from AnyUserData and instead add Value::Other variant that will cover any unknown types (eg. LuaJIT CData)
|
2024-10-02 12:16:48 +01:00 |
|
Alex Orlenko
|
fb0c0d9ee9
|
Add Either<L, R> enum to combine two types into a single one.
It implements `FromLua` and `IntoLua` traits for easy type conversions..
|
2024-09-26 18:58:28 +01:00 |
|
Alex Orlenko
|
8274b5fa88
|
More user-friendly error message on userdata mismatch
|
2024-09-23 15:56:29 +01:00 |
|
Alex Orlenko
|
fce85381c6
|
Fix clippy warnings
|
2024-09-22 19:02:16 +01:00 |
|
Alex Orlenko
|
640d27697d
|
Fix compile error in non-send mode
|
2024-09-20 21:20:52 +01:00 |
|
Alex Orlenko
|
da4404baa5
|
Add Lua::scope back
|
2024-09-20 13:01:55 +01:00 |
|
Alex Orlenko
|
d6b27de34e
|
Optimize ObjectLike::to_string for tables and userdata
|
2024-08-30 22:55:53 +01:00 |
|
Alex Orlenko
|
4018a17e26
|
Combine TableExt and AnyUserDataExt traits into ObjectLike
|
2024-08-30 22:50:03 +01:00 |
|
Alex Orlenko
|
9891e86d16
|
Remove Clone requirement from UserDataFields::add_field()
|
2024-08-26 11:10:34 +01:00 |
|
Alex Orlenko
|
23d4e2519b
|
Switch to Mutex from RwLock for userdata access in send mode.
Unfortunately RwLock allow access to the userdata from multiple threads
without enforcing `Sync` marker.
|
2024-08-24 09:44:39 +01:00 |
|
Alex Orlenko
|
fdc50bffc9
|
Fix memory leak when polling async futures
|
2024-08-23 01:03:54 +01:00 |
|
Alex Orlenko
|
9931709ecd
|
Remove explicit lifetime from UserDataMethods and UserDataFields traits.
Pass `'static` arguments to async functions and require `'static` Future.
(in future we can use async closures to make it more elegant).
|
2024-08-23 00:10:29 +01:00 |
|
Alex Orlenko
|
c58f67b140
|
Add MaybeSend requirement to Lua futures
|
2024-08-10 17:55:39 +01:00 |
|
Alex Orlenko
|
8e14b6e40b
|
Fix tests
|
2024-08-04 22:22:02 +01:00 |
|
Alex Orlenko
|
4082b354fe
|
clippy
|
2024-08-01 00:55:10 +01:00 |
|
Alex Orlenko
|
3641c98959
|
Prepare for Rust 2024 edition (see rust-lang/rust#123748)
Replace `IntoLua(Multi)` generic with positional arg (impl trait) where possible
This allow to shorten syntax from `a.get::<_, T>` to `a.get::<T>`
|
2024-07-31 23:42:43 +01:00 |
|
Alex Orlenko
|
b4892c228c
|
Add rustfmt.toml
|
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
|
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 |
|