This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/77395] [6/7 Regression] std::is_constructible is false for type constructible via implicit conversion operator affecting std::tuple
- From: "j.s.mueller-roemer at gmx dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 29 Aug 2016 18:17:02 +0000
- Subject: [Bug libstdc++/77395] [6/7 Regression] std::is_constructible is false for type constructible via implicit conversion operator affecting std::tuple
- Auto-submitted: auto-generated
- References: <bug-77395-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77395
--- Comment #3 from Johannes S. Mueller-Roemer <j.s.mueller-roemer at gmx dot net> ---
(In reply to Daniel Krügler from comment #1)
> I think a better test-case is the following one, which does not depend on
> tuple at all:
>
> //#################################
> #include <type_traits>
>
> struct derived;
> struct base
> {
> operator derived & () &;
> operator derived const & () const &;
> operator derived && () &&;
> };
>
> struct derived : base {};
>
> static_assert(std::is_constructible<derived&&, base&&>::value, "");
>
> int main()
> {
> }
> //#################################
Probably. The failure in std::tuple is only due to now enforcing that
std::is_constructible needs to be true, which it wasn't before. The bug in
std::is_constructible might be older.