Subject: Re: [boost] [result_of] now uses decltype on release branch
From: Daniel Walker (daniel.j.walker_at_[hidden])
Date: 2012-09-15 15:26:02
On Sep 3, 2012, at 11:20 PM, Michel Morin wrote:
> One can define BOOST_RESULT_OF_USE_DECLTYPE on compilers without
> decltype support and, in that case, TR1-style result_of is used. This is the
> behavior of the macro.
> Once Eric changed this, but I claimed the regression and the change
> was reverted ( http://thread.gmane.org/gmane.comp.lib.boost.devel/230401/ ).
> In that thread, I might have over-emphasized the regression. If you think
> the effect of the code breakage is small enough, then I think it's OK to reapply
> Eric's change.
I followed this thread at the time. It seemed like you guys came to a reasonable resolution so I felt no need to comment. However, now that I'm going over the documentation again I'm having second thoughts. The documentation actually states that BOOST_RESULT_OF_USE_DECLTYPE can be used to force the use of decltype. As Nathan and others pointed out at the time, forcing the use of decltype on a compiler that doesn't have it can be viewed as a logical error, which is probably the right way to look at it. I think Eric's original change was correct and should be reapplied.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk