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?
