[PATCH] D31917: Add unique_dyn_cast
Zachary Turner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 10 17:56:26 PDT 2017
zturner created this revision.
This addresses the issue pointed out in https://reviews.llvm.org/D31890 regarding a potentially confusing api for using `unique_ptr` in conjunction with `dyn_cast`. It does so by implementing this not as a specialization / overload of `dyn_cast`, but as an entirely new function `unique_dyn_cast`. Adding `unique` to the name makes clear through the API that the function will conditionally destroy the input if the cast succeeds, and leave the input alone if the cast fails. A matching `unique_dyn_cast_or_null` is added as well.
https://reviews.llvm.org/D31917
Files:
llvm/include/llvm/Support/Casting.h
llvm/unittests/Support/Casting.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31917.94763.patch
Type: text/x-patch
Size: 4114 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170411/411dc95b/attachment.bin>
More information about the llvm-commits
mailing list