You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 1f59143
Browse filesBrowse the repository at this point in the historyBrowse files
Make post_iterator null-key test portable across stdlibs (#375)
The first version of the test used `#define private public` to reach the
private static webserver::post_iterator. That breaks libstdc++'s
<sstream> (struct __xfer_bufptrs redeclared with different access) when it
is pulled in transitively under the redefined keyword, failing the Linux
CI build while passing on macOS/libc++.
Replace it with the explicit-instantiation access loophole: access checks
do not apply to names used in an explicit template instantiation, so a
filler<> whose static member runs at dynamic-init time captures a pointer
to post_iterator without redefining any keyword or touching a shipped
header. Portable across libstdc++ and libc++.
Drop the http_request-backed happy-path cases (still covered by the
file_upload integration test's 192 checks) and assert the two null-key
paths return MHD_YES without throwing; dhr is left null since a correct
guard returns before any dhr access.
Verified: clean under -Wall -Wextra -Werror -pedantic and cpplint; the
test still terminates without the guard and passes with it.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rkuh4aSmrD8m2f2vYqakb6
0 commit comments