Commit Graph

  • 87d027e8ac
    Rename rust_module in tests to test_module This causes warning during compilation Alex Orlenko 2023-03-03 18:58:13 +0000
  • d7db1b7f2e
    Add Waker lifetime to WakerGuard Alex Orlenko 2023-03-03 18:29:04 +0000
  • 22c973af02
    Async: Don't clone function when executing it from recycled thread Alex Orlenko 2023-03-03 18:22:30 +0000
  • 8c18fa1764
    Async: store pointer to Waker in extra data rather than in Lua ref thread Alex Orlenko 2023-03-03 15:19:54 +0000
  • 5394faca16
    Rename `Owned*::to_ref()` to `as_ref()` Alex Orlenko 2023-03-02 15:36:11 +0000
  • 4a3f6d60ad
    Update exports in libs and prelude Alex Orlenko 2023-03-02 15:34:42 +0000
  • 68b60e2a0a
    Add `UserDataRef` and `UserDataRefMut` types that implement `FromLua` and can be used as accessors to underlying `AnyUserData` type. Alex Orlenko 2023-02-26 21:52:28 +0000
  • 888bd77e60
    Add AnyUserDataExt to prelude Alex Orlenko 2023-02-25 23:59:29 +0000
  • 949906f9f7
    Fix potential deadlock when trying to reuse dropped RegistryKey. If no free registry id found, we call protect_lua! macro while keeping mutex guard to the unref list. Protected calls can trigger garbage collection and if RegistryKey is placed in userdata being collected, this can lead to deadlock. The solution is drop mutex guard as soon as possible. Also this commit includes optimization in creating reference in Lua registry. Alex Orlenko 2023-02-22 20:15:40 +0000
  • 94f01e597c
    Add `AnyUserDataExt` trait with auxiliary functions for `AnyUserData` Alex Orlenko 2023-02-18 23:40:28 +0000
  • b8e3290f35
    Update LuaRef/LuaOwnedRef Move content of `Lua::make_owned_ref` into `LuaRef::into_owned` Add crate-visible `Lua::clone` function (not trait) Alex Orlenko 2023-02-15 09:20:03 +0000
  • 03ab828342
    Return evicted value to `Lua::set_app_data` if it's already present. Add "Panics" section to `Lua::*_app_data` docs. Alex Orlenko 2023-02-12 23:34:21 +0000
  • b66bff9155
    Drop `Lua::async_scope` as it's unsound Alex Orlenko 2023-02-12 22:25:10 +0000
  • f52abf919e
    Add create_userdata_ref/create_userdata_ref_mut for scope (#206) New methods would allow creating userdata objects from (mutable) reference to a UserData of registered type. Alex Orlenko 2023-02-11 21:58:43 +0000
  • b790b525c1
    Fix clippy warnings Alex Orlenko 2023-02-07 22:43:48 +0000
  • f5182e0584
    Force protected mode for long enough strings Alex Orlenko 2023-02-06 23:46:31 +0000
  • 47c8300ccf
    Allow registering and creating custom userdata types that don't necessary implement the `UserData` trait. This is useful to register 3rd party types that cannot implement `UserData` due to Rust orphan rules. See #206 Alex Orlenko 2023-02-03 23:46:04 +0000
  • 8339621f9c
    Rename `to_lua_err` -> `into_lua_err` Alex Orlenko 2023-01-06 21:35:15 +0000
  • 16cbb442e5
    Fix clippy warnings Alex Orlenko 2023-01-06 20:50:29 +0000
  • 88da28a68d
    Allow deserializing values from serializable UserData using `Lua::from_value()` method. Closes #240 Alex Orlenko 2023-01-05 21:32:15 +0000
  • a62061f453
    Update README Alex Orlenko 2023-01-04 20:58:03 +0000
  • cb3d58b1c7
    Better Debug for String Alex Orlenko 2023-01-04 15:56:57 +0000
  • fa46720f5a
    Add `Table::clear()` method Alex Orlenko 2022-12-31 16:49:33 +0000
  • 72b9209ae9
    Rename wrapped_failure/thread cache to pool Alex Orlenko 2022-12-30 21:48:12 +0000
  • 0cb7058476
    Rename MultiValue cache to pool Alex Orlenko 2022-12-30 14:50:39 +0000
  • ac8b3424d1
    Update criterion Alex Orlenko 2022-12-30 13:45:59 +0000
  • 2cb4b49d0d
    Don't use unstable features in examples Alex Orlenko 2022-12-30 13:39:27 +0000
  • d67332a3ac
    Refactor `userdata::MetaMethod`. Take `impl AsRef<str>` as name of metamethod (instead of `Into<MetaMethod>`) in UserDataMethods/UserDataFields. Change position of generic args in userdata. Alex Orlenko 2022-12-24 19:16:58 +0000
  • 22c6e9a7e7
    Enable `unstable` feature flag in CI Alex Orlenko 2022-12-22 16:30:14 +0000
  • 1d4a135e8e
    Add `Function::wrap`/`Function::wrap_mut`/`Function::wrap_async` to wrap functions into a type that implements `IntoLua` trait. This is useful to avoid calling `lua.create_function*` every time when `Function` handle is needed. Alex Orlenko 2022-12-22 16:24:35 +0000
  • 9d28b790e7
    Fix module tests Alex Orlenko 2022-12-21 21:05:23 +0000
  • 61c285746c
    Remove FromLua impl for UserData+Clone Alex Orlenko 2022-12-19 23:05:17 +0000
  • a13c188de3
    Rename ToLua/ToLuaMulti -> IntoLua/IntoLuaMulti Alex Orlenko 2022-12-19 23:00:47 +0000
  • c60f633a62
    Add "unstable" feature flag. Hide owned types under the new feature flag. Drop OwnedString/OwnedThread types (unlikely they are useful). Alex Orlenko 2022-12-19 22:11:52 +0000
  • 56abc4a700
    Refactor `AsChunk` trait Alex Orlenko 2022-12-19 14:59:21 +0000
  • 9b4e3a1598
    Refactor LuaInner state Add static_assertions to check for auto traits impl on compilation stage Bump MSRV to 1.63 (required for `Ref::filter_map`) Alex Orlenko 2022-12-19 11:37:40 +0000
  • 0aa30226df
    Check for invalid args when parsing `#[lua_module(...)]` proc macro Alex Orlenko 2022-12-13 23:23:58 +0000
  • fdb5724053
    Add ?Sized to PartialEq for Lua String Alex Orlenko 2022-12-09 23:28:51 +0000
  • b532f86674
    feat: Support custom name of `lua_module` rise0chen 2022-11-29 10:46:51 +0800
  • c44463f030
    Replace `impl AsRef<str>` with simple `&str` Alex Orlenko 2022-10-18 10:59:13 +0100
  • de38e299fc
    Use `impl AsRef<str>` for userdata methods/fields instead of generic param. Use `impl AsRef<str>` for module names and named registry values. Alex Orlenko 2022-10-18 00:57:16 +0100
  • 7526773a90
    Do not clear usevalues when taking value out of userdata. It has big performance penalty. Lua GC can collect uservalues when userdata is not referenced anymore. Alex Orlenko 2022-10-17 02:27:41 +0100
  • bf79d9e75d
    Initial implementation of owned Lua types Alex Orlenko 2022-10-16 23:36:26 +0100
  • 02c08c6350
    upgrade bstr from 0.2 to 1.0 Joel Natividad 2022-10-11 15:19:23 -0400
  • 05eb20f9c6
    Fix subtraction overflow when calculating index for `MultiValue::get()`. Return `None` instead of panic in debug mode. Fixes #232 Alex Orlenko 2022-12-15 21:10:31 +0000
  • 9716918517
    Fix lifetime of `DebugNames` in `Debug::names()` and `DebugSource` in `Debug::source()`. This can cause use-after-free if used wrong. Now invalid code would not compile. Reported in #230 Alex Orlenko 2022-12-09 23:55:38 +0000
  • c88417a3b6
    Redefine `_VERSION` for Luau to include version number. https://github.com/khvzak/mlua/discussions/228 Alex Orlenko 2022-12-03 21:04:21 +0000
  • 6e95386f30
    Update Luau to 0.555 (luau-src 0.5.0) This version includes inreased LUAI_MAXCSTACK limit (100000) Alex Orlenko 2022-12-03 17:55:26 +0000
  • 6807dfa22e
    v0.8.6 Alex Orlenko 2022-11-07 01:02:52 +0000
  • f27c49f931
    Fix bug when recycled Registry slot can be set to Nil. This can result in allocating the same slot twice and rewriting old value. Lua uses (registry) table length to find next free slot and having Nil in the middle of the table can impact length calculation. With this fix we ensure that Nil values uses a special LUA_REFNIL slot. Alex Orlenko 2022-11-07 00:10:57 +0000
  • 693a808b6e
    v0.8.5 Alex Orlenko 2022-10-30 12:31:26 +0000
  • a6ca65aa74
    Better checks and tests when trying to modify a Luau readonly table Alex Orlenko 2022-10-30 11:41:09 +0000
  • a7278cab78
    Fix `Table::raw_push` for luau when readonly Alex Orlenko 2022-10-29 23:02:08 +0100
  • e1bbd00a33
    Fix getting caller information from Lua::load Alex Orlenko 2022-10-28 10:43:05 +0100
  • e98998d6ac
    Add push/pop methods to Table Alex Orlenko 2022-10-23 23:27:17 +0100
  • cca177df5b
    Minor serde optimizations Alex Orlenko 2022-10-23 03:13:24 +0100
  • 65396a910f
    Optimize `Lua::create_table` to use reference thread if possible Alex Orlenko 2022-10-18 01:09:35 +0100
  • de69d10d73
    Optimize `Lua::create_string` to use reference thread if possible Alex Orlenko 2022-10-18 00:57:16 +0100
  • 959e61b97c
    Optimize tables: - Use reference thread directly for simple cases - Fix issue when calling raw_set on readonly table (Luau) - Add fasttrack methods for get/set/len when metatable is not set Alex Orlenko 2022-10-18 00:34:23 +0100
  • 1040c0a347
    Fix typo Alex Orlenko 2022-10-18 00:00:11 +0100
  • 9045419586
    Strings optimizations: get access to bytes directly from ref thread. Alex Orlenko 2022-10-17 02:37:36 +0100
  • fcd162f3eb
    Replace Lua::ref_thread_exec Alex Orlenko 2022-10-17 00:39:55 +0100
  • 0354703dbf
    Update formatting (Lua registry values) Alex Orlenko 2022-10-17 00:16:52 +0100
  • 9831d0e397
    Check that allocation does not exceed isize::MAX See https://github.com/rust-lang/rust/issues/101899 Alex Orlenko 2022-10-22 23:13:02 +0100
  • 7f14d93c2b
    v0.8.4 Alex Orlenko 2022-10-09 14:40:15 +0100
  • 29c6c9cb58
    Fix clippy warnings Alex Orlenko 2022-10-09 14:01:04 +0100
  • e01af22bac
    Update push_userdata_ref Alex Orlenko 2022-10-09 13:56:30 +0100
  • cfa959e599
    Don't allocate extra byte for userdata (luau) Alex Orlenko 2022-10-09 13:56:06 +0100
  • e523fb2c86
    Update to Luau 0.548 (luau-src >=0.4) Alex Orlenko 2022-10-08 23:34:47 +0100
  • 81a9998559
    Update CI Alex Orlenko 2022-09-12 23:29:05 +0100
  • 050ac4f5ad
    Add luaL_setfuncs to preserved functions Alex Orlenko 2022-09-05 22:01:03 +0100
  • 967cbb53b0
    Update compile tests Alex Orlenko 2022-08-23 23:12:37 +0100
  • 44a8d86d8a
    Fix error message in tests (luau) Alex Orlenko 2022-08-23 23:08:00 +0100
  • 33278d4a64
    Check if chunk is empty in luaL_loadbufferx for Luau (fixes #200) Alex Orlenko 2022-08-23 11:35:08 +0100
  • 20a16839aa
    Fix typo in doc comment Trisha 2022-08-19 09:30:11 -0500
  • 83ed442bf9
    v0.8.3 Alex Orlenko 2022-08-02 12:43:15 +0100
  • bf6708ba58
    Fallback to Lua internal allocator if unable to create Lua VM with Rust one. This should fix #194 Alex Orlenko 2022-08-02 10:20:28 +0100
  • 0cd724f63b
    Fix Lua assertion when inspecting another thread stack. The thread can be dead and it's not safe to call __tostring metamethod (if present) on error object. Fixes #195 Alex Orlenko 2022-08-01 16:39:55 +0100
  • 5330b900fd
    Check that Lua state is non-null in init_from_ptr() Alex Orlenko 2022-08-01 15:19:46 +0100
  • ee32dc33f3
    Check that lua_newstate() returns non-null Lua state Alex Orlenko 2022-08-01 12:56:36 +0100
  • ab029b087d
    Close to-be-closed variables for Lua 5.4 when using call_async functions Fixes #192 Alex Orlenko 2022-07-31 15:33:02 +0100
  • 185fee956d
    v0.8.2 Alex Orlenko 2022-07-25 14:23:25 +0100
  • 4fc69be5f6
    Update rustyline dev dependency Alex Orlenko 2022-07-25 14:14:01 +0100
  • 3ec076693a
    Add FAQ Alex Orlenko 2022-07-23 12:48:34 +0100
  • 95adf8df8e
    Add `__iter` to destructed metatable (luau) Alex Orlenko 2022-07-22 23:06:11 +0100
  • 4a25eab257
    Merge pull request #189 from hack3ric/master Alex Orlenko 2022-07-22 00:28:18 +0100
  • 40fe937878
    Fix a bug in `Function::bind` when args and binds are empty This leads to a Lua assertion due to using wrong stack index Alex Orlenko 2022-07-22 00:24:53 +0100
  • a6b178328d
    Merge branch 'master' of https://github.com/hack3ric/mlua Eric Long 2022-07-21 20:55:28 +0800
  • f3f173fcb6
    `Function::bind`: simply clone the function if `args` are empty `MultiValue` Eric Long 2022-07-21 20:54:49 +0800
  • d3b48cf2f3
    Use Luau tags to mark userdata objects as destructed Alex Orlenko 2022-07-18 00:59:17 +0100
  • f9ff6116db
    Use MaybeUninit instead of hack in protect_lua_closure Alex Orlenko 2022-07-17 11:33:51 +0100
  • f75af6d75f
    Fix clippy warnings Alex Orlenko 2022-07-17 11:11:30 +0100
  • 059e41bafb
    Optimize `WrappedFailure` userdata detection. This is done by comparing a metatable pointer to previously saved one (it never changes). Alex Orlenko 2022-07-17 10:57:36 +0100
  • f7ee6dc635
    Add lua_xpush to 5.1-5.4 Alex Orlenko 2022-07-17 00:03:40 +0100
  • 0919ff21c9
    Merge pull request #181 from hack3ric/master Alex Orlenko 2022-07-01 10:10:16 +0100
  • 553251761f
    Add `MultiValue::get` & add clear error in `Index` Eric Long 2022-07-01 01:59:40 +0800
  • b46b476f80
    v0.8.1 Alex Orlenko 2022-06-29 15:41:22 +0100
  • 70e16b51ae
    Set source name to full file path in Luau require Alex Orlenko 2022-06-29 00:53:07 +0100
  • 9596b97faa
    Update Lua::create_userdata doc about sharing metatable. Closes #175 Alex Orlenko 2022-06-29 00:25:26 +0100
  • 8cbb3d8fae
    Merge pull request #180 from khvzak/userdata_proxy Alex Orlenko 2022-06-29 00:05:59 +0100