1 // RUN: %clang_cc1 -std=c++20 -verify %s
2 // expected-no-diagnostics
4 namespace FunctionTemplate
{
5 template<typename
> struct S
{
6 template<int> auto foo();
8 // Check that we don't confuse the depth-1 level-0 parameter of the generic
9 // lambda with the depth-1 level-0 parameter of the primary 'foo' template.
10 template<> constexpr auto foo
<1>() {
11 return [](auto x
) { return x
; };
15 static_assert(S
<void>().template foo
<1>()(2) == 2);