2017-06-27 20:05 GMT+02:00 d25fe0be@outlook.com <d25fe0be@outlook.com>:
Sorry I missed John's reply..

I believe John is right, without C++11 a fully conforming is_convertible seems not to be implementable (I didn't find a way to remove `_m_check` taking the inaccessible base as a parameter from the overload set.), hence 'your own `is_convertible`' seems not to be feasible either.

Thank you John for pointing this out, and sorry for the noise.

Thanks for the follow up.

So the only workaround with 1.64 is to get rid of the private inheritance, right?

Anyway, my test case used to work in older versions of Boost.
I'm not sure about what changed between 1.61 and 1.62, if it's a change in type_traits or a change in variant.
Would it be possible to recover the lost functionality in 1.65?