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