30 Oct
2017
30 Oct
'17
2:25 p.m.
Andrzej Krzemienski wrote:
2017-10-30 13:02 GMT+01:00 Peter Dimov via Boost
: That is, the issue only occurs when (a) the compiler is gcc >= 4.9, clang, Sun, (b) the compiler has intrinsic support for __has_trivial_constructor, (c) instantiating the type's default constructor is a hard error.
Is the above a conjunction of (a) and (b) and (c)?
It is.
This sounds like the trait works fine and it is just implementations of `std::pair` that are not SFINAE friendly.
In principle the issue should not be pair-specific and should affect all kinds of user classes, but in practice I've trouble reproducing it with anything else besides std::pair. No idea yet what specifically in std::pair causes it.