https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109680
--- Comment #9 from CVS Commits ---
The trunk branch has been updated by Marek Polacek :
https://gcc.gnu.org/g:4c2ffb02fd4104d77c5d907662f04434dc4c3fe8
commit r14-669-g4c2ffb02fd4104d77c5d907662f04434dc4c3fe8
Author: Marek Polacek
Date: Tue
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109680
Marek Polacek changed:
What|Removed |Added
Keywords||patch
--- Comment #8 from Marek Polacek
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109680
--- Comment #7 from Marek Polacek ---
Ah, I think I see what's going on here. Once again, the problem is that this
assert no longer passes:
#include
static_assert (!std::is_convertible_v , "");
std::is_convertible does
To test() { return std
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109680
--- Comment #6 from Jakub Jelinek ---
Not sure about the from case, but what do I know about C++?
While To type is directly returned from a function, std::declval doesn't return
>From but
>From &&.
#include
using F1 = int (int);
using T1 = int
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109680
--- Comment #5 from Marek Polacek ---
(In reply to Jakub Jelinek from comment #4)
> template
> U __declval (int);
> template
> T __declval (long);
> template
> auto declval () noexcept -> decltype (__declval (0));
> using To = int () const;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109680
--- Comment #4 from Jakub Jelinek ---
template
U __declval (int);
template
T __declval (long);
template
auto declval () noexcept -> decltype (__declval (0));
using To = int () const;
using From = int (*) ();
To foo () { return declval (); }
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109680
Marek Polacek changed:
What|Removed |Added
Status|NEW |ASSIGNED
Assignee|unassigned
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109680
Jakub Jelinek changed:
What|Removed |Added
CC||jakub at gcc dot gnu.org,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109680
Andrew Pinski changed:
What|Removed |Added
Target Milestone|--- |13.2
Ever confirmed|0