Open marzer opened 2 years ago
Patch coverage: 90.90
% and project coverage change: -0.08
:warning:
Comparison is base (
3e0650a
) 98.11% compared to head (2503273
) 98.03%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
Just FYI, on current master
(and especially as of f706d7a016134317f74c69031ec8ee14bcfbedf4), this project should be in a state where tests may be able to actually pass also on machines that aren't my own. First time in about four years. So in case you'd want to pick this up again... My knowledge of C++14 and up is very low tho, so I can really only help with the webdev part here :laughing:
That "The number of regression tests for doxygen is indeed a bit small." Doxygen issue seems to be closed now, and yes, I'm fine with concepts not working before 1.9.6.
This PR adds all the plumbing necessary to have C++20's
concepts
appear in the doxygen documentation.It also makes a number of other small fixes in order to have the tests behave better on Doxygen 1.9.0 (e.g.
constexpr
andstatic
leaking into variable types, similar to my previous fix for functions in #228).Overall this is a relatively substantial PR and there's still a number of boxes that need to be ticked, so I'm marking it as 'draft'.
Outstanding tasks:
[ ] Decide how to show the actual 'implementation' of the concepts.
<compounddef>
but they also get an<initializer>
). Since their implementations can be pretty verbose/non-trivial (example) it probably doesn't make sense to inline them in the same way an as enum initializer, and instead display it on the detail page (i.e. extend thebase-class-reference.html
template). I have no idea how do that and have the syntax highlighting work, though.[ ] Decide what to do about this: https://github.com/doxygen/doxygen/issues/9622
<innerconcept>
elements necessary to link concepts to their containing namespace. I've worked around this as part of the XML post-process in Poxy, but haven't yet made any attempt to backport those fixes to m.css (mostly because I'm still not familiar enough with the code to make a good decision about where that should happen). I could port that back to m.css (with some effort), but it also may be sufficient to simply say "hey concepts might be broken before Doxygen 1.9.6".[ ] Add tests