-
-
Notifications
You must be signed in to change notification settings - Fork 203
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Duplicate IDs when using INLINE_INHERITED_MEMBERS=YES #356
Comments
According to http://www.stack.nl/~dimitri/doxygen/manual/config.html#cfg_inline_inherited_memb
Because of this, Breathe most likely will document each class member twice because Doxygen will list it twice in the XML. Is there a valid use case for having this set to |
I'm expecting the documentation to be duplicated, I just want the link targets to be unique, and I'm not sure if those are being generated by Breathe or by Doxygen. In my case I have a base class that is an implementation detail rather than part of the public API, so I don't want to document the base class at all. Instead I want to provide separate self-contained documentation for each of the derived classes, which means duplicating the documentation of the methods inherited from the base. |
Could you try to add the As in: .. doxygensomething:: foobar
:no-link: http://breathe.readthedocs.io/en/latest/directives.html To see if that licenses the warning? If that does then we'll know where the actual issue lies and can further discuss how to resolve it. |
It fixes some but not all of the warnings. I've upgraded to breathe 4.7.3, sphinx 1.7.4, docutils 0.14, and with this index.rst
I get
After adding
|
Here's a zipfile with my minimal example: breathe-dup-ids.zip |
It looks like Breathe is qualifying the inherited members using the base class instead of the derived class. For the example of @bmerry Sphinx gets the following declarations:
For
The qualifications are removed from the doctree later by Breathe. The easiest fix is probably to construct the signature with the right qualification. |
Should be fixed with #512, released in Breathe v4.17.0. Note that you also need Sphinx 3.x for recent Breathe versions. |
I'd like to re-open this (but for some reason Github isn't showing me the re-open button). If I leave out
I don't want to use |
These IDs are entirely on the Breathe side, and I have yet to understand where there are actually used for anything. They may appear in Doxgen-generated HTML, but I'm not sure of the use-cases. |
I'm not sure if this is a breathe problem or a doxygen one.
When the Doxyfile sets
INLINE_INHERITED_MEMBERS
toYES
, each time a base class member is documented within a subclass it has the same link target. This leads to warnings from Sphinx e.g.Example code:
I'm using doxygen 1.8.11, breathe 4.7.3, Sphinx 1.6.4, Python 2.7.12. The Doxyfile is a default-generated one, just with
INLINE_INHERITED_MEMBERS
changed toYES
.The text was updated successfully, but these errors were encountered: