[libcxx-commits] [PATCH] D60393: Force is_invocable template parameters to be complete types

Zoe Carver via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sun Apr 7 20:08:46 PDT 2019


zoecarver created this revision.
zoecarver added reviewers: mclow.lists, EricWF, lichray.
Herald added subscribers: libcxx-commits, ldionne, christof.

This patch adds `__complete_type` (along with some helpers). It also updates `is_invocable` to assert that it's template parameters are complete types, void, or an unbounded array.

The patch introduces a lot of helper structs which create some bloat. If you decide that it would be better if it were more condensed, that is fine with me. I decided to start with maximum verbosity though.


Repository:
  rCXX libc++

https://reviews.llvm.org/D60393

Files:
  include/__hash_table
  include/__tree
  include/type_traits
  include/utility
  test/libcxx/type_traits/invokable.fail.cpp
  test/libcxx/type_traits/invokable.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D60393.194088.patch
Type: text/x-patch
Size: 10137 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20190408/6d79e3b6/attachment.bin>


More information about the libcxx-commits mailing list