Boost logo

Boost :

Subject: [boost] [type_traits] Time to upgrade to "version 2" ?
From: John Maddock (jz.maddock_at_[hidden])
Date: 2015-05-15 14:09:04


Now that the release is out it's decision time:

I'd like to merge the "Version2" branch of type_traits to develop, it
passes all the tests, and I've been using it exclusively for testing and
development locally for a few months now without issues. But.... it's
a big change with the potential to break a lot of folks stuff if things
go wrong given that this is such a core component. To recap the main
advantages are:

* Removed all the redundant cruft that's no longer required for
old/broken compilers we don't support anymore anyway.
* Very nearly dependency free (other than Config), there's just
comon_type which still has dependencies elsewhere - and even that
disappears for a C++11 compiler.
* Much cleaner, easier to understand code, now that the horrid
obfuscating macros introduced by MPL have gone.
* Fewer template instantiations than before as much of the indirection /
forwarding templates have been removed.
* As a result code using these headers should be somewhat faster to
compile - both with fewer template instantiations, and a much lighter
#include load.

Note that as a result of this change, a number of undocumented headers
which were none the less being used in Boost have been deprecated. The
headers still exist, but warn loud and clear about their deprecated
status, so folks will get a lot of warnings to begin with. I know
Edward Diener has submitted some PR's to fix these, but I plan to make a
concerted attack on any remaining once the new version is in develop.

So here's the question, how do we proceed?

My thoughts are to basically go ahead and merge, but not merge to master
until after the next release at the earliest to give everything a chance
to bed down, and the required changes in other libraries to filter
through. Or we could have some sort of mini-review either formally or
informally to check things out before the merge - of course folks are
most welcome to do this anyway!

Let me know what you think, best, John.


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