PR #286 (c150021) gave the suite its reference shape and put the test standards in CONTRIBUTING.md ## Unit tests. Since then, twenty-three feature merges have added roughly 9k test lines (#312, #317, #320, #322, #324, #327, #329, #330, #333, #336, #337, #343, #345, #353, #354, #356, #358, #360, #361, #362, #366, #369, #370 — plus the mechanical #348 rename and #355's lane removal), each written to the standards individually but never reviewed as a whole.
Before the 0.1 tag:
- Review all test additions since
c150021 against CONTRIBUTING.md ## Unit tests and the reference shape; restructure where the additions have drifted from it (placement, section order, assertion kinds — compile-time facts as static_assert alone, negatives paired with their converses).
- Tighten gaps in the coverage of the new features themselves — including the known one:
apply unpacking a lone tuple-like payload through the verbs is intended behaviour and untested.
- Increase noexcept and exception-handling coverage systematically: static noexcept probes for the conditional specifications introduced across the wave (widening arms,
emplace, value/widening operator=, the apply family, the empty-copack vacuous paths, the heterogeneous joins, the identity-cluster verb arms, the operator&/operator| families), and runtime exception paths — throwing constructors during widening and reinitialization, the strong guarantee on assignment, verb-layer propagation.
The #348 rename and #355 lane removal are in scope only as a spot-check that nothing was dropped in the moves. The review holds across the build modes (C++20/23 lanes and the LIBFN_CXX26 mode added by #362).
PR #286 (
c150021) gave the suite its reference shape and put the test standards in CONTRIBUTING.md## Unit tests. Since then, twenty-three feature merges have added roughly 9k test lines (#312, #317, #320, #322, #324, #327, #329, #330, #333, #336, #337, #343, #345, #353, #354, #356, #358, #360, #361, #362, #366, #369, #370 — plus the mechanical #348 rename and #355's lane removal), each written to the standards individually but never reviewed as a whole.Before the 0.1 tag:
c150021against CONTRIBUTING.md## Unit testsand the reference shape; restructure where the additions have drifted from it (placement, section order, assertion kinds — compile-time facts asstatic_assertalone, negatives paired with their converses).applyunpacking a lone tuple-like payload through the verbs is intended behaviour and untested.emplace, value/wideningoperator=, the apply family, the empty-copack vacuous paths, the heterogeneous joins, the identity-cluster verb arms, theoperator&/operator|families), and runtime exception paths — throwing constructors during widening and reinitialization, the strong guarantee on assignment, verb-layer propagation.The #348 rename and #355 lane removal are in scope only as a spot-check that nothing was dropped in the moves. The review holds across the build modes (C++20/23 lanes and the
LIBFN_CXX26mode added by #362).