When I declare a C++ variable template and a partial specialization of that template and annotate both with Doxygen style comments then only the primary template gets mentioned in the resulting HTML files. I expected the specialization to be mentioned, too.
Reproduction
Generate a Doxygen configuration file using Doxygen -g. In the Doxyfile, set INPUT = foo.cc. The contents of foo.cc (in the same directory as Doxyfile) are:
/// \file
/// The primary template.
template<typename T, typename U, typename Dummy = void>
constexpr bool has_foo_v = false;
/// The template specialization.
template<typename T, typename U>
constexpr bool has_foo_v<T,
U,
std::void_t<decltype(T::foo(std::declval<U>()))>>
= true;
Run Doxygen. It produces no warnings. Look at the foo.cc page in the HTML results. It describes the primary template but there is no sign of the template specialization. See the screenshot.

Expected behavior
I expected the template specialization to be described on the produced web page for the source file.
Version
Doxygen 1.12.0 (c73f5d3) on Windows 11 Business version 23H2. Downloaded from the Doxygen website.
When I declare a C++ variable template and a partial specialization of that template and annotate both with Doxygen style comments then only the primary template gets mentioned in the resulting HTML files. I expected the specialization to be mentioned, too.
Reproduction
Generate a Doxygen configuration file using
Doxygen -g. In the Doxyfile, setINPUT = foo.cc. The contents of foo.cc (in the same directory as Doxyfile) are:Run Doxygen. It produces no warnings. Look at the foo.cc page in the HTML results. It describes the primary template but there is no sign of the template specialization. See the screenshot.
Expected behavior
I expected the template specialization to be described on the produced web page for the source file.
Version
Doxygen 1.12.0 (c73f5d3) on Windows 11 Business version 23H2. Downloaded from the Doxygen website.