mosra / m.css

A no-nonsense, no-JavaScript CSS framework, site and documentation theme for content-oriented websites
https://mcss.mosra.cz
Other
406 stars 92 forks source link

documentation/doxygen: added support for C++20 concepts #232

Open marzer opened 1 year ago

marzer commented 1 year ago

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 and static 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:

codecov[bot] commented 1 year ago

Codecov Report

Patch coverage: 90.90% and project coverage change: -0.08 :warning:

Comparison is base (3e0650a) 98.11% compared to head (2503273) 98.03%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #232 +/- ## ========================================== - Coverage 98.11% 98.03% -0.08% ========================================== Files 27 27 Lines 6994 7026 +32 Branches 49 49 ========================================== + Hits 6862 6888 +26 - Misses 132 138 +6 ``` | [Impacted Files](https://app.codecov.io/gh/mosra/m.css/pull/232?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Vladim%C3%ADr+Vondru%C5%A1) | Coverage Δ | | |---|---|---| | [documentation/doxygen.py](https://app.codecov.io/gh/mosra/m.css/pull/232?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Vladim%C3%ADr+Vondru%C5%A1#diff-ZG9jdW1lbnRhdGlvbi9kb3h5Z2VuLnB5) | `98.68% <90.90%> (-0.27%)` | :arrow_down: |

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

mosra commented 1 week ago

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.