#define SOL_ALL_SAFETIES_ON 1 #include struct vars { int boop = 0; int bop() const { return boop + 1; } }; int main() { sol::state lua; lua.new_usertype( "vars", "boop", &vars::boop, "bop", &vars::bop); lua.script( "beep = vars.new()\n" "beep.boop = 1\n" "bopvalue = beep:bop()"); vars& beep = lua["beep"]; int bopvalue = lua["bopvalue"]; SOL_ASSERT(beep.boop == 1); SOL_ASSERT(lua.get("beep").boop == 1); SOL_ASSERT(beep.bop() == 2); SOL_ASSERT(bopvalue == 2); return 0; }