Commit Graph

155 Commits

Author SHA1 Message Date
ThePhD
48eea7b573
New Unsafe Feature: Function Pointers!
- 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
2020-09-26 09:46:11 -04:00
ThePhD
000fa31809
Heavily improve usage of Preprocessor checks
- 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.
2020-09-26 06:47:32 -04:00
ThePhD
de87bec171
Even better Regression Testing™ 2020-08-13 10:42:37 -04:00
ThePhD
af779f0bed
Improve the testing macros to work across platforms.
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.
2020-08-12 19:07:32 -04:00
ThePhD
5bbc095396
Improve configuration macros and other things while trying to track down ways to make MSVC stop being a butt on its latest iterations. 2020-08-09 17:17:47 -04:00
ThePhD
862c01019a
Use invoke_result_t to get rid of deprecated result_of_t (Fixes #986).
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.
2020-07-04 03:58:24 -04:00
ThePhD
e09d2ffef8
Fix up protected function returns and fix/use the horrible size extension point derp. Fixes #973 2020-05-26 20:08:38 -04:00
ThePhD
5022c4d8f6
Improve container handling and the vec[#vec] = nil idiom from Lua 2020-05-06 22:17:02 -04:00
ThePhD
053a7fdcb1
Fix #949, #935, #948, #945, and #933.
We will need a new feature to fix #941, which is related to #872.
2020-03-31 00:24:23 -04:00
ThePhD
82812c56d9
__mt is the wrong name. 2020-03-09 21:33:41 -04:00
ThePhD
1f27149239
Fix usage of the traits, rename them to say more directly what they are. 2019-12-02 15:54:58 -05:00
ThePhD
83a656ae61
Break all the behaviors. _All_ of them. 2019-11-29 13:08:41 -05:00
ThePhD
ce32549bc6
Remove as many of the std::string error handlers as possible to avoid memory leaks in C mode
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)
2019-11-09 04:53:48 +00:00
ThePhD
bafac3abbd
Change how proxies are done for the sake of efficiency. 2019-09-15 00:43:44 -04:00
ThePhD
e8649d276b
NOW it's REALLY fixed, super duperly. 2019-08-28 00:17:11 -04:00
ThePhD
e60a628e16
should use safe_script, not just script 2019-08-27 20:36:17 -04:00
ThePhD
0b6c7f47e7
kek tests 2019-08-27 20:32:55 -04:00
ThePhD
683d1393d7
std function can be empty
fixes #862
2019-08-27 18:36:45 -04:00
ThePhD
cb3acaa97b
add more documentation, add clear() to bytecode, include additional examples and better data 2019-08-15 01:26:52 -04:00
ThePhD
e440d7a79b
some utility changes because of the way variants are checked now... 2019-07-03 01:01:07 -04:00
ThePhD
dafb184338
gate the warnng check better... 2019-06-10 07:56:22 -04:00
ThePhD
4ca24f9bc7
Handle weird types for number and shit 2019-06-10 04:22:59 -04:00
ThePhD
ef1c0e7a38
fix weird nested shit 2019-06-08 21:48:34 -04:00
ThePhD
3dd617d33a
blah lua versions 2019-05-29 19:31:52 -04:00
ThePhD
5a4d7dca7f
pointers just wanna be included in the fun, man 2019-05-29 17:14:35 -04:00
ThePhD
f701fd2de7
HEAVILY improve the entire infrastructure and documentation along with all the examples 2019-05-21 19:17:31 -04:00
ThePhD
4808e7cad8
filters -> policies
shill out on the docs
prepare to update all docs
fix #809
2019-05-21 03:57:10 -04:00
ThePhD
5dee45cd9e
Rework table internals for more performance in more cases and handle additional cases of update_if_empty and create_if_nil 2019-05-21 02:13:56 -04:00
ThePhD
c442c6c620
static indexing is a real thing now 2019-04-29 01:38:01 -04:00
ThePhD
3426947340
the god-tier commit-without-running-tests... 2019-04-28 09:40:51 -04:00
ThePhD
b47997ff65
pointer_like, now, more traits being separated out... 2019-04-13 10:15:14 -04:00
ThePhD
6282ed4bf0
Improve unique_usertype handling to avoid needing the rebind_base typedef 2019-04-13 04:05:34 -04:00
ThePhD
7cce3e4d42
unused parameters are the devil 2019-04-05 21:26:49 -04:00
ThePhD
2f7607840f
A very simple fix for a very complex problem 2019-04-05 18:56:37 -04:00
ThePhD
7e7189735e
change behavior to set metatable before construction, not after
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
2019-04-04 09:38:23 -04:00
ThePhD
26cbadc5b2
Livnig dangerously and not running the tests, just shooting from the hip.
One day I'll get this all right...
2019-03-30 23:30:59 -04:00
ThePhD
55ebe1b76a
improve gc and call handling, o boi 2019-03-28 23:18:59 -04:00
ThePhD
a121366a29
More LLVM warnings as errors kicking things in the mouth... 2019-03-23 12:22:38 -04:00
ThePhD
a925963708
appveyor.yml updates to try and more properly capture constraints
travis.yml updates to try and more properly capture constraints
I truly dislike MSVC's inability to handle lots of using statements.
2019-03-23 12:09:51 -04:00
ThePhD
e8467334f6
Completley overhaul tests
Add unregister funcationality
Make sure clearing is stack-size-safe.
2019-03-22 16:28:17 -04:00
ThePhD
b63d7af060
Add lua_table and lua_value abstractions
Improve dump handler, bytecode, and base traits
Fix tolua on bad calls, fix interop handler changes
We are now truly done with all feature requests...
2019-03-18 07:41:51 -04:00
ThePhD
70bc1113cb
Create base_traits
Improve all of the tests
This is the final featureset, now everything is frozen just for docs...
2019-03-14 16:15:43 -04:00
ThePhD
c1a8cb1dc5
Update copyright year, add dump function 2019-03-13 05:18:06 -04:00
ThePhD
466e21bf7c
omegalul MSVC 2019-03-10 11:09:52 -04:00
ThePhD
b6f40935c8
add new tas for override_value and update_if_empty, improve the enable_if for a bunch of field_setter stuff
perform the last breaking change with .source()
prepare for the coming release...
2019-02-16 17:27:03 -05:00
ThePhD
95ffd10283
force variable now works in traverse_set and proxy setters. 2019-02-15 04:01:03 -05:00
ThePhD
9c050230f3
push/pop pragma macros, wew lad 2019-02-14 04:52:30 -05:00
ThePhD
b938e42af6
SUPER DUPER UPDATE WOO 2019-02-14 02:40:57 -05:00
ThePhD
4fd197d956
ebco optimizations for certain classes 2019-02-10 16:40:37 -05:00
ThePhD
b4e83ca866
attempt to improve throughput and compile times even more
change CMake to stop being such a goddamn fucking menance with the warnings and errors
try to get full /W4 clean compliance
2019-02-10 15:02:40 -05:00