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)`.

Reply via email to