[ADT] Extend EnableIfCallable for callables with incomplete returns
std::is_convertible has no defined behavior when its arguments are incomplete, even if they are equal. In practice, it returns false. Adding std::is_same allows us to use the constructor using a callable, even if the return value is incomplete. We also check the case where we convert a T into a const T. Reviewed By: DaniilSuchkov Differential Revision: https://reviews.llvm.org/D104703 Committer: Daniil Suchkov <dsuchkov@azul.com>
Loading
Please sign in to comment