llvm-project/libcxx/test/std/utilities/function.objects
Eric Fiselier 94d555116c Fix PR34298 - Allow std::function with an incomplete return type.
This patch fixes llvm.org/PR34298. Previously libc++ incorrectly evaluated
the __invokable trait via the converting constructor `function(Tp)` [with Tp = std::function]
whenever the copy constructor or copy assignment operator
was required. This patch further constrains that constructor to short
circut before evaluating the troublesome SFINAE when `Tp` matches
std::function.

The original patch is from Alex Lorenz.

llvm-svn: 312892
2017-09-10 23:41:20 +00:00
..
arithmetic.operations [libcxx] [test] Rename _Up to U, etc. NFCI. 2017-08-11 20:54:09 +00:00
bind Update all bug URL's to point to https://bugs.llvm.org/... 2017-02-17 08:37:03 +00:00
bitwise.operations [libcxx] [test] Rename _Up to U, etc. NFCI. 2017-08-11 20:54:09 +00:00
comparisons [libcxx] [test] Rename _Up to U, etc. NFCI. 2017-08-11 20:54:09 +00:00
func.def
func.invoke [libcxx] [test] Make files consistently end with newlines, NFC. 2017-07-29 00:55:22 +00:00
func.memfn Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER. 2016-06-14 21:31:42 +00:00
func.not_fn [libcxx] [test] Fix URLs in comments and make them HTTPS. NFC. 2017-08-05 00:44:24 +00:00
func.require [libcxx] [test] Update for C++17 feature removals. 2017-08-24 21:24:08 +00:00
func.wrap Fix PR34298 - Allow std::function with an incomplete return type. 2017-09-10 23:41:20 +00:00
logical.operations [libcxx] [test] Rename _Up to U, etc. NFCI. 2017-08-11 20:54:09 +00:00
negators
refwrap [libcxx] [test] Update for C++17 feature removals. 2017-08-24 21:24:08 +00:00
unord.hash [libcxx] [test] Fix URLs in comments and make them HTTPS. NFC. 2017-08-05 00:44:24 +00:00