exhale: Problem building documentation with overloaded functions
When I use exhale to generate documentation for my library with overloaded function, it shows warnings like this:
/home/akib/Projects/docview/docs/api/function_namespacedocview_1a23dabfacba6b32d41bd966ee72449980.rst:13: WARNING: doxygenfunction: Unable to resolve multiple matches for function "docview::unload_extension" with arguments (std::string) in doxygen xml output for project "libdocview" from directory: xml.
Potential matches:
- void unload_extension(extension::extension &extension_object)
- void unload_extension(std::string uuid)
/home/akib/Projects/docview/docs/api/function_namespacedocview_1ab268c8d6637aa0009f5ef5822efc10fe.rst:13: WARNING: doxygenfunction: Unable to resolve multiple matches for function "docview::unload_extension" with arguments (extension::extension&) in doxygen xml output for project "libdocview" from directory: xml.
Potential matches:
- void unload_extension(extension::extension &extension_object)
- void unload_extension(std::string uuid)
To diagnose the problem, I disabled Exhale and opened one of the files with problems. It had this line:
.. doxygenfunction:: docview::unload_extension(extension::extension&)
I changed the line to the following but the warning still showed:
.. doxygenfunction:: docview::unload_extension(extension::extension& extension_object)
Then I changed to this and the warning disappeared:
.. doxygenfunction:: docview::unload_extension(extension::extension &extension_object)
It looks like Breathe is very sensitive to whitespace and parameter names.
Is there any workaround?
Sphinx version: 3.3.1 Breathe version: 4.24.1 Exhale version: 0.2.3
Note: Although this issue is similar to #32, it’s not the same or duplicate of that issue.
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 15 (5 by maintainers)
No 😦 probably 4.29 or 4.28 looking at the release dates for breathe on PyPI and that the PR 606 linked above fixed it.
I can’t test at this moment but if you find one that works please post back. Sorry that’s not very helpful 😕
closing with reference to #106, right now many overloads work, the ones that still fail are non-specialized template functions and sometimes global (not in a namespace) functions. this bug does resurface differently over time, just trying to consolidate the function overloads discussion
@aprotyas Can you post a complete example, preferably minimal, that fails for you?
I’m getting something similar still. In my case, the complaint is between
is_directory(const path&)andis_directory(const path& p). 😞