https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92057
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |rejects-valid Status|WAITING |NEW --- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- You still didn't provide the testcase! The code is: #include <variant> struct Double { double x; Double(int){} }; int main() { std::variant<Double>{600}; // Works std::variant<double>{600}; // Fails } I don't immediately see why this is treated as a narrowing conversion, so I'll approve it for now until I can analyse it.