Skip to content

Partial specialization of C++ variable template is missing from Doxygen output #11085

@LouisStrous

Description

@LouisStrous

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.

image

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions