
Following on from the recent discussion, we now have: BOOST_NO_IS_ABSTRACT added to the config system, this is likely to cause some new failures with config_test.cpp until we get the macro added to those compiler config files that need it (although Gcc, Visual C++, Borland C++ are already taken care of). is_abstract no longer uses SFINAE when BOOST_NO_IS_ABSTRACT is defined, instead it defaults to the same value as is_polymorphic: the rationale is that "true" is the safe default (if there is one), but since non-polymorphic types obviously can't be abstract, we can safely evaluate to false for those. Users wanting some other behaviour should check for BOOST_NO_IS_ABSTRACT. Robert, is this enough for you to fix the ODR problem in the serialisation lib for is_abstract? John.

John Maddock wrote:
struct X { protected: X(); ~X(); }; Not abstract? I guess the trait can't detect that one anyway, though. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

On Di, 14.12.2004, 13:55, John Maddock wrote:
is_abstract itself hasn't changed: did you mean the config_test test case?
exactly.
If so I've just committed a fix to the config system for Metrowerks/Sunpro/Intel compilers.
great!
Let me know if this doesn't take care of it,
We'll see that in the regression results of tomorrow. Stefan
participants (4)
-
David Abrahams
-
John Maddock
-
Stefan Slapeta
-
Stefan Slapeta