https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104752
Bug ID: 104752 Summary: `Concept auto(x)` should not be a valid function-style cast Product: gcc Version: 12.0 Status: UNCONFIRMED Keywords: accepts-invalid Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: ensadc at mailnesia dot com CC: mpolacek at gcc dot gnu.org Target Milestone: --- https://godbolt.org/z/KbPMrbKsK ==== template<class T> concept C = true; auto x = auto(1); // valid (P0849R8) auto y = C auto(1); // expect a error ==== The initializer of `y` should be an error, but is currently accepted by GCC. [dcl.type.auto.deduct]: > For an explicit type conversion ([expr.type.conv]), T is the specified type, > which shall be auto. Note that the specified type cannot be 'type-constraint auto'. GCC does emit an error for `C<> auto(1)`.