Alex Orlenko
9785722d61
Require environment to be a Table instead of Value in Chunks.
...
In addition to that, `AsChunk::env()` renamed to `AsChunk::environment()`.
2023-06-03 00:00:53 +01:00
Alex Orlenko
c905a34b1d
(Luau) Set thread globals to main thread globals when resetting the thread
2023-06-02 21:13:23 +01:00
Alex Orlenko
a1089dbf95
Optimize a bit calling Rust functions from Lua.
...
This is done by reusing upvalue as a captured variable.
Also in async functions upvalue is always set (async cannot be scoped) so extra checks removed.
2023-05-30 15:15:20 +01:00
Alex Orlenko
baf25e263f
Change _mlua to __mlua prefix for internal chunk names
2023-05-30 00:36:09 +01:00
Alex Orlenko
3abf73dee5
Update FunctionInfo doc and interface
2023-05-30 00:33:57 +01:00
Alex Orlenko
cea2d7fd15
Refactor application data container.
...
Now it's allowed at the same time mutably and immutably borrow different types.
Each value in the application data container is stored in it's own `RefCell` wrapper.
Also added new function `Lua::try_set_app_data()`.
2023-05-29 00:30:31 +01:00
Alex Orlenko
e0224ab159
Use futures-core and futures-tasks via futures-util.
...
Just to reduce number of dependencies.
2023-05-29 00:30:29 +01:00
Alex Orlenko
6dee339783
Use lua_closethread in AsyncThread::drop()
2023-05-28 01:43:15 +01:00
Alex Orlenko
b674d7906d
Include (known) userdata type to Value debug pretty-print
2023-05-28 01:12:42 +01:00
Alex Orlenko
3d7796de55
clippy
2023-05-27 22:08:42 +01:00
Alex Orlenko
4306e6e978
Add Value::to_string() method similar to luaL_tolstring.
...
It uses `__tostring` metamethod if set.
Closes #279
2023-05-27 01:29:08 +01:00
Alex Orlenko
68e65a8ffe
Set __name field in userdata metatable if not provided
2023-05-25 10:59:46 +01:00
Alex Orlenko
2efc637ab9
Move util into mod and add short_type_name function
2023-05-25 10:23:52 +01:00
Alex Orlenko
22e748557c
Add new feature flag luau-jit to enable experimental Luau codegen backend
2023-05-24 23:13:12 +01:00
Alex Orlenko
77effb5055
Refactor callback_error_ext
...
Also it makes rust-analyzer happy
2023-05-24 00:46:59 +01:00
Alex Orlenko
1c66a02878
Update to Lua 5.4.6
2023-05-21 00:55:06 +01:00
Alex Orlenko
1ac98e7d16
- Allow downcasting error wrapped into Error::WithContext
...
- Overwrite error context when called multiple times
2023-05-08 23:39:53 +01:00
Alex Orlenko
bbd2fe06e1
Use DeserializeOwned and remove lifetime from LuaSerdeExt trait
2023-05-06 23:07:34 +01:00
Alex Orlenko
d951cb503f
Add Value::NULL constant
2023-05-06 22:53:40 +01:00
Alex Orlenko
bbd2488f79
Add OwnedAnyUserData::take()
2023-05-03 23:29:33 +01:00
Alex Orlenko
a1d385c7b7
Add OwnedString
2023-04-26 23:17:27 +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
bd68a155c0
Replace ManuallyDrop with MaybeUninit
2023-04-26 15:40:47 +01:00
Alex Orlenko
2d6a0fdf9c
Check for reference leak detection only in mlua integratin tests.
...
This is not necessary an error and should not be enforced by default.
Fixes #268 .
2023-04-23 10:56:26 +01:00
Alex Orlenko
be64706cff
Missing doc for OwnedAnyUserData
2023-04-14 10:29:34 +01:00
Alex Orlenko
0fccdfed5c
Fix feature flags for owned types
2023-04-14 01:17:26 +01:00
Alex Orlenko
aaf0a5e44a
Remove usage of crate::ffi (clippy)
2023-04-14 00:36:31 +01:00
Alex Orlenko
65e72f39ae
Remove unstable feature flag from Function::wrap/wrap_mut/wrap_async
2023-04-14 00:21:18 +01:00
Alex Orlenko
f9d1213c4b
Don't set html_root_url (it's not recommended)
2023-04-13 22:44:40 +01:00
Alex Orlenko
15dc0e9f23
Move ffi module into mlua-sys crate
2023-04-12 23:23:34 +01:00
Alex Orlenko
cdbf04f50c
Add pretty-print to the Debug formatting to Value to Table.
...
This would allow dumping any Lua variable in human readable form.
2023-04-11 20:36:41 +01:00
Alex Orlenko
ba324b4f54
Allow deserializing Lua null into unit(()) or unit struct. See #264
2023-04-10 01:49:51 +01:00
Alex Orlenko
3e83753466
Add Thread::set_hook() function
2023-04-08 23:53:48 +01:00
Alex Orlenko
288934c82c
Refactor HookTriggers (make it const)
2023-04-05 01:02:27 +01:00
Alex Orlenko
483bc80fc4
Add must_use to AsyncThread
2023-04-05 00:23:13 +01:00
Alex Orlenko
6fa0a78ec0
Prepare v0.9.0-beta.1
2023-03-30 23:18:10 +01:00
Alex Orlenko
f66932e8d2
Revert "Rename Owned*::to_ref() to as_ref()"
...
This reverts commit 5394faca16 .
2023-03-30 22:35:43 +01:00
Alex Orlenko
1be927bc5d
Don't call error handler for memory errors in coroutines
2023-03-30 17:29:57 +01:00
Alex Orlenko
e182d474e0
More user-friendly error message about missing value for name attribute in module macro
...
Update the `[lua_module]` doc
2023-03-28 16:27:16 +01:00
Alex Orlenko
cd9fc1d08f
Update Error doc
2023-03-26 20:58:43 +01:00
Alex Orlenko
d9aac08b81
Support setting memory limit for Lua 5.1/JIT/Luau
...
Other versions already support this feature.
Closes #119
2023-03-26 00:06:52 +00:00
Alex Orlenko
9c1669020b
Clippy
2023-03-25 23:38:57 +00:00
Alex Orlenko
742307a267
Add &Lua to luau interrupt callback ( fixes #197 )
2023-03-25 16:30:31 +00:00
Alex Orlenko
781ded573a
Seal LuaSerdeExt/TableExt/AnyUserDataExt
2023-03-19 02:38:21 +00:00
Alex Orlenko
6a647f58be
Add Error::downcast_ref() method
2023-03-19 00:22:51 +00:00
Alex Orlenko
8d80321738
Add ErrorContext extension trait to attach additional context to Error
2023-03-17 01:20:57 +00:00
Alex Orlenko
a0d37fd182
Rename error to cause in Error::BadArgument
2023-03-16 23:48:54 +00: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
Alex Orlenko
3059f82552
Update README and CHANGELOG
2023-03-12 23:54:19 +00:00
Alex Orlenko
304880bfd1
Fast metatable check for Lua::push_userdata_ref
2023-03-10 10:34:41 +00:00