- readonly(...) should no longer issue errors in bogus manners
- binding for member function pointers and normal pointers should behave better now
- coroutines should now properly transfer the state/identity of their error handlers
- Fix empty base class optimization type
- Improve bind traits metaprogramming
- Add new define to catch-all for exception propagation
- Improve natvis
- Move test defines to build system, as we should
- Add a new example for multiple thread/states in Coroutines
- Add proper direct to mangling in Clang for Windows
- Exceptions are still busted on some platforms (Clang being quite funky)
Rationale: since sol2 is a header-only library, some projects might
use it as a private dependency instead of exposing it through their API.
Thus, it is useful to have an option to not install sol2, in order to
reduce the installation size as well as to avoid accidentally exposing
internal dependencies in the top-level project.
The project I work on is a demonstration of how the feature might be
used:
f4a20ec39e/external/CMakeLists.txt (L84)
(mind the different name of the CMake variable, I renamed it to fit the rest
of the sol options convention)
We have an install-check script script which verifies that only expected
headers, libs, targets and docs are exported (the one which are interesting
from users PoV). I wouldn't mind contributing the script as github workflows
if you want to use it as well - please provide feedback if that's desired.
Here is a link to our script for preview:
https://github.com/GENIVI/ramses-logic/blob/master/ci/scripts/installation-check/check-installation.py
While modifying the CMake code, I noticed a 4-space instead of TAB in one
place and fixed it to be consistent with the rest of the CMake code.
- Not at all type safe: there should be some investigation into making it less unsafe to work with these things (albeit it looks like it would cost +1 pointer to serialize a string name for each callable in Lua, at LEAST)
- Must be opted into - see the documentation
- Fixes#1015
- A few drive-by fixes here and there
- New configuration test harness with CMake
- Weed out bugs in the numeric checking implementation
- Solve the problem with load_result/protected_function_result/unsafe_function_result being copyable and thus amenable to explosions. Fixes#995.
- Resolve the warning in sol::readonly. Fixes#1000.
- Looke into #1014. Not sure I can help there, honestly; looks like a mix up of multiply-loaded libraries and mixing the two.
Add a note to the documentation about SOL_NO_LUA_HPP being less preferred over the C++ defines, to Fix#1013.
Add regression tests (not yet fixed) so I can get to the bottom of VC++ being ass.
Make thread local keyword optional by using a config macro SOL_NO_THREAD_LOCAL (off by default) (Fixes#979).
Cannot do anything for #985; that's an architecture issue.
Add some checks for container usertypes that masquerade as convertible from tables
Make sure shared_ptr-like types that are copyable are returned directly (but do not do this for move-only types)
inherently dangerous, since that means the destructor can be called on incomplete memory if a constructor throws...
.... Not my problem! :D
blah blah shitty warnings
Reduce compile-times by removing lambda shenanigans and moving data that is already serialized into runtime systems to runtime
Fix bugs with precedence ordering related to index and new_index
Prepare to add 20000 more if constexpr to reduce compile-times even further.
notably, test normal + single + generated + Lua 5.3.5 only once,
then only run the runtime_test and compile_test for normal for all other permutations to help increase text matrix throughput
add new shared_ptr differentiation mechanism that persists between DLLs (fixes#661)
change valid Lua version to handle Lua 5.4.0-work1 (fixes#649)
remove upper limit on MSVC version: they're not fixing it anytime soon (fixes#655)
add integer value for definition (fixes#651)