Commit Graph

1422 Commits

Author SHA1 Message Date
ThePhD
51245a9e7b go to hell, gcc and clang 2017-05-29 13:06:37 -04:00
ThePhD
fd8e2df92e fix some semantics for container usertypes, their iterators, and how they push their value types (to cope with crappy input iterator "containers")
add better handling for `readonly` to prevent bugs from `const`-ifying the return value of a member variable (e.g., unexpected copy semantics)
add more tests and add a few more handlers for new readonly type
fix simple_usertype_metatable's handling of newindex and index when not at the top level
2017-05-29 10:32:37 -04:00
ThePhD
c6d11a2bac fix index and newindex semantics on simple_usertypes
we do not have to hit the metatable by-name since we go to special lengths to ensure we have a simple usertype table we can use
2017-05-28 19:14:18 -04:00
ThePhD
acee4dbbc9 [ci skip] fix docs 2017-05-27 11:00:15 -04:00
ThePhD
2393d0bcfd update single 2017-05-20 20:03:28 -04:00
ThePhD
6047f48343 vet container_usertype and wrap for the proper traits regarding assignment and checking of said assignments
update documentation with more tips and other similar things
2017-05-20 20:01:04 -04:00
ThePhD
5ff394ae0d use the copy assignable trait, even if that's not exactly what we're going for... 2017-05-16 20:20:59 -04:00
ThePhD
51d6f6fa54 You would think that we'd have accounted for this earlier...
Fixes #405
2017-05-16 06:12:28 -04:00
ThePhD
34b81bef6b Handle qualified name failures of VC++, where using templates do not match the fully qualified names of what they alias to (Thanks, VC++) 2017-05-15 10:41:50 -04:00
ThePhD
7eccb5883e Sigh. I hate you, LuaJIT. 2017-05-09 15:16:51 -04:00
ThePhD
934f55058d Of course LuaJIT woudl ruin everything. 2017-05-09 15:12:20 -04:00
ThePhD
a0255fac54 LuaJIT implements a tail call optimization that folds / flattens / crushes part of the stack, making it (and its related environment) impossible to retrieve through the C API. This is... disconcerting, but you can get around it by adding extra parenthesis around return types to prevent tail call optimization at that site. 2017-05-09 14:31:27 -04:00
ThePhD
86e2de297d update single, ensure unused variables are axed 2017-05-09 13:31:44 -04:00
ThePhD
8efafca46a [ci skip] update single, bump version 2017-05-09 13:27:23 -04:00
ThePhD
58003669fb this_environment is now live 2017-05-09 13:24:56 -04:00
ThePhD
c7237806ef add a new example, add a note, adjust for LuaJIT Beta3 and beyond (hopefully it doesn't flip its crap: will have to warn suers....) 2017-05-07 10:16:47 -04:00
ThePhD
5bc5def14d update single 2017-05-04 03:18:46 -04:00
Carlos Carrasco
7b78558413 add test for map 2017-05-03 18:54:38 -04:00
Carlos Carrasco
e13711ed84 add find method to containers to make fast lookups into set/unordered_set 2017-05-03 18:54:38 -04:00
ThePhD
fc3e7c40f3 static properties work as intended, I guess 2017-04-25 19:44:53 -04:00
ThePhD
0db6d99d4b add new examples 2017-04-20 22:31:59 -04:00
ThePhD
c124d51353 Fix #398 by ensuring proper usertype propagation. 2017-04-20 20:27:32 -04:00
sjaustirni
eebda40507 made "error" accessible in the Lua state
We need to expose `error()` in Lua in order to let it call the error handler function. However, for that the base library needs to be available in the Lua state.
 
Without this fix the output of the program is
`call failed, sol::error::what() is Handled this message: [string "..."]:7: attempt to call a nil value (global 'error')`
while it's supposed to be
`call failed, sol::error::what() is Handled this message: [string "..."]:7: negative number detected`
2017-04-20 20:17:06 -04:00
ThePhD
3d5f80e35a Fix bad tag for clang 2017-04-19 15:29:26 -04:00
ThePhD
a1e3dabe36 luajit has different behavior. What a surprise. 2017-04-19 13:37:03 -04:00
ThePhD
a3d6f8044c working stuff!~ 2017-04-19 13:00:47 -04:00
ThePhD
de7d7e8da5 update versions 2017-04-18 20:26:35 -04:00
ThePhD
2acc8bee14 get_environment, documentation updates, and tests 2017-04-18 20:23:20 -04:00
ThePhD
b02f54c592 I never fixed the license FeelsBadMan 2017-04-16 00:33:40 -04:00
ThePhD
36cc7f2863 crush the stack on final error when throwing to prevent 'leaks' in bad cases 2017-04-09 19:37:45 -04:00
ThePhD
a6e03ac214 tfw you break everything 'cause you're bad 2017-04-09 13:03:41 -04:00
ThePhD
2df532f79b There was a leak when running scripts and catching errors, where she didn't properly clean up the stack. 2017-04-09 12:04:57 -04:00
ThePhD
814562260d Fixes #394 2017-04-08 08:25:49 -04:00
ThePhD
28fff10637 Well, that bug was annoying to track down, but it was from the single.py script. This fixes #392 2017-04-06 21:15:22 -04:00
ThePhD
e856abc35b bump version numbers 2017-04-04 16:26:49 -04:00
ThePhD
8c94cb730b Fix static initialization order fiasco with meta_function_names 2017-04-04 16:16:22 -04:00
ThePhD
32feb7ab7b unused variable warnings 2017-04-03 08:19:16 -04:00
Stefan Bühler
0563d9e124 fix return type of call operator in function.rst
without result type specification it returns `function_result`
2017-04-03 08:13:07 -04:00
ThePhD
36071801d6 script error handling example 2017-04-03 02:45:06 -04:00
ThePhD
fd507d87bb [ci skip] doc updates 2017-04-03 00:30:20 -04:00
ThePhD
07cee03a8b [ci skip] state doc updates 2017-04-03 00:08:56 -04:00
ThePhD
263b492afa tweak travis configuration for clang on osx 2017-04-02 23:37:54 -04:00
ThePhD
37fc0a4255 configuring travis to handle things a bit more properly 2017-04-02 23:33:35 -04:00
squeek
cff6ff99ea Minor environment doc fixes [ci skip] 2017-04-02 23:05:33 -04:00
ThePhD
bbb7aafd4b [ci skip] I'll stop derping one day of my life....
But that's not today :v
2017-04-02 22:48:26 -04:00
ThePhD
1f98a86a27 [ci skip] almost left something out of the docs 2017-04-02 22:47:02 -04:00
ThePhD
7fa7f0f2e9 updoot single 2017-04-02 22:39:20 -04:00
ThePhD
185f5ecc05 new travis environments to be tested out for osx stuff, plus new_table docs and environments on function calls 2017-04-02 22:37:01 -04:00
ThePhD
f4434393ce add single 2017-04-02 16:30:14 -04:00
ThePhD
34c7b741d2 [ci skip] don't forget to add threading 2017-04-02 16:28:57 -04:00