aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp2a/concepts-pr72415.C
blob: 04bdc514fb9fbc1e26600dafd7833589ee10cc73 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// PR c++/72415
// { dg-do compile { target c++17 } }
// { dg-options "-fconcepts" }

template<int... Xs>
struct indices {};

template<typename Dummy>
struct foo_type {
    template<int... Indices>
    static void impl(indices<Indices...>)
        requires (... && (Indices, true));

    static auto caller()
    { return impl(indices<0, 1, 2> {}); }
};

int main()
{
    // internal compiler error: in satisfy_predicate_constraint, at cp/constraint.cc:2013
    foo_type<void>::caller();
}