catchorg / catchorg/Catch2

Doxygen documentation errors

Open
#2,711 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
21.5k
Forks
3.5k
Avg merge
3d 16h
Merged PRs (30d)
2

Description

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(0))::value
------------------------------------^
If type:
Invalid C++ declaration: Expecting '(' or '{' after type in cast expression. [error at 69]
static const bool value = decltype(test(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](https://www.doxygen.nl/manual/grouping.html)
- 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?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.