[PATCH] D104703: [ADT] Extend EnableIfCallable for callables with incomplete returns

Daniil Suchkov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 12 14:44:17 PDT 2021


DaniilSuchkov requested changes to this revision.
DaniilSuchkov added a comment.
This revision now requires changes to proceed.

1. Since you're replacing an `OR` chain you need to re-implement `std::disjunction`, not `std::conjunction` (no `s` at the end), which you mostly did, except for the name and the (2).
2. According to the specification `std::disjunction` should return `std::false_type` for an empty argument list. I.e. here you should use `std::false_type` instead:

  template <typename... Conds> struct conjunctions : std::true_type {};

Also please add a couple of tests for your `llvm::disjunction` implementation to llvm/unittests/Support/TypeTraitsTest.cpp.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D104703/new/

https://reviews.llvm.org/D104703



More information about the llvm-commits mailing list