[tarantool-patches] Re: [PATCH] error: Add __concat method to error object

Kirill Yukhin kyukhin at tarantool.org
Thu Oct 24 09:21:50 MSK 2019


Hello,

On 22 окт 16:14, Oleg Babin wrote:
> From: Oleg Babin <babinoleg at 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




More information about the Tarantool-patches mailing list