llvm-project/libcxx/test/std/utilities/function.objects/func.wrap
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
..
func.wrap.badcall
func.wrap.func Fix PR34298 - Allow std::function with an incomplete return type. 2017-09-10 23:41:20 +00:00
nothing_to_do.pass.cpp