From: Oleg Babin <olegrok@tarantool.org> To: tarantool-patches@freelists.org, Kirill Yukhin <kyukhin@tarantool.org>, tarantool-patches@dev.tarantool.org Cc: Oleg Babin <babinoleg@mail.ru> Subject: Re: [Tarantool-patches] [tarantool-patches] Re: [PATCH] error: Add __concat method to error object Date: Mon, 11 Nov 2019 17:43:26 +0300 [thread overview] Message-ID: <fa9b79a7-4fb6-7260-1db0-916fad82a0ee@tarantool.org> (raw) In-Reply-To: <20191024062150.uzuct2lkmrix3cne@tarantool.org> Hello, thank you for review! I will add test in second version of patch. > Hello, > > On 22 окт 16:14, Kirill Yukhin wrote: > Why do you prohibit rhs to be nil. If needed, should we also disable > box.NULL? > We expect that error will have behavior as usual string then we should prohibit using of nils and box.NULLs: ``` tarantool> 'simple string' .. nil --- - error: '[string "return ''simple string'' .. nil"]:1: attempt to concatenate a nil value' ... tarantool> 'simple string' .. box.NULL --- - error: '[string "return ''simple string'' .. box.NULL"]:1: attempt to concatenate ''string'' and ''void *''' ... ``` In this case "attempt to concatenate struct error and nil" will be returned On 24/10/2019 09:21, Kirill Yukhin wrote: > Hello, > > On 22 окт 16:14, Kirill Yukhin wrote: >> From: Oleg Babin <babinoleg@mail.ru> >> >> Usually functions return pair {nil, err} and expected that err is string. >> Let's make the behaviour of error object closer to string >> and define __concat metamethod. >> >> Closes tarantool/tarantool#4489 >> --- >> src/lua/error.lua | 8 ++++++++ >> 1 file changed, 8 insertions(+) >> >> diff --git a/src/lua/error.lua b/src/lua/error.lua >> index 28fc0377d..b44fab7b6 100644 >> --- a/src/lua/error.lua >> +++ b/src/lua/error.lua >> @@ -150,9 +150,17 @@ local function error_index(err, key) >> return error_methods[key] >> end >> >> +local function error_concat(lhs, rhs) >> + if lhs == nil or rhs == nil then >> + error("attempt to concatenate struct error and nil") >> + end > Why do you prohibit rhs to be nil. If needed, should we also disable > box.NULL? > > Why you didn't add a test? > > -- > Regards, Kirill Yukhin > -- Oleg Babin
parent reply other threads:[~2019-11-11 14:43 UTC|newest] Thread overview: expand[flat|nested] mbox.gz Atom feed [parent not found: <20191024062150.uzuct2lkmrix3cne@tarantool.org>]
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=fa9b79a7-4fb6-7260-1db0-916fad82a0ee@tarantool.org \ --to=olegrok@tarantool.org \ --cc=babinoleg@mail.ru \ --cc=kyukhin@tarantool.org \ --cc=tarantool-patches@dev.tarantool.org \ --cc=tarantool-patches@freelists.org \ --subject='Re: [Tarantool-patches] [tarantool-patches] Re: [PATCH] error: Add __concat method to error object' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox