Alex Orlenko
dbc3dd95d4
Fix Luau vector4 formatting when throwing it in exception
2023-07-09 23:14:49 +01:00
Alex Orlenko
a9b0cdfc03
Take &str as function name in TableExt and AnyUserDataExt traits
2023-07-09 22:49:16 +01:00
Alex Orlenko
1c20494158
Use usize instead of c_int for table capacity (Lua::create_table_with_capacity)
2023-07-09 22:11:26 +01:00
Alex Orlenko
c9294ad642
Add #[must_use] hint and const to some Luau Compiler functions
2023-07-09 14:13:06 +01:00
Alex Orlenko
3a71bfb8a0
Refactor Lua 5.4 warnings to use &str instead of CStr
2023-07-09 14:13:05 +01:00
Alex Orlenko
24e14c4874
Always set hook on a current Lua context (state) and remove MainThreadNotAvailable as no longer needed
2023-07-09 12:33:21 +01:00
Alex Orlenko
20826a69ae
Re-export ffi crate (mlua-sys)
2023-07-09 11:31:59 +01:00
Alex Orlenko
5127903c38
Remove generic type parameter from init_userdata_metatable
2023-07-08 17:00:46 +01:00
Alex Orlenko
541139b944
Change Lua ref types Debug print from Ref{index} to Ref{pointer}
...
The index is always uniq per instance, but pointer can exactly tell when
several values reference to the same Lua internal value.
2023-07-08 12:52:14 +01:00
Alex Orlenko
925a2816cc
clippy
2023-07-06 00:59:46 +01:00
Alex Orlenko
b3b8d79446
Make Debug interface more user friendly
...
- use String instead of Vec<u8>
- update docs
- unify fields between lua5.x/luau
- line numbers are `usize`
2023-07-06 00:38:33 +01:00
Alex Orlenko
85f17a269d
Add Table:is_empty() function
2023-06-26 10:50:18 +01:00
Alex Orlenko
b169031d4e
Don't use any metamethods in Table::sequence_values() iterator.
...
This is matches with `Table::pair()` iterator.
Remove `Table::raw_sequence_values()` iterator.
2023-06-26 10:46:59 +01:00
Alex Orlenko
399e469328
Update "async userdata method" benchmark
2023-06-21 22:23:43 +01:00
Alex Orlenko
1367a033d7
Don't clone function when doing call_async()
2023-06-21 13:14:17 +01:00
Alex Orlenko
c1168d3ec1
Refactor call_async() functions to use static dispatch outside of traits
2023-06-21 12:44:24 +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
aeacf6cacc
Remove allow(dead_code) from mlua-sys build scripts
2023-06-20 23:49:48 +01:00
Alex Orlenko
1f0e81c9a1
Add a dedicated type for Luau vector.
...
Refactor existing implementation and add 4-dimensional vectors support.
2023-06-20 13:30:42 +01:00
Alex Orlenko
c2bfc9ec52
Implement PartialEq<[T]> for tables
2023-06-19 23:28:08 +01:00
Alex Orlenko
9fdba541e9
Update UserDataMethods::add_async_method() functions to take &T as second argument instead of cloning T.
...
New functions: `UserDataMethods::add_async_method_mut()`, `UserDataMethods::add_async_meta_method_mut()`.
2023-06-15 00:34:41 +01:00
Alex Orlenko
cf0524aa23
Use lua_iscfunction instead of lua_getinfo in Function::environment()
2023-06-08 09:33:48 +01:00
Alex Orlenko
03b6dfb2c3
v0.9.0-beta.3
v0.9.0-beta.3
2023-06-07 14:40:49 +01:00
Alex Orlenko
cf1cb31150
mlua_derive: v0.9.0-beta.2
2023-06-07 13:08:02 +01:00
Alex Orlenko
7d586f52f2
mlua-sys: v0.2.0
2023-06-07 13:06:51 +01:00
Alex Orlenko
e85818e199
mlua-sys: include luau to luau-codegen feature flag
2023-06-07 13:05:16 +01:00
Alex Orlenko
16bec29274
Fix setting Luau version number in _VERSION env var
2023-06-07 12:35:45 +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
e7b712e29f
Rely on LUA_MINSTACK in callbacks
2023-06-06 21:38:45 +01:00
Alex Orlenko
d5483988d2
Optimize polling async functions (40% performance win)
2023-06-04 20:53:12 +01:00
Alex Orlenko
0f5c68dcf8
Update criterion to 0.5
2023-06-04 18:31:10 +01:00
Alex Orlenko
8ab0ccf11c
Don't keep poll function in environment globals when polling async functions.
...
This is redundant after deprecating scoped async.
Closes #281
2023-06-04 02:31:29 +01:00
Alex Orlenko
9596f2e9ee
Fix warning when compiling for lua51
2023-06-03 14:24:34 +01:00
Alex Orlenko
1dc32452e6
Support getting and setting environment for Lua functions.
...
Closes #218
2023-06-03 12:56:49 +01:00
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
4adebd31f9
Update .gitignore
2023-05-30 00:33:16 +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