Skip to content

zu-c holds the reference item - #660

Merged
tamnd merged 1 commit into
mainfrom
c-reference
Aug 23, 2026
Merged

tamnd merged 1 commit into
mainfrom
c-reference

Conversation

@tamnd

@tamnd tamnd commented Aug 23, 2026

Copy link
Copy Markdown
Owner

tamnd/zu-c#10 generates the API reference from include/zu.hpp and publishes it with the release rather than keeping a directory of generated HTML in the tree.

Most of the work was in the header. Doxygen only reads /** and /*!, and every comment in zu.hpp was written as /*, so the first generated reference had 355 undocumented members in it. Where the header documents an overload set once, it still does: DISTRIBUTE_GROUP_DOC hands the first comment in a group to every member of it, which is what keeps the try_ half of each class carrying no prose that could drift from the throwing half it mirrors.

The item is held on the check rather than on the output. Doxygen exits 0, with no warnings and no pages, on a header it extracted nothing from, and WARN_IF_UNDOCUMENTED cannot fire when there is nothing there to be undocumented. That is not hypothetical: a ZU_HPP left in PREDEFINED defined the header's own include guard, the preprocessor dropped the entire file, and the run was green and empty. So the client's check reads the header a second time and by different means, greps the types it declares at namespace scope, and fails when the reference does not have them. Both failures are exercised in the client's own suite, the empty one and the one bare member.

Practice goes 67 to 78, over a denominator of 90, which is the tier's 100 less the api-map and perf weights zu-c does not owe. install and stability are what is left on the card.

xtask clients still reports 4 of 5 tier 1 clients at their tier's practice threshold, which is correct: zu-c is the fifth and it is not there yet.

tamnd/zu-c#10 generates the reference from include/zu.hpp and publishes
it with the release rather than keeping a copy in the tree.

The item is held on the check rather than on the output. Doxygen exits
0, with no warnings and no pages, on a header it extracted nothing from,
so a gate that is only "the generator was quiet" passes over an empty
reference. It did, for a day: an include guard left in PREDEFINED made
the preprocessor drop the whole header. The client's check reads the
header a second time and by different means and fails when the types it
declares are not in what came out.

Practice goes 67 to 78 over a denominator of 90, which is the tier's 100
less the api-map and perf weights zu-c does not owe. install and
stability are what is left.
@tamnd
tamnd merged commit f9af528 into main Aug 23, 2026
39 of 40 checks passed
@tamnd
tamnd deleted the c-reference branch August 23, 2026 04:13
@tamnd tamnd mentioned this pull request Aug 23, 2026
22 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant