Commit Graph

  • d906405818
    Simplify interface of `hook::HookTriggers` Alex Orlenko 2021-08-18 18:49:17 +0100
  • 60fd060d47
    Clarify about calling `Lua::init_from_ptr()` multiple times Alex Orlenko 2021-08-17 15:34:34 +0100
  • 9f02a9ca09
    Add `Debug::event()` to the hook's Debug structure Alex Orlenko 2021-08-17 15:17:03 +0100
  • 1d7f105585
    Don't catch Rust panics in userdata finalizer on drop Alex Orlenko 2021-08-06 11:14:16 +0100
  • 1020315a9b
    Update documentation about `FromLua` for UserData. Closes #64 Alex Orlenko 2021-08-04 12:12:02 +0100
  • 628b70f561
    v0.6.2 Alex Orlenko 2021-07-13 20:29:25 +0100
  • 8a7e546c66
    Shrink unsafe block in `Lua::load_from_function` and update doc Alex Orlenko 2021-07-13 16:03:50 +0100
  • 97bd288f56
    Add CI tests with enabled address sanitizer Don't use release mode in tests Try to use cache in CI Alex Orlenko 2021-07-13 12:14:34 +0100
  • 59253410bb
    Update trybuild messages Alex Orlenko 2021-07-13 11:59:33 +0100
  • 5fb7b96704
    Replace custom `UserDataRef(Mut)` with standard `Ref`(Mut) Alex Orlenko 2021-07-13 10:53:10 +0100
  • 17162b1e0b
    UserData improvements: 1) Optimize `make_userdata` call 2) Refactor `UserDataWrapped` and make it enum Alex Orlenko 2021-07-10 22:45:32 +0100
  • 934aa3b65f
    Forgotten optimization for `box_method_mut` Alex Orlenko 2021-07-09 23:25:48 +0100
  • 3bffe1d7c3
    Combine WrappedError and WrappedPanic structs to WrappedFailure enum Alex Orlenko 2021-07-09 00:05:29 +0100
  • 582b2c585f
    Rename init_gc_metatable_for and get_gc_metatable_for Alex Orlenko 2021-07-08 22:57:54 +0100
  • 56b6b128b5
    Minor fixes/compilation after revert Alex Orlenko 2021-07-08 22:53:53 +0100
  • 1731f5d61b
    Revert "Make `protect_lua` as a smart macro to choose from C/closure" Alex Orlenko 2021-07-08 18:41:10 +0100
  • 60822d12d2
    Revert "Move away from metatable hashmap cache to direct keys" Alex Orlenko 2021-07-08 18:40:14 +0100
  • 8ff610529b
    Don't wrap ExtraData to Arc<Mutex> and use raw pointer instead. This causes serious performance issues and given that Lua is single threaded (not Sync) it's safe to use a raw pointer instead. Alex Orlenko 2021-07-08 17:32:20 +0100
  • adbc9ccc9b
    Move away from metatable hashmap cache to direct keys Alex Orlenko 2021-07-08 15:37:18 +0100
  • 84fe5f7f76
    Make `protect_lua` as a smart macro to choose from C/closure Alex Orlenko 2021-07-07 12:54:19 +0100
  • 1fe583027b
    Add new functions: `lua.load_from_function()` and `lua.create_c_function()` This should be useful to register embedded C modules to Lua state. Provides a solution for #61 Alex Orlenko 2021-07-04 23:51:51 +0100
  • 7b5b78fa3d
    Add codecov.yml to don't fail on coverage change Alex Orlenko 2021-06-30 21:52:50 +0100
  • 41aae83304
    Optimize callback creation Attach only one upvalue to callbacks rather than two. This leads to less lookup to Lua registry. Alex Orlenko 2021-06-30 16:50:50 +0100
  • fc84e8623e
    v0.6.1 Alex Orlenko 2021-06-27 22:42:14 +0100
  • 8aae9a7c3e
    Update chunk! documentation Alex Orlenko 2021-06-26 23:41:21 +0100
  • 24bbd62564
    Fix converting Lua sequence table to HashSet/BTreeSet Alex Orlenko 2021-06-25 01:49:09 +0100
  • 30af919931
    Lower once_cell dependency to 1.0 Alex Orlenko 2021-06-25 00:39:10 +0100
  • 89b5981c59
    Fix typos Alex Orlenko 2021-06-25 00:38:49 +0100
  • 7feabffc37
    v0.6.0 Alex Orlenko 2021-06-21 23:19:56 +0100
  • f24fdfdb80
    Update `AsChunk::env` function prototype Alex Orlenko 2021-06-21 23:19:33 +0100
  • c702c5eff2
    Add userdata example Alex Orlenko 2021-06-21 20:28:14 +0100
  • e4daff8c16
    Add limited recursion test to increase coverage Alex Orlenko 2021-06-21 12:18:06 +0100
  • 8d474bbf8d
    Fix clippy warning Alex Orlenko 2021-06-21 03:25:21 +0100
  • 9e3b0ecc1e
    Even better optimization after 14d5c2c887 Alex Orlenko 2021-06-20 19:48:33 +0100
  • 42b396d0d1
    Optimize non-wrapped userdata method calls Alex Orlenko 2021-06-20 12:38:47 +0100
  • 14d5c2c887
    Lua->Rust callback performance improvements Alex Orlenko 2021-06-20 00:24:53 +0100
  • b84c10fde6
    Update README (include publishing to luarocks section) Alex Orlenko 2021-06-19 14:56:49 +0100
  • b49f9539b6
    Update CHANGELOG Alex Orlenko 2021-06-19 14:42:58 +0100
  • a208156ed2 Update examples to include `chunk!` macro Alex Orlenko 2021-06-19 14:41:48 +0100
  • 242bdafa75 More tests for arc/rc wrapped userdata Alex Orlenko 2021-06-19 00:03:09 +0100
  • b84d1bd65f Update test names Alex Orlenko 2021-06-18 23:13:56 +0100
  • 4e92ea341b Fix userdata memleak in edge case. This can happen if we unable to push metatable with `__gc` metamethod after pushing userdata. In this case Lua will never execute drop. Instead, we will push metatable first and then userdata. Alex Orlenko 2021-06-18 17:45:20 +0100
  • bf286751fa Improve code coverage Alex Orlenko 2021-06-17 00:11:58 +0100
  • 3b94b4e86f Implement Hash for RegistryKey. Closes #57 Alex Orlenko 2021-06-16 12:12:42 +0100
  • 9f0378b77e Complitely remove the C shim Alex Orlenko 2021-06-16 22:21:45 +0100
  • d3f44354e0 Revert commit ced808d5ab I think this experiment is unsuccessful and does not work well in a module mode with dynamic symbols resolution and mixing between different mlua instances. Overall the Rust bug has been fixed and we can wait for the "C-unwind" feature become stable. Alex Orlenko 2021-06-16 22:13:11 +0100
  • fca21d56d3 Check stack in entrypoint1 before pushing value to a stack Alex Orlenko 2021-06-13 23:28:41 +0100
  • 6e52bb7e65 Fix clippy warnings && tests Alex Orlenko 2021-06-13 23:08:56 +0100
  • 08ffeb0ca9 Improve module mode: - Don't hide module function inside `luaopen_%` function. - Raise Lua exception instead of panic if module function returns error. Alex Orlenko 2021-06-13 22:38:51 +0100
  • 3b9d8a7b5f Keep all Lua symbols in unsafe mode to load C modules Alex Orlenko 2021-06-12 18:00:55 +0100
  • 0fe898c0dd v0.6.0-beta.3 Alex Orlenko 2021-06-04 12:38:09 +0100
  • 821f1125b6 Add `String::to_string_lossy` Alex Orlenko 2021-06-04 00:16:40 +0100
  • 6c0096d8ac Update examples Alex Orlenko 2021-06-03 23:52:29 +0100
  • abb95c3c56 Remove `T: Clone` requirement from `add_async_function` Alex Orlenko 2021-06-03 23:21:00 +0100
  • 64faebf407 Add `__ipairs` metamethod (again) for Lua 5.2 only Alex Orlenko 2021-06-03 18:43:29 +0100
  • a944f4ad6f Implement `UserData` for Rc<RefCell>/Arc<Mutex>/Arc<RwLock> wrappers Alex Orlenko 2021-05-31 23:33:44 +0100
  • bae424672a Treat errors as `Send + Sync` to be compatible with `anyhow` crate Alex Orlenko 2021-05-31 11:05:41 +0100
  • 6f9eb82649 Update README Alex Orlenko 2021-05-18 20:13:28 +0100
  • e8de2a458a Allow multiple entrypoints in a single module share the same Lua state. Previously it would initialize different Lua instances. Fixes #49. Alex Orlenko 2021-05-18 20:07:34 +0100
  • 973b5c3bf5 v0.6.0-beta.2 Alex Orlenko 2021-05-13 22:17:15 +0100
  • b610a79d66 Update docs & minor error handling code changes Alex Orlenko 2021-05-11 14:18:22 +0100
  • fe39ae09bf Try different approach for errors handling. Instead of convering error to CallbackError in error message handler, do it earlier at callback_error stage. Better fix for #44. Alex Orlenko 2021-05-11 00:53:07 +0100
  • 01714d2510 Prepare 0.6.0-beta.2 release Alex Orlenko 2021-05-10 22:28:33 +0100
  • 0bad4a0ff9 Fix spelling Alex Orlenko 2021-05-10 19:53:38 +0100
  • 35b7504076 Improve error reporting in module mode. Attach traceback to a WrappedError. Fixes #44. Alex Orlenko 2021-05-09 21:39:28 +0100
  • c9b8eb5418 Re-export UserDataFields/UserDataMetatable Alex Orlenko 2021-05-09 09:30:33 +0100
  • ef7d123f80 Exclude mlua_derive from coverage report Alex Orlenko 2021-05-06 00:41:20 +0100
  • 20cba5de5b Fix clippy warnings Alex Orlenko 2021-05-06 00:36:47 +0100
  • 3e03f4201c Add chunk! macro support Alex Orlenko 2021-05-05 21:55:49 +0100
  • 5199b02346 Update lua state when polling futures Alex Orlenko 2021-05-05 12:37:27 +0100
  • 5293b8d6d2 Add `Thread::reset()` for luajit/lua54 Alex Orlenko 2021-05-05 11:11:32 +0100
  • 7541b6f3f3 Remove deprecated `AnyUserData::has_metamethod()` Alex Orlenko 2021-05-04 23:57:47 +0100
  • 205510a540 Update sys align code Alex Orlenko 2021-05-04 23:55:24 +0100
  • 2250421438 Fix clippy warnings Alex Orlenko 2021-05-04 23:42:33 +0100
  • 8e57e6fa5a v0.6.0-beta.1 Alex Orlenko 2021-05-04 00:43:26 +0100
  • f2dbbb091f Update dependencies Alex Orlenko 2021-05-04 00:31:51 +0100
  • 13cfb4bd51 Add CHANGELOG for v0.6.0-beta.1 Alex Orlenko 2021-05-03 23:36:18 +0100
  • 33ebacab49 Update README Alex Orlenko 2021-05-03 22:17:40 +0100
  • 3829b72212 Update code docs Alex Orlenko 2021-05-03 22:17:34 +0100
  • af67971e0d Make `SerializeOptions` non_exhaustive. Add builder implementation similar to `LuaOptions` to set individual options. Alex Orlenko 2021-05-03 21:43:56 +0100
  • 0f4bcca7ce Add `LuaOptions` to customize Lua/Rust behaviour. The only option is `catch_rust_panics` to optionally disable catching Rust panics via pcall/xpcall. Alex Orlenko 2021-05-03 21:16:42 +0100
  • 585c0a25d8 Replace 'Thread already finished' error with common `Error::CoroutineInactive` Alex Orlenko 2021-05-03 13:11:59 +0100
  • 64346ce56c Implement/Derive `Debug` for Lua and few other structs Alex Orlenko 2021-05-03 13:05:43 +0100
  • 108682cc71 Store `safe` property in Extra state to inherit into Lua structs made from pointers Alex Orlenko 2021-05-03 12:40:14 +0100
  • 4af7bcf0d9 Implement ToLua/FromLua for Box<str> and Box<[T]> Alex Orlenko 2021-05-03 01:15:36 +0100
  • 1bb3c5c19f Fix typo in README Alex Orlenko 2021-05-02 23:53:48 +0100
  • a4567cb5f7 Improve growing the auxiliary stack of the ref thread: Try to double size first, if not fulfilled try halving in a loop till 0. Fix unwinding after panic in ref_stack_pop. Add test to check the stack exhaustion. Alex Orlenko 2021-05-02 23:26:02 +0100
  • 26d8d899f2 Allocate Waker slot in Registry in re-use it (instead of creating new userdata for it) Alex Orlenko 2021-05-02 13:04:02 +0100
  • 67bc0b1196 Make AsyncPollPending internal value as LightUserData Alex Orlenko 2021-05-02 12:06:32 +0100
  • e8505b5239 Change signature of Function::dump() to remove Result Alex Orlenko 2021-05-02 11:48:42 +0100
  • 3f55958bdd Stack assertions review Other minor code and documentation updates Alex Orlenko 2021-05-02 10:38:33 +0100
  • 463fc646bc Refactor UserDataCell Alex Orlenko 2021-04-27 18:31:57 +0100
  • b5f1325f2f Store nonstatic UserData pointer in self userdata (instead of metatable) Alex Orlenko 2021-04-27 12:58:25 +0100
  • 0625991a48 Update github action to fix modules test on Windows (lua53 -> lua54) Alex Orlenko 2021-04-27 10:38:20 +0100
  • 269ef9c55d Fix lua51 scope compilation Alex Orlenko 2021-04-27 10:11:37 +0100
  • f5b88624ce Hide Deserializer inner fields Improve documentation Alex Orlenko 2021-04-27 10:04:18 +0100
  • 2fae94586d Remove Result from lua.null() and lua.array_metatable(). They never fail. Alex Orlenko 2021-04-27 00:29:24 +0100
  • bc81d1016f Add SerializeOptions to to change default Lua serializer behaviour Alex Orlenko 2021-04-27 00:21:49 +0100
  • c19f12898d Replace lazy_static with once_cell Alex Orlenko 2021-04-11 15:23:43 +0100
  • c7541ef7d3 More tests Alex Orlenko 2021-04-11 13:19:12 +0100