[libcxx-commits] [libcxx] [libc++] Simplify std::function implementation further (PR #145153)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Fri Aug 1 10:55:04 PDT 2025


================
@@ -615,21 +609,9 @@ class function<_Rp(_ArgTypes...)>
 
   __func __f_;
 
-  template <class _Fp,
-            bool = _And<_IsNotSame<__remove_cvref_t<_Fp>, function>, __is_invocable<_Fp, _ArgTypes...> >::value>
----------------
ldionne wrote:

You removed a layer of laziness here. Previously, we wouldn't evaluate `__is_invocable` if `_Fp` was `function` -- I wonder if that can lead to new hard errors (like we saw recently in the variant constructors).

https://github.com/llvm/llvm-project/pull/145153


More information about the libcxx-commits mailing list