On 1/18/2015 7:09 AM, John Maddock wrote:
I'm going to throw this out there to see what folks think:
In a branch called "Version2", see https://github.com/boostorg/type_traits/tree/Version2 is a partially rewritten type_traits lib: it doesn't yet contain all the traits of the old one, but there's a pretty good selection to test.
This rewrite is now complete except for common_type which is the same as the old version, and pulls in all kinds of dependencies.
So...
1) Can folks please give this a test? Both the type_traits tests and whatever real world tests may be out there (or other Boost libraries of course).
I am seeing that the type_traits macro BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i, name), which is in type_traits/detail/template_arity_spec.hpp, is used extensively in function_types and also in a few other libraries. In Version2 this header file no longer exists. So function_types fails and libraries which depend on function_types, such as tti, fails when type_traits is switched to Version2. I am not sure what this macro does but maybe we can move it to MPL, call it BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(i, name), and have function_types and other libraries which use it then change to the new header file in MPL and invoke the macro under it no name. The macro itself looks as if all its dependencies are on MPL.