https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69701
Language Lawyer changed:
What|Removed |Added
CC||language.lawyer at gmail dot
com
---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69701
--- Comment #6 from Andrew Pinski ---
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1291
[Accepted at the November, 2020 meeting as part of paper P1787R6 and moved to
DR at the February, 2021 meeting.]
So there is a defect
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69701
Andrew Pinski changed:
What|Removed |Added
Keywords|accepts-invalid |
--- Comment #5 from Andrew Pinski ---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69701
Andrew Pinski changed:
What|Removed |Added
Ever confirmed|0 |1
Last reconfirmed|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69701
--- Comment #3 from Andrew Pinski ---
ICC also rejects this for the same reason as GCC while both MSVC and clang
accept it. Maybe there is a defect report about this.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69701
--- Comment #1 from Andrew Pinski ---
I think this should be diagnose differently in that A changes meanings inside
the class.
That is if we used:
operator A () const noexcept { return {}; }
We get the following error message:
t9.cc:8:12:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69701
--- Comment #2 from Eric Fiselier ---
@Andrew The in-class diagnostics are pretty good. My concern is that users
outside the class cannot name the conversion operator. I don't think they care
that "A" changes meaning *within* B.
I don't think