================ @@ -305,3 +305,45 @@ static_assert(__is_same_as(_Three_way_comparison_result_with_tuple_like<tuple<in static_assert(__is_same_as(_Three_way_comparison_result_with_tuple_like<tuple<int>, 0>::type, long)); } + +namespace GH88866 { + +template <typename...Ts> struct index_by; + +template <typename T, typename Indices> +concept InitFunc = true; + +namespace Invalid { + +template <typename Indices, InitFunc<Indices> auto... init> +struct LazyLitMatrix; + +template < + typename...Indices, + InitFunc<index_by<Indices>> auto... init + // expected-error@-1 {{type constraint contains unexpanded parameter pack 'Indices'}} ---------------- zyn0217 wrote:
Wow you're right, I was confused by the original case where there's no ellipsis in the parameter declaration. https://godbolt.org/z/9jaazxEqY (Fun fact that GCC accepts both w/ or w/o ellipsis, which doesn't seem right. We crash on both, sadly.) https://github.com/llvm/llvm-project/pull/121296 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits