aboutsummaryrefslogtreecommitdiff
path: root/src/deep.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/deep.cpp')
-rw-r--r--src/deep.cpp12
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*/
110static 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 */
163static 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 }