llvm-project/libcxx/test/std/utilities/function.objects
Eric Fiselier 279663c1b4 Prevent ill-formed instantiation of __invoke_of<...> during the evaluation of a bind expression. Fixes PR22003.
The SFINAE on the function __mu(Fn, Args...) that evaluates nested bind
expressions always tries to deduce the return type for Fn(Args...) even when Fn
is not a nested bind expression. This can cause hard compile errors when the
instantation of Fn(Args...) is ill-formed. This patch prevents the instantation
of __invoke_of<Fn, Args...> unless Fn is actually a bind expression.

Bug reportand patch from Michel Morin.

http://llvm.org/bugs/show_bug.cgi?id=22003

llvm-svn: 224753
2014-12-23 05:54:34 +00:00
..
arithmetic.operations
bind Prevent ill-formed instantiation of __invoke_of<...> during the evaluation of a bind expression. Fixes PR22003. 2014-12-23 05:54:34 +00:00
bitwise.operations
comparisons
func.def
func.memfn
func.require
func.wrap
logical.operations
negators
refwrap
unord.hash
version.pass.cpp