| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
* Use std::format instead of sprintf for verbose errors when decoding table keys
* Add a unit test for the different table key types
|
| |
|
|
| |
As demonstrated by the unit tests, there is no problem with using a table as a table key
|
| |
|
|
|
|
|
|
| |
* add convert_fallback and convert_max_attempts to global settings
* if no __lanesconvert is available, use convert_fallback (can be useful for externally provided full userdata with fixed metatables)
* only try conversion on non-deep and non-clonable userdata
* conversion can be applied recursively, up to convert_max_attempts times
* plus all the relevant unit tests of course
|
| |
|
|
|
| |
* I need to keep deep_userdata_example hackishly built-in inside the unit tests executable, because using the external module cause a crash in Lua51 tests (module is unloaded before some deep objects are GCed...)
* copy the test script in the proper location and invoke it as part of the tests
|
| |
|
|
| |
* prepare the luaL_Buffer in the destination state instead of the source state to prevent stack issues when everything happens in the same state
|
| | |
|
| |
|
|
|
|
|
|
| |
* lane:join() can no longer be used to read yielded values
* same with lane indexing
* stub for lane:close(), similar to coroutine.close() (not implemented yet)
* preparing tests for to-be-closed variables in yielded coroutine lanes
* yielded lanes unlock and terminate properly at Lanes shutdown
|
| | |
|
| | |
|
| |
|
|
|
| |
* split tasking_cancelling in two
* add a timer in basic and tasking_cancelling as a temporary workaround for a deadlock in mingw ucrt64 builds
|
| |
|
|
|
| |
* Everything assumes there is a _LuaVersions folder containing all supported Lua versions (binaries, libs and headers) alongside the Lanes.sln location
* After that the solutions to build the Lua binaries themselves will appear too for reference (mainly because their output folders will be configured accordingly)
|
| |
|
|
|
|
|
|
|
|
|
| |
* renamed makefiles:
- Shared.mk → Shared.makefile
- src/Makefile → src/Lanes.makefile
- unit_tests/Makefile → unit_tests/UnitTests.makefile
- deep_userdata_example/Makefile → deep_userdata_example/DUE.makefile
* Add a makefile for deep_userdata_example
* added a target 'unit_tests' to build them (not running them yet)
* plus some minor internal improvements
|
| | |
|
| | |
|
| |
|