Boost logo

Boost :

From: Daniel Walker (daniel.j.walker_at_[hidden])
Date: 2008-06-03 12:45:28


On Tue, Jun 3, 2008 at 12:20 PM, Bronek Kozicki <brok_at_[hidden]> wrote:
> From: "Daniel Walker" <daniel.j.walker_at_[hidden]>
>> ::boost::mpl::aux::msvc71_sfinae_helper. The problem appears to be
>> triggered by the order in which templates using this substitute are
>> specialized - definitely a bug in msvc.
>
> or maybe demonstration of potential issues related to order of explicit
> specializations, documented in C++ standard, clause 14.7.3/7 ?
>
>
> B.
>
>
> PS. sorry, could not resist ;)

Yes, good point. Thanks for that reference! I think the following may
be the greatest sentence in the standard:

"When writing a specialization, be careful about its location; or to
make it compile will be such a trial as to kindle its
self-immolation."

Kindle its self-immolation! Ha! That's classic. So, I shouldn't have
called it a bug. Maybe you could call this a spark! Or dry kindling?

But still, the authors of more recent msvc compilers as well as
compilers from other vendors seem to have arrived an interpretation of
the standard that doesn't give rise to this peculiar behavior. So, at
least for more recent compilers, user intuitions/expectations won't be
so disappointed... or rather, won't be burnt to a crisp!

Daniel Walker


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