I was playing around with gcc-trunk's support for C++23's std::float13_t and I found out that, while float is constructible from double, as far as I can tell std::float13_t is not. In other words, the following code compiles OK: #include #include int main() { std::vector x(5); std::vector y(std::begin(x), std::end(x)); } whereas the following does not: #include #include int main() { std::vector x(5); std::vector y(std::begin(x), std::end(x)); } See this snippet . Am I missing something or is it supposed to be like that? Thanks, Filippo Bistaffa