diff options
Diffstat (limited to 'lib/sol2/examples/source/docs/references_in_lambdas.cpp')
-rw-r--r-- | lib/sol2/examples/source/docs/references_in_lambdas.cpp | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/lib/sol2/examples/source/docs/references_in_lambdas.cpp b/lib/sol2/examples/source/docs/references_in_lambdas.cpp deleted file mode 100644 index f681d2a..0000000 --- a/lib/sol2/examples/source/docs/references_in_lambdas.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#define SOL_ALL_SAFETIES_ON 1 -#include <sol/sol.hpp> - -#include <assert.hpp> - -int main(int, char*[]) { - - struct test { - int blah = 0; - }; - - test t; - sol::state lua; - lua.set_function("f", [&t]() { - return t; - }); - lua.set_function("g", [&t]() -> test& { - return t; - }); - - lua.script("t1 = f()"); - lua.script("t2 = g()"); - - test& from_lua_t1 = lua["t1"]; - test& from_lua_t2 = lua["t2"]; - - // not the same: 'f' lambda copied - c_assert(&from_lua_t1 != &t); - // the same: 'g' lambda returned reference - c_assert(&from_lua_t2 == &t); - - return 0; -} |