Relax the complete-type checks that are happening under __invokable<Fp, Args...> to only check Fp, and not Args... . This should be sufficient to give the desired high quality diagnostics under both bind and function. And this allows a test reported by Rich E on cfe-dev to pass. Tracked by <rdar://problem/11880602>.

llvm-svn: 160285
This commit is contained in:
Howard Hinnant
2012-07-16 16:17:34 +00:00
parent 874dae6119
commit 403845ba75
2 changed files with 30 additions and 1 deletions

View File

@@ -2853,7 +2853,7 @@ __invoke(_Fp&& __f, _Args&& ...__args)
template <class _Fp, class ..._Args>
struct __invokable_imp
: private __check_complete<_Fp, _Args...>
: private __check_complete<_Fp>
{
typedef decltype(
__invoke(_VSTD::declval<_Fp>(), _VSTD::declval<_Args>()...)