https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104636
--- Comment #6 from Jakub Jelinek ---
If you have something in between {}s it will be an error, not a pedwarn
(pedwarn will emit a warning with -Wpedantic and error with -pedantic-errors).
I believe the reason why it is a pedwarn in the {} case
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104636
Jakub Jelinek changed:
What|Removed |Added
CC||jakub at gcc dot gnu.org
--- Comment #5
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104636
--- Comment #4 from Artur Bać ---
So conclusion from Your arguments is to me that -std=c++20 doesn't guarantee
strict c++20 compatibility as another switches are required to force explicit
constructor be used only explicitly and disallow implici
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104636
Andrew Pinski changed:
What|Removed |Added
Ever confirmed|1 |0
Status|WAITING
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104636
Andrew Pinski changed:
What|Removed |Added
Last reconfirmed||2022-03-05
Ever confirmed|0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104636
--- Comment #1 from Andrew Pinski ---
#include
#include
#include
//kde-misc/kdeconnect
struct foo
{ uint8_t v_;
explicit foo( char const * p = nullptr, uint8_t v = 0 ) : v_{v}{}
foo( foo const & ) = default;
};
foo get_value()