[PATCH] D41056: [clang-tidy] New check misc-uniqueptr-release-unused-retval
Aaron Ballman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Dec 11 08:48:16 PST 2017
aaron.ballman added a comment.
In https://reviews.llvm.org/D41056#951083, @alexfh wrote:
> In https://reviews.llvm.org/D41056#950605, @khuttun wrote:
> > In https://reviews.llvm.org/D41056#950570, @Eugene.Zelenko wrote:
> > > May be //bugprone// is better module then //misc//?
> > Maybe. I can move it if all the reviewers think that it would be better suited there.
> Yup, bugprone- should be a better category for this, IMO.
> I wonder whether libc++ folks are interested in marking unique_ptr::release() with `__attribute__ ((warn_unused_result))`. A compiler warning (with -Werror) would be a better protection against this kind of a bug.
There's a push in WG21 to mark more of the library with `[[nodiscard]]`: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0600r1.pdf
If we have a check for this, I do not think it should be specific to `unique_ptr::release()`, but instead be more broadly applicable to APIs that should be marked `[[nodiscard]]` but are not (currently). P0600R1 is a good place to start, but I'm guessing there are POSIX APIs (among others) that would also qualify.
More information about the cfe-commits