diff options
Diffstat (limited to 'src/deep.cpp')
-rw-r--r-- | src/deep.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/deep.cpp b/src/deep.cpp index 55063b3..a3806aa 100644 --- a/src/deep.cpp +++ b/src/deep.cpp | |||
@@ -107,7 +107,7 @@ static void get_deep_lookup(lua_State* L) | |||
107 | * Return the registered ID function for 'index' (deep userdata proxy), | 107 | * Return the registered ID function for 'index' (deep userdata proxy), |
108 | * or nullptr if 'index' is not a deep userdata proxy. | 108 | * or nullptr if 'index' is not a deep userdata proxy. |
109 | */ | 109 | */ |
110 | static inline luaG_IdFunction get_idfunc(lua_State* L, int index, LookupMode mode_) | 110 | [[nodiscard]] static inline luaG_IdFunction get_idfunc(lua_State* L, int index, LookupMode mode_) |
111 | { | 111 | { |
112 | // when looking inside a keeper, we are 100% sure the object is a deep userdata | 112 | // when looking inside a keeper, we are 100% sure the object is a deep userdata |
113 | if (mode_ == LookupMode::FromKeeper) | 113 | if (mode_ == LookupMode::FromKeeper) |
@@ -160,7 +160,7 @@ void free_deep_prelude(lua_State* L, DeepPrelude* prelude_) | |||
160 | * End of life for a proxy object; reduce the deep reference count and clean it up if reaches 0. | 160 | * End of life for a proxy object; reduce the deep reference count and clean it up if reaches 0. |
161 | * | 161 | * |
162 | */ | 162 | */ |
163 | static int deep_userdata_gc(lua_State* L) | 163 | [[nodiscard]] static int deep_userdata_gc(lua_State* L) |
164 | { | 164 | { |
165 | DeepPrelude** const proxy{ lua_tofulluserdata<DeepPrelude*>(L, 1) }; | 165 | DeepPrelude** const proxy{ lua_tofulluserdata<DeepPrelude*>(L, 1) }; |
166 | DeepPrelude* p = *proxy; | 166 | DeepPrelude* p = *proxy; |
@@ -470,10 +470,14 @@ bool copydeep(Universe* U, Dest L2, int L2_cache_i, Source L, int i, LookupMode | |||
470 | int const clone_i = lua_gettop( L2); | 470 | int const clone_i = lua_gettop( L2); |
471 | while( nuv) | 471 | while( nuv) |
472 | { | 472 | { |
473 | inter_copy_one( U, L2, L2_cache_i, L, lua_absindex( L, -1), VT::NORMAL, mode_, upName_); // u uv | 473 | std::ignore = inter_copy_one(U |
474 | , L2, L2_cache_i | ||
475 | , L, lua_absindex( L, -1) | ||
476 | , VT::NORMAL, mode_, upName_ | ||
477 | ); // u uv | ||
474 | lua_pop( L, 1); // ... u [uv]* | 478 | lua_pop( L, 1); // ... u [uv]* |
475 | // this pops the value from the stack | 479 | // this pops the value from the stack |
476 | lua_setiuservalue( L2, clone_i, nuv); // u | 480 | lua_setiuservalue(L2, clone_i, nuv); // u |
477 | -- nuv; | 481 | -- nuv; |
478 | } | 482 | } |
479 | } | 483 | } |