Alex Orlenko
84efb8bf95
Fix warnings when testing documentation
2025-05-05 00:50:19 +01:00
Alex Orlenko
cf687a6ac6
Make Lua::weak() method and WeakLua struct public.
...
This can be useful to prevent circular dependencies between Rust and Lua
or check that Lua instance is still alive.
2025-05-05 00:50:12 +01:00
Alex Orlenko
788175e0d6
Restrict access to Luau VM from UserData destructors.
...
It's unsafe to make almost any Lua calls when userdata destructor is running.
This can cause recursive GC run and crash.
See https://github.com/luau-lang/luau/pull/510 for some details.
2025-05-05 00:49:26 +01:00
Alex Orlenko
90ef25a6ee
Prepare for custom (Luau) userdata destructors.
...
We need to add logic later to prevent calling any Lua functions when UserData destructor is running.
2025-05-05 00:49:17 +01:00
Alex Orlenko
ac72f6acae
Do not propagate collect_garbage flag when clonning Lua
2025-05-05 00:47:39 +01:00
Alex Orlenko
4444ac4ea3
Add AnyUserData::type_id method
2025-05-05 00:47:09 +01:00
Alex Orlenko
5f950e30ec
Update Lua::poll_pending doc (still hidden)
2025-05-05 00:47:02 +01:00
Alex Orlenko
739d5f5262
Reduce stack operations when creating userdata
2025-05-05 00:46:28 +01:00
Alex Orlenko
375028e13f
Add Chunk::name(), Chunk::environment() and Chunk::mode() functions.
...
They can be used to retrieve existing chunk params.
2025-05-05 00:46:20 +01:00
Alex Orlenko
46e949c184
Use c string literal where appropriate
2025-05-05 00:44:05 +01:00
Alex Orlenko
62b53e218c
Move some userdata helpers from crate::util to crate::userdata::util
2025-05-05 00:43:12 +01:00
Alex Orlenko
0393406b9f
Refactor userdata-wrappers feature.
...
Support borrowing underlying data in `UserDataRef` and `UserDataRefMut`.
2025-05-04 18:45:42 +01:00
Alex Orlenko
272cfdb89b
Change Lua library name constants from &str to *const c_char.
...
It makes easier to pass them to Lua API functions.
2025-05-04 12:49:08 +01:00
Alex Orlenko
ef8b8e11ec
Support 52-bit integers for Luau
...
Simply to float conversion (it actually never fails or goes out of range)
2025-05-04 12:48:34 +01:00
Alex Orlenko
2543414726
Fix clippy warnings
2025-05-04 12:47:30 +01:00
Alex Orlenko
ee112568d6
Remove Roblox from references to Luau
...
Closes #537
2025-05-04 12:46:47 +01:00
Alex Orlenko
69d3ddec29
Remove (internal) borrow counter and use instead "locked" flag and strong reference counter
2025-05-04 12:46:35 +01:00
Alex Orlenko
5b0d811c5a
Add Variadic to prelude
2025-05-04 12:31:13 +01:00
Alex Orlenko
a68b0b6905
Do not allow recursive warnings (Lua 5.4)
2025-05-04 12:29:51 +01:00
Joel Natividad
fd68b033f0
Fix typos ( #522 )
...
* fix various typos in the codebase
* fix typos in CHANGELOG.md
2025-05-04 12:28:24 +01:00
Alex Orlenko
863d8092d6
Imporove BorrowedStr/BorrowedBytes ergonomic.
...
Implement `FromLua` and `IntoLua` for these types to allow working with them directly.
2025-05-04 12:27:24 +01:00
Alex Orlenko
24b6ff3c20
Improve From/Into Lua char conversion
2025-05-04 12:18:28 +01:00
tk
bc36261f5c
impl FromLua/IntoLua for char (#516 )
2025-05-04 12:18:22 +01:00
Alex Orlenko
bcb9a4d220
Enable Thread::reset() for all Lua versions
2025-05-04 12:07:55 +01:00
Radiant
b5d38ab2e3
Set Default for LuaValue to be nil. ( #512 )
2025-01-19 23:52:58 +00:00
Alex Orlenko
cd4091f64d
Allow exhaustive match on Value.
...
It was not possible because `ValueRef` variant in `Value::Other` was private.
Closes #502 and #503
2024-12-10 23:37:19 +00:00
Alex Orlenko
91e069a77e
Optimize (and simplify) protected mode for Rust function calls
2024-12-07 00:04:12 +00:00
Alex Orlenko
cacd3dc70f
Add Table::set_safeenv method (Luau)
2024-12-04 10:40:49 +00:00
Alex Orlenko
5fd96c7908
Don't run GC finalizers on ref thread.
...
If this happen then we don't have full access to the ref thread stack.
Fixes #491
2024-11-30 01:00:31 +00:00
Alex Orlenko
7a3f19b857
Ensure that buffer with Luau compiled code is always freed
2024-11-29 13:36:51 +00:00
Alex Orlenko
55a5d7ef10
Protect Lua(u) during chunk loading if memory limit is enforced
...
Relates to #488
2024-11-27 00:34:21 +00:00
Alex Orlenko
af31dbd180
Use c string literal in few places
2024-11-25 22:53:59 +00:00
Alex Orlenko
9ae3cb0a7c
Add doc about possible chunk name prefixes
2024-11-24 12:00:06 +00:00
Alex Orlenko
fc1c80c142
Mark Chunk::wrap as non-public
2024-11-22 20:03:17 +00:00
Alex Orlenko
ee7ced6334
Add Chunk::wrap method
2024-11-22 14:40:52 +00:00
Alex Orlenko
d8307d0e4c
Reduce visibility of Wrapped* structs
2024-11-22 13:08:57 +00:00
Alex Orlenko
bf9fcc5aca
Simplify WrappedString
2024-11-22 13:06:50 +00:00
Alex Orlenko
7ce6b97da9
Add String::wrap method to wrap arbitrary AsRef<[u8]>
2024-11-22 11:48:20 +00:00
Alex Orlenko
4ef0d583fc
impl Send for UserDataTypeId (in send mode)
2024-11-16 01:56:18 +00:00
Alex Orlenko
3bfaee4ecc
Delay "any" userdata metatable creation until first instance
2024-11-16 01:47:04 +00:00
Alex Orlenko
89b68e2a24
Remove generic from RawLua::push_userdata_metatable.
...
This should help to reduce amount of generated code.
2024-11-16 01:44:17 +00:00
Alex Orlenko
cbf805f492
Avoid ptr->usize->ptr conversion to comply strict provenance
2024-11-15 21:47:19 +00:00
Alex Orlenko
8c889cc353
Add String::display method
2024-11-09 14:24:43 +00:00
Alex Orlenko
958abd050e
Update String::to_string_lossy doc
2024-11-09 14:10:45 +00:00
Alex Orlenko
b34b90eca3
Fix wrong formatting table with string keys that are numbers
2024-11-09 13:51:55 +00:00
Alex Orlenko
7aad0adcb4
Update links to luau.org
2024-11-09 12:48:15 +00:00
Alex Orlenko
a3cd25db7a
Support Luau 0.650 native vector library
2024-11-09 12:44:00 +00:00
Alex Orlenko
a4bfeb7752
clippy
2024-11-09 12:38:05 +00:00
vhyrro
0fda512938
feat(table): improve pretty-printing for simple tables and lists ( #478 )
2024-11-09 12:08:49 +00:00
Alex Orlenko
58e0661086
Merge Scope::attach_destructor into Scope::seal_userdata
2024-11-08 15:04:46 +00:00