Alex Orlenko
|
c79b5e9cdb
|
cargo fmt
|
2026-01-29 23:03:56 +00:00 |
|
Alex Orlenko
|
2ace892613
|
Rename string::String to LuaString
|
2026-01-29 18:45:41 +00:00 |
|
Alex Orlenko
|
d9c139b55f
|
Rust 2024
|
2026-01-29 10:33:28 +00:00 |
|
Alex Orlenko
|
86d0c9bddb
|
More multi borrow "send" test fixes due to regression in Rust 1.93+
|
2026-01-22 23:08:17 +00:00 |
|
Alex Orlenko
|
77d7d5d6bd
|
Add initial Lua 5.5 support
|
2026-01-13 23:43:31 +00:00 |
|
psentee
|
ee9232eda1
|
AnyUserData::is_proxy (#666)
|
2026-01-13 15:08:38 +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
|
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
|
40b507c3ec
|
Add ObjectLike::get_path helper
|
2025-09-04 19:12:44 +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
|
f06d0020ea
|
Add test to emulate method through field
|
2025-08-28 23:50:18 +01:00 |
|
Alex Orlenko
|
7bc72be7d3
|
Use serde feature flag instead of serialize.
The old one is still supported.
|
2025-06-12 13:35:22 +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
|
c1a018a60d
|
Add AnyUserData::type_id method
|
2025-03-31 22:41:42 +01:00 |
|
Alex Orlenko
|
4fe7d151a1
|
Refactor userdata-wrappers feature.
Support borrowing underlying data in `UserDataRef` and `UserDataRefMut`.
|
2025-03-21 14:19:38 +00:00 |
|
Alex Orlenko
|
ae7cdcb934
|
Remove (internal) borrow counter and use instead "locked" flag and strong reference counter
|
2025-02-14 14:41:37 +00:00 |
|
Alex Orlenko
|
a7d0691e10
|
Add AnyUserData::destroy method
|
2024-11-07 16:12:20 +00:00 |
|
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
|
2a8db87132
|
Update Value tests
|
2024-10-18 22:50:48 +01:00 |
|
Alex Orlenko
|
98339c57e6
|
Update userdata tests
|
2024-10-18 21:38:02 +01:00 |
|
Alex Orlenko
|
179c54f297
|
Remove generic from Table::equals and Value::equals
|
2024-10-16 16:11:48 +01:00 |
|
Alex Orlenko
|
8274b5fa88
|
More user-friendly error message on userdata mismatch
|
2024-09-23 15:56:29 +01:00 |
|
Alex Orlenko
|
e582e7c57f
|
Rename get_metatable to metatable for Table/AnyUserData types
|
2024-09-23 11:13:16 +01:00 |
|
Alex Orlenko
|
da4404baa5
|
Add Lua::scope back
|
2024-09-20 13:01:55 +01:00 |
|
Alex Orlenko
|
4018a17e26
|
Combine TableExt and AnyUserDataExt traits into ObjectLike
|
2024-08-30 22:50:03 +01:00 |
|
Alex Orlenko
|
6317b8e0c8
|
Test GC for nested userdata (userdata in userdata)
|
2024-08-25 21:02:12 +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
|
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
|
550d6b2991
|
Remove wrapped UserData impl (Rc/Arc/etc)
|
2024-07-31 13:42:36 +01:00 |
|
Alex Orlenko
|
313117095c
|
Remove parking_lot feature flag
|
2024-07-31 13:42:35 +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
|
a79840afc9
|
Suppress Rust 1.77 dead_code false warnings.
|
2024-03-23 11:42:46 +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
|
908f37656a
|
Add to_pointer function to Function/Table/Thread
|
2024-02-02 09:23:16 +00:00 |
|
Alex Orlenko
|
145c5b316b
|
Fix FromLua derive proc macro to cover more cases
|
2024-01-25 10:26:43 +00:00 |
|
Alex Orlenko
|
8200bee467
|
Implement IntoLua for ref to String/Table/Function/AnyUserData
This would prevent cloning plus has better performance when pushing values to Lua stack (`IntoLua::push_into_stack` method)
|
2024-01-23 22:14:50 +00:00 |
|
Alex Orlenko
|
53b7b5b70b
|
Fix setting userdata (static) fields when it has __index metamethod/function.
Closes #312
|
2023-08-27 23:01:37 +01:00 |
|
Alex Orlenko
|
a802276c56
|
Fix an edge case when using invalidated (relative) userdata index after processing varargs.
This causes Lua API correctness check assertion in debug mode.
Fixes #311.
|
2023-08-24 00:54:50 +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
|
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
|
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
|
01c1952c9f
|
Rename AnyUserData::get_*_user_value to AnyUserData::*_user_value.
To be more consistent with function like `Lua::named_registry_value`, `Lua::add_data_ref` and os on.
|
2023-07-09 23:50:44 +01:00 |
|
Alex Orlenko
|
b05698d55b
|
impl UserData for Rc<T> and Arc<T> where T: UserData
|
2023-06-21 01:30:09 +01:00 |
|
Alex Orlenko
|
5a135a331a
|
Add UserDataFields::add_field() method to add static fields to UserData.
Plus `UserDataFields::add_meta_field()` for static meta fields.
Fix propagating fields to wrapped UserData types.
|
2023-06-07 12:18:24 +01:00 |
|
Alex Orlenko
|
68e65a8ffe
|
Set __name field in userdata metatable if not provided
|
2023-05-25 10:59:46 +01:00 |
|
Alex Orlenko
|
bbd2488f79
|
Add OwnedAnyUserData::take()
|
2023-05-03 23:29:33 +01:00 |
|
Alex Orlenko
|
4daa7de997
|
Various improvements for owned types, including:
- tests
- shortcuts for `OwnedFunction` and `OwnedAnyUserData`
|
2023-04-26 15:40:48 +01:00 |
|
Alex Orlenko
|
03787668fd
|
Improve error reporting when calling Rust functions from Lua.
In particular new error type `Error::BadArgument` added to help identify bad argument position or name (eg `self` for userdata).
|
2023-03-14 23:23:46 +00:00 |
|