The implementation is complete. Unfortunately, my fixes for DRs 337 and 657 are interfering with the desired result; creating a function type returning an abstract class causes deduction to fail, so we instantiate the return type of wrap in order to determine whether it is abstract. I guess I'll disable
I reported to the PR ( http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52748 )
that the implementation of N3276 decltype was not complete,
since the compilation of the following code exhausted all resources:
template<class T> struct S;
template
instantiation and raise this issue with Core...
And the fix has been committed: Jason Merrill:
The change to force instantiation to check for abstract return types broke this change; until the core SG has a chance to discuss the language inconsistency, I'm going to disable that instantiation in decltype context.
Tested x86_64-pc-linux-gnu, applying to trunk.
I confirmed the fix and the test ran fine. So I committed a Boost.Config fix in r83625: https://svn.boost.org/trac/boost/changeset/83625 Regards, Michel