
On 3/18/2011 7:35 AM, Stephan T. Lavavej wrote:
[Eric Niebler]
Yes. So the behavior of vc10's decltype wrt this issue is in conformance with /current/ working paper -- which is broken, according to n3233. It will be discussed soon in Madrid. If the proposed wording is accepted (and I hope to god it is), then VC10's decltype --along with everybody else's-- will need to be fixed. But please fix it anyway. :-)
I'll ask the compiler team for a fix. I don't always get what I want, but the STL is the compiler's first and best customer, and I've been looking forward to making result_of 95% powered by decltype.
(Keeping track of rvalue references v2, lambdas v1.1, rvalue references v2.1, rvalue references v3 - I actually don't know if that one was reverted in the Working Paper - and now decltype v1.1 can be exhausting!)
And just to keep everybody abreast, N3233 was moved to "immediately ready" in Madrid today, with fairly minor wording tweaks. That means two things, one good and one bad: Bad: Every decltype implementation is broken. Good: Once they're fixed, we'll have a decltype-based result_of that actually works. I, for one, am euphoric and would like to thanks James Widman and Doug Gregor for helping to make this happen. Getting the committee to make *any* changes at this point is a major accomplishment. It means one other thing: we should have a config macro for detecting this standards-related decltype bug, because several major compilers have now shipped with it, and I'll need the macro in Proto. I suggest: BOOST_NO_DECLTYPE_N3276 (N3276 will be the number of the redrafted N3233.) I can provide a config test for this. -- Eric Niebler BoostPro Computing http://www.boostpro.com