Catch2
Catch2 copied to clipboard
Doxygen documentation errors
Currently if you run doxygen, it generates various errors like:
catch_clara.hpp:81: warning: Detected potential recursive class relation between class Catch::Clara::Detail::UnaryLambdaTraits and base class Catch::Clara::Detail::UnaryLambdaTraits< decltype(&L::operator())>!
These and others generate errors when trying to compile them for sphinx, e.g.:
WARNING: Parsing of expression failed. Using fallback parser. Error was:
Error in postfix expression, expected primary expression or type.
If primary expression:
Invalid C++ declaration: Expected identifier in nested name, got keyword: decltype [error at 36]
static const bool value = decltype(test<std::ostream, const T&>(0))::value
------------------------------------^
If type:
Invalid C++ declaration: Expecting '(' or '{' after type in cast expression. [error at 69]
static const bool value = decltype(test<std::ostream, const T&>(0))::value
---------------------------------------------------------------------^
Granted probably most of these issues are from aggressively importing all doxygen generated files. But to navigate around that I suggest:
- Two doxyfiles, one for the public API and one for the developer's one
- Use of doxygen groups
- Adding doxygen documentation only to header file so that the source files can be excluded from the parser
@horenmar Are you ok with this organization moving forward? Is there a list of the public api headers?