On 06/13/2014 05:12 PM, Peter Dimov wrote:
Eric Niebler wrote:
Whether the base classes are a mistake or not, they're a fact. And without changing std::integral_constant, we cannot make type traits as you describe them play nicely with code that dispatches to std::true_type/std::false_type.
I don't see why code that uses a Boost type trait should dispatch to std::true_type and expect that to work. Dispatch to std::true_type makes sense when using an std:: type trait. When using a Boost type trait, dispatch to boost::true_type seems the most logical approach.
Removing the base classes of the existing Boost type traits is obviously a breaking change, of course.
Then I defer to you. Just wanted to make sure you were aware of all the options, and of the outstanding issues that we could address in one go. As always in open source, the decision lies with the person motivated to actually do the work. :-) \e