impala-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcel Kornacker <mar...@cloudera.com>
Subject Re: Preferred syntax for warning about ignored Status returns
Date Fri, 06 Jan 2017 23:21:16 GMT
I'd vote for option 2, which is visually less distracting and still
communicates the same thing (in the end, it's a function qualifier).

On Fri, Jan 6, 2017 at 2:59 PM, Tim Armstrong <tarmstrong@cloudera.com> wrote:
> Hi All,
>   I wanted to poll the Impala community for opinions about style for
> declaring functions where the caller is expected to do something with the
> return value.
>
> Ideally we'd be able to declare Status with an attribute that made this
> take effect globally, but unfortunately that's not available until C++17.
>
> So we need to annotate each Status-returning function. The two alternatives
> we discussed on this CR (https://gerrit.cloudera.org/#/c/4878/) were:
>
> #1 - a special macro wrapping Status
>
> MUST_USE(Status) DoSomethingThatCanFail(int64_t foo, Bar* bar);
>
> Pros:
> * Closely connected to the return type that it affects
> * It's easier to search/replace Status with MUST_USE(Status)
>
> Cons:
> * Could get visually noisy if we use it everywhere
>
> #2 - a macro that gets appended to the declaration:
>
> Status DoSomethingThatCanFail(int64_t foo, Bar* bar) WARN_UNUSED_RESULT;
>
> Pros:
> * Macro is slightly
> * Less visually noisy since it's at the end of the declaration
>
> What do people think?

Mime
View raw message