#include <type_traits>
template <typename T>
class VectorBase
{
public:
VectorBase() = default;
template <typename T2, typename = typename std::enable_if<std::is_same<double, T>::value && std::is_same<float, T2>::value>::type>
VectorBase(const VectorBase<T2> &) {}
};
int main()
{
VectorBase<float> f;
VectorBase<double> d(f);
}
I2luY2x1ZGUgPHR5cGVfdHJhaXRzPgoKdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CmNsYXNzIFZlY3RvckJhc2UKewpwdWJsaWM6CiAgICBWZWN0b3JCYXNlKCkgPSBkZWZhdWx0OwoKICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUMiwgdHlwZW5hbWUgPSB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxzdGQ6OmlzX3NhbWU8ZG91YmxlLCBUPjo6dmFsdWUgJiYgc3RkOjppc19zYW1lPGZsb2F0LCBUMj46OnZhbHVlPjo6dHlwZT4KICAgIFZlY3RvckJhc2UoY29uc3QgVmVjdG9yQmFzZTxUMj4gJikge30KfTsKCmludCBtYWluKCkKewogICAgVmVjdG9yQmFzZTxmbG9hdD4gZjsKICAgIFZlY3RvckJhc2U8ZG91YmxlPiBkKGYpOwp9Cg==