// RUN: %clang_cc1 -fsyntax-only -verify -std=c++17 %s
// RUN: %clang_cc1 -fsyntax-only -verify -std=c++20 %s
template <decltype(auto) a>
struct S { // expected-note {{previous definition is here}}
static constexpr int i = 42;
};
template <decltype(auto) a>
struct S<a> { // expected-error {{class template partial specialization does not specialize any template argument; to define the primary template, remove the template argument list}} \
// expected-error {{redefinition of 'S'}}
static constexpr int i = 0;
};