https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109978

            Bug ID: 109978
           Summary: ICE in tsubst, at cp/pt.cc:15869: alias template + c
                    array size deduction + lambda
           Product: gcc
           Version: 12.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: oficsu at gmail dot com
  Target Milestone: ---

Created attachment 55162
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55162&action=edit
A minimal reproducible example

Lambdas in unevaluated contexts combined with an alias template to a c-style
array causes ICE when it's used to deduce the size of an array passed to a
function template, MRE:

template<auto N, auto = []{}>
using array = int[N];

template<auto N>
void foo(array<N>&&) {}

int main() {
  foo({1, 2, 3});
}

I've used a system GCC to generate the bug report, but other versions
(including trunk releases) affected also. See more on Compiler Explorer:
https://godbolt.org/z/zW6KETaYn

Reply via email to