Alex Orlenko
27e7facf9b
Fix clippy warnings
2021-08-22 00:35:31 +01:00
Alex Orlenko
31d32f2dda
Wrap ExtraData
to Arc<UnsafeCell>>
instead of raw pointer and attach finalizer.
...
This would allow to properly deallocate memory in module mode when closing lua state.
2021-08-21 23:17:09 +01:00
Alex Orlenko
7d1b322e18
Change ExtraData::mem_info
to Box<MemoryInfo>
2021-08-19 01:42:32 +01:00
Alex Orlenko
d906405818
Simplify interface of hook::HookTriggers
2021-08-18 18:49:17 +01:00
Alex Orlenko
60fd060d47
Clarify about calling Lua::init_from_ptr()
multiple times
2021-08-17 15:34:34 +01:00
Alex Orlenko
9f02a9ca09
Add Debug::event()
to the hook's Debug structure
2021-08-17 15:17:03 +01:00
Alex Orlenko
1d7f105585
Don't catch Rust panics in userdata finalizer on drop
2021-08-06 11:14:16 +01:00
Alex Orlenko
1020315a9b
Update documentation about FromLua
for UserData. Closes #64
2021-08-04 12:12:02 +01:00
Alex Orlenko
628b70f561
v0.6.2
2021-07-13 20:29:25 +01:00
Alex Orlenko
8a7e546c66
Shrink unsafe block in Lua::load_from_function
and update doc
2021-07-13 16:43:00 +01:00
Alex Orlenko
97bd288f56
Add CI tests with enabled address sanitizer
...
Don't use release mode in tests
Try to use cache in CI
2021-07-13 16:17:29 +01:00
Alex Orlenko
59253410bb
Update trybuild messages
2021-07-13 11:59:33 +01:00
Alex Orlenko
5fb7b96704
Replace custom UserDataRef(Mut)
with standard Ref
(Mut)
2021-07-13 10:53:10 +01:00
Alex Orlenko
17162b1e0b
UserData improvements:
...
1) Optimize `make_userdata` call
2) Refactor `UserDataWrapped` and make it enum
2021-07-11 01:30:17 +01:00
Alex Orlenko
934aa3b65f
Forgotten optimization for box_method_mut
2021-07-09 23:25:48 +01:00
Alex Orlenko
3bffe1d7c3
Combine WrappedError and WrappedPanic structs to WrappedFailure enum
2021-07-09 00:05:29 +01:00
Alex Orlenko
582b2c585f
Rename init_gc_metatable_for and get_gc_metatable_for
2021-07-08 22:57:54 +01:00
Alex Orlenko
56b6b128b5
Minor fixes/compilation after revert
2021-07-08 22:53:53 +01:00
Alex Orlenko
1731f5d61b
Revert "Make protect_lua
as a smart macro to choose from C/closure"
...
This reverts commit 84fe5f7f76
.
2021-07-08 18:41:10 +01:00
Alex Orlenko
60822d12d2
Revert "Move away from metatable hashmap cache to direct keys"
...
This reverts commit adbc9ccc9b
.
2021-07-08 18:40:14 +01:00
Alex Orlenko
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.
2021-07-08 17:32:20 +01:00
Alex Orlenko
adbc9ccc9b
Move away from metatable hashmap cache to direct keys
2021-07-08 15:37:18 +01:00
Alex Orlenko
84fe5f7f76
Make protect_lua
as a smart macro to choose from C/closure
2021-07-07 12:54:19 +01:00
Alex Orlenko
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
2021-07-05 00:03:18 +01:00
Alex Orlenko
7b5b78fa3d
Add codecov.yml to don't fail on coverage change
2021-06-30 21:52:50 +01:00
Alex Orlenko
41aae83304
Optimize callback creation
...
Attach only one upvalue to callbacks rather than two.
This leads to less lookup to Lua registry.
2021-06-30 16:50:50 +01:00
Alex Orlenko
fc84e8623e
v0.6.1
2021-06-28 00:10:07 +01:00
Alex Orlenko
8aae9a7c3e
Update chunk! documentation
2021-06-28 00:10:04 +01:00
Alex Orlenko
24bbd62564
Fix converting Lua sequence table to HashSet/BTreeSet
2021-06-25 01:49:09 +01:00
Alex Orlenko
30af919931
Lower once_cell dependency to 1.0
2021-06-25 00:39:10 +01:00
Alex Orlenko
89b5981c59
Fix typos
2021-06-25 00:38:49 +01:00
Alex Orlenko
7feabffc37
v0.6.0
2021-06-21 23:19:56 +01:00
Alex Orlenko
f24fdfdb80
Update AsChunk::env
function prototype
2021-06-21 23:19:33 +01:00
Alex Orlenko
c702c5eff2
Add userdata example
2021-06-21 20:28:14 +01:00
Alex Orlenko
e4daff8c16
Add limited recursion test to increase coverage
2021-06-21 12:30:17 +01:00
Alex Orlenko
8d474bbf8d
Fix clippy warning
2021-06-21 03:25:21 +01:00
Alex Orlenko
9e3b0ecc1e
Even better optimization after 14d5c2c887
2021-06-20 19:48:33 +01:00
Alex Orlenko
42b396d0d1
Optimize non-wrapped userdata method calls
2021-06-20 12:38:47 +01:00
Alex Orlenko
14d5c2c887
Lua->Rust callback performance improvements
2021-06-20 00:24:53 +01:00
Alex Orlenko
b84c10fde6
Update README (include publishing to luarocks section)
2021-06-19 15:00:04 +01:00
Alex Orlenko
b49f9539b6
Update CHANGELOG
2021-06-19 14:59:32 +01:00
Alex Orlenko
a208156ed2
Update examples to include chunk!
macro
2021-06-19 14:41:48 +01:00
Alex Orlenko
242bdafa75
More tests for arc/rc wrapped userdata
2021-06-19 00:03:09 +01:00
Alex Orlenko
b84d1bd65f
Update test names
2021-06-18 23:13:56 +01:00
Alex Orlenko
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.
2021-06-18 17:45:20 +01:00
Alex Orlenko
bf286751fa
Improve code coverage
2021-06-17 00:47:15 +01:00
Alex Orlenko
3b94b4e86f
Implement Hash for RegistryKey. Closes #57
2021-06-16 12:12:42 +01:00
Alex Orlenko
9f0378b77e
Complitely remove the C shim
2021-06-16 22:21:45 +01:00
Alex Orlenko
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.
2021-06-16 22:13:01 +01:00
Alex Orlenko
fca21d56d3
Check stack in entrypoint1 before pushing value to a stack
2021-06-13 23:30:56 +01:00