From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp50.i.mail.ru (smtp50.i.mail.ru [94.100.177.110]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id CDCC2469719 for ; Wed, 30 Sep 2020 09:33:11 +0300 (MSK) Date: Wed, 30 Sep 2020 09:33:24 +0300 From: Alexander Turenko Message-ID: <20200930063324.b6schngi3gblemxb@tkn_work_nb> References: <96922008cb146eaa04cb727472eda3e71f2e7bc8.1600955781.git.tsafin@tarantool.org> <185c95b5-edc6-10d0-50c0-ba7c086fc97a@tarantool.org> <20200929050900.4xzupgi24zvddgfo@tkn_work_nb> <2373999e-86e4-66db-3d3f-349b2fcc2795@tarantool.org> <20200930063154.f75rrxzwsk2cr7b3@tkn_work_nb> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20200930063154.f75rrxzwsk2cr7b3@tkn_work_nb> Subject: Re: [Tarantool-patches] [PATCH 2.X 4/7] module api: luaL_register_module & luaL_register_type List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Vladislav Shpilevoy Cc: tarantool-patches@dev.tarantool.org Resend, CCed Timur and Igor back. > >>> + > >>> /** > >>> * @brief Checks whether a value on the Lua stack is a cdata. > >>> * > >>> @@ -442,6 +444,8 @@ luaL_checkfield(struct lua_State *L, struct luaL_serializer *cfg, int idx, > >>> luaL_convertfield(L, cfg, idx, field); > >>> } > >>> > >>> +/** \cond public */ > >>> + > >>> void > >>> luaL_register_type(struct lua_State *L, const char *type_name, > >>> const struct luaL_Reg *methods); > >> > >> 2. These newly exported methods don't have a single comment. Why? > > > > luaL_register_*() are our helpers around luaL_register(), AFAIR. A > > module should use the latter. > > In that case I don't see why do we need to export them. > > luaL_register_module() is a wrapper around luaL_register() to > support multilevel modules like 'box.space', 'net.box', etc. > With '.' in them, AFAIS. And a few error checks. > > It is not bad to have a bit excessive but commonly used or perf > critical things in module.h, but there is a certain border of > what is "commonly used" and "perf critical". Module registration > does not seem to me fitting any of these categories (subjectively). > > So if it can be done without any new exports, I would stick to > that. I meant, an external module should use luaL_register() directly. Sorry for the confusion.