Boost logo

Boost :

Subject: Re: [boost] [Config] N3276 decltype support on VC++ 11
From: Eric Niebler (eric_at_[hidden])
Date: 2012-08-31 14:44:11


On 8/31/2012 10:22 AM, Daniel Walker wrote:
> On Aug 31, 2012, at 1:04 PM, Michel Morin wrote:
>> IIRC, Stephan said that VC++ 11 supports N3276 decltype.
>>
>> Shall we "undef" BOOST_NO_CXX11_DECLTYPE_N3276 for VC++ 11? This
>> enables automatic use of decltype-based `boost::result_of`. Trivial
>> patch attached.
>
> Nice! Can someone verify that there are no regressions in the test
> suit on VC++ 11? Assuming everything's OK, I'd say feel free to
> commit the patch, Michel.

It's one thing to try this change on trunk ... and release even.
However, until [77905] and [78195] are merged to release,
boost::result_of will not use decltype for msvc or any other compiler
for that matter. The reason that hasn't been done is because it's known
to break some boost libraries. The last I checked, Phoenix was broken by
a decltype-based result_of. From the looks of the
Sandia-darwin-clang-trunk-c++11 results for trunk, that is apparently
still the case.

I'm tempted to simply merge the changes, the odd breakage here and there
be damned. We stand a bigger risk with such a fundamental piece of
infrastructure differing between trunk and release, IMO. Thoughts?

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk