Describe the bug
Doxygen 1.9.5 introduced a regression which affects \ref's ability to resolve members of structures that are defined within a class template specialization.
/// Outer class template
template<bool B, typename T> class Outer {};
/// Specialization of Outer
template<typename T> class Outer<true, T> {
public:
/// Inner structure
struct Inner {
/// Data member
int x;
/// Return
/// 1. @ref Outer<true, T>::Inner::x
/// 2. @ref Inner::x
/// 3. @ref x
int get_x() const { return x; }
};
};
Doxygen 1.9.4 generates correct links from all the 3 instances of @ref here, while 1.9.5 fails to do so.
issue.hpp:14: warning: unable to resolve reference to 'Outer<true, T>::Inner::x' for \ref command
issue.hpp:15: warning: unable to resolve reference to 'Inner::x' for \ref command
issue.hpp:16: warning: unable to resolve reference to 'x' for \ref command
The exact commit where the regression was introduced is b290399.
Expected behavior
Proper link generation, the way it was in 1.9.4.
To Reproduce
ref_struct_in_class_spec.zip
Version
Doxygen 1.9.5 (b290399*)
Gentoo Linux x86_64
Doxygen built from git sources, GCC 13.2.1