Open psalvaggio opened 2 years ago
doxygen -v
).mixin-doxy.zip
I am using Doxygen 1.9.2. This example actually fared a little better that it does in my codebase, as it was able to get the inherited member from A
, but it still shows the issue with the variadic inheritance.
mixin-doxy.zip
I made the example a bit more realistic to my codebase, where there is normally one layer of inheritance sitting between my end types and the mixin and shows the issue I am directly seeing:
Describe the bug
Consider the following construct:
In the example in the comment for mixin,
class C
should have the following "effective" interface:However, it gains
a
andb
through inheritance and these members never show up inC
's public interface. When I generate Doxygen for this situation, I wind up getting an empty page. Doxygen considersC
's inheritance tree to be:I'm not quite sure what is going wrong here, but I think it has to do with the variadic template expansion:
I also tried with a build with Clang-assisted parsing, thinking that might help, but it produced the same result.
Expected behavior For this case, I would expect a section of
This is a pretty complicated setup, as the inheritance structure for
mixin
changes with its template parameters, however there are no specializations, only different instantiations across the codebase. Also aware that the use cases for variadic inheritance are few and far between, so I can't really say I was expecting this to work, but if it is possible, it would really help the documentation of such classes.