Commit Graph

241 Commits

Author SHA1 Message Date
ShepherdSoasis
64e3823bd2 🛠 Address lifetime issues through Lua references in iterators.
📝 Fixes #1315, #1374, and #1400.
— 📝 Lifetime in iterators was referencing the wrong stack (the main thread) rather than the coroutine's stack at time of creation.
— 📝 Using main_reference/main_* objects was a suitable enough fix for most of these problems.
— 🛠 Prevent performance and usability issues from changing containers by storing the being/end iterator separately, rather than continually invoking `deferred_uc::end(…)` every time.
— 🛠 Improve sizes for stored iterators in select cases.
— 🛠 Allow for sentinel-style C++20-and-beyond ranges.
— 🔧 Improve single file generation CMake.
— 👷‍♀️ Fix up internal Lua build system issues.
2023-07-18 13:12:11 -04:00
ShepherdSoasis
973e1c3cd6 🛠 Review exhaustive check and get rid of a few Wall/pedwarn warnings 2023-01-06 23:59:33 -05:00
ShepherdSoasis
f81643aa0c 🛠 Fix exhaustive checking compilation 2022-11-09 18:33:16 -05:00
ShepherdSoasis
3592851a2a New exhaustive check feature for vectors & similar 2022-11-09 18:33:16 -05:00
Fini Jastrow
c4e843b6dd Fix clang compiler warning
[why]
Compiling with clang issues this warning (clang 10.0 and 15.0 tested):

    .../sol/sol.hpp:14541:32: warning: unknown warning group '-Wmaybe-uninitialized', ignored [-Wunknown-warning-option]
    #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"

[how]
Check if the compiler does know the warning, before trying to turn the
warning off.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2022-11-09 18:31:09 -05:00
Marcel Gotsch
92cbc71c10 add to_string and is_integer utilities 2022-08-26 15:21:02 +02:00
Zach Toogood
dca62a0f02 Add static_cast to unique_index arg to silence MSVC warning 2022-06-25 13:27:29 -04:00
ThePhD
ce40e894d0
✍ Update Copyright Year 2022-06-25 04:00:53 -04:00
ThePhD
55828d1ee0
Fix #1266 2022-06-25 03:43:17 -04:00
Eric Zhang
c9055478c7 fix #1354 2022-06-24 12:57:34 -04:00
Matus Fedorko
13b7e8a7ca Fix compile error when registering new user types with operator() 2022-06-24 12:56:14 -04:00
Shepherd
3b97af0ac4 🛠 Clean up old VC++ code
🔎 Silence uninitialized warning for later inspection
2022-06-24 12:51:09 -04:00
Shepherd
323c3ca210 🛠 Prevent non-zero default initialization for result types 2022-06-24 12:51:09 -04:00
Shepherd
0a801ee656 🛠 Guard against environment over-pushing 2022-06-24 12:51:09 -04:00
Shepherd
612b469ad9 🛠 Retrieve main thread to prevent collapses on Luas
— Lua 5.1, 5.2, and 5.3 seemed to have a deficiency in which the stack thread space variable (given as a lua_State*) would die before everything referencing it would be properly dead. This made holding a reference for keep-alive purposes impossible to maintain. Therefore, we retrieve the main thread to keep it alive.
2022-06-24 12:51:09 -04:00
Shepherd
7859f53e81 🛠 Fix many missing <memory> includes 2022-06-24 12:51:09 -04:00
Shepherd
4efea0ff3c Test and fix #1315
— 🛠 Update SOL_IS_(DEFAULT_)ON/OFF usage to be more idiomatic and less confusing (add SOL_RAW_* alternatives as well)
— 💚 Re-check CI
— 👷‍♀️ Add missing header from ebco.hpp
2022-06-24 12:51:09 -04:00
Immortale
385645222a Fixed exception condition 2022-06-23 20:39:12 -04:00
ThePhD
2198d9374d
Wasteful (but needed) .is() implementation 2022-06-12 00:33:17 -04:00
Corentin Schreiber
6409634846 Don't use is_c_str_or_string for char[] detection in usertype storage 2022-04-13 20:41:17 -04:00
Corentin Schreiber
6cffb266c7 Fixed occurences of is_cstr which should have been is_cstr_or_string 2022-04-13 20:41:17 -04:00
halx99
50b62c9346 Add missing parenthesis for std::max 2022-01-03 13:48:32 -05:00
ThePhD
b43962957f
New dedicated loose table check 2021-10-23 18:13:25 -04:00
ThePhD
3b4144c6ec
Proper keep-alive semantics!
Fixes #1247
2021-10-23 17:38:50 -04:00
ThePhD
ff783a150c
c_str is not a std::string and I fucking hate it 2021-10-22 19:06:43 -04:00
ThePhD
03ec2c93cc
🛠 Fixes #1198 issuues with base in MSVC! 2021-10-22 18:30:49 -04:00
ThePhD
002233ba84
Proper read-only pair iteration!
🔨 Fix up the general build
2021-10-22 16:17:49 -04:00
ThePhD
b43cee5c9d
Preparing to separate the build from the table 2021-09-15 03:26:40 -04:00
Stephan T. Lavavej
6283d3c2be Update is_string_constructible for C++23 P2166R1. 2021-07-26 22:08:45 -04:00
Smertig
05235646ef Fix required memory size calculations, do only one pass. 2021-05-21 13:20:59 -04:00
Smertig
1a7c9fc74b Add constexpr alignment stuff 2021-05-21 13:20:59 -04:00
Smertig
8ccd92d69d Remove unused arguments 2021-05-21 13:20:59 -04:00
Smertig
4eac7a02c0 Use std::uintptr_t in alignment calculations 2021-05-21 13:20:59 -04:00
Rinat Namazov
f5355395b7 Added FFI enabled check 2021-05-15 21:58:51 -04:00
ThePhD
a3e3a62ad6
💚 Try to tamp down Clang errors 2021-05-07 03:17:24 -04:00
ThePhD
80ede904d6
💚 Some stuff to make the CI builds a bit better
- Thanks, blobthing & zasz!
2021-05-07 01:56:32 -04:00
ThePhD
7aae1aaaaa
🔨 asdhjsahd DO NOT BUILD
- Add a flag to allow size_t(-1) and similar shenanigans (SOL_ALL_INTEGER_VALUES_FIT)
- Half-fix, but not fully, for #1183, #1072, #1038, #965
- Fix #1126
- Prepare for #1061
2021-05-06 18:44:25 -04:00
ThePhD
f56b3c698c
🐛 std::variant should be properly gated... 2021-03-14 19:51:29 -04:00
ThePhD
f54138305d
🐛 Fix up the call when the stack is cleaned out 2021-03-11 19:17:00 -05:00
ThePhD
e298eee99f
🐛 But on the compiler's side!
- Fixes #1128
2021-03-07 14:54:56 -05:00
ThePhD
e2b0ab9fe2
🐛 Not really a bug, but fixes #1127
- It's not at all safe. And I do not at all care - table iterators are inefficient and terrible, and there's nothing we can do to make this situation even remotely better.
2021-03-07 14:52:44 -05:00
ThePhD
a53819531d
🐛 Fix #1144 for now 2021-03-07 14:24:52 -05:00
ThePhD
d0ab12e965
🐛 Fix #1149 2021-03-07 13:43:56 -05:00
ThePhD
42716a63cf
🔨 Attempt to have assert CI not break 2021-03-06 10:53:04 -05:00
ThePhD
57d9a05f88
🎨 Refactor tutorial examples
- 🛠 Make sure the tutorials compile across platforms!
- ✍ Redo quite a bit of the documentation
2021-03-06 10:14:48 -05:00
ThePhD
8618e39486
🛠 Prepare for the a sol4 release...
- 🎨 Refactor the CMake a whle bunch
2021-03-06 01:03:23 -05:00
ThePhD
d4b13ff864
Joy, missed an underscore 2021-02-14 00:45:14 -05:00
ThePhD
37d891fa40
Give constexpr macro a better name
- Put it in the version.hpp properly
- Change its spelling and usage
2021-02-14 00:33:09 -05:00
ThePhD
4e2ee29b34
Get out of MSVC's crash on latest preview.
- Honestly, no clue if this will even work...
2021-02-14 00:28:31 -05:00
Vladimir Lichevsky
810c96b97b Support constexpr boost::none with recent Boost versions. 2021-02-10 13:10:53 -05:00