[Bug libstdc++/57139] std::tuple conversion constructor does the wrong checks
ville.voutilainen at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Dec 12 19:01:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57139
Ville Voutilainen <ville.voutilainen at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
CC| |ville.voutilainen at gmail dot com
Resolution|--- |FIXED
--- Comment #4 from Ville Voutilainen <ville.voutilainen at gmail dot com> ---
This has been fixed by the implementation of Daniel's paper,
http://open-std.org/JTC1/SC22/WG21/docs/papers/2015/n4387.html. The constructor
has two overloads, one explicit and one non-explicit, and the explicit one is
chosen when is_convertible is false. Thus tuple<B> is constructible from
tuple<A>, but tuple<A> is not convertible to tuple<B>. gcc/libstdc++ and
clang/libc++ agree on the results.
More information about the Gcc-bugs
mailing list