Skip to content

Merge train: #488, #490-#494, #496, #497 plus index and parity sync - #499

Merged
rmorozov merged 36 commits into
masterfrom
claude/project-thread-53pwid
Oct 12, 2026
Merged

rmorozov merged 36 commits into
masterfrom
claude/project-thread-53pwid

Conversation

@rmorozov

@rmorozov rmorozov commented Oct 12, 2026 •

Copy link
Copy Markdown
Member

Before: eight open PRs each needed its own master merge and CI run to land.

After: one integration branch carries all of them, so one CI run covers the batch. Merging it with a merge commit marks each of the PRs below as merged.

Included, with the head merged:

Conflicts resolved: test/parity/divergences/statements.txt (dropped the two 0144 lines #488 fixes, kept 0156 and the new 0038/0165/0168 lines) and test/binding/nlohmann_json_binding_test.cpp (kept both ArrayIteration from #489 and NullMemberIsNone from #494).

Checked locally on the combined tree (Debug, C++17): the full suite, the parity corpus and the fuzz regressions pass. CI is green on 06181c2, including all three MSVC jobs under the /W4 /WX flags from #478.

Roles: merge steward only (no verifier on the train; each member PR ran its own). One red push: the first head failed all three MSVC jobs with C4310 in #490's helpers_tests.cpp:57 (wchar_t(0x1F600) in an if constexpr branch under /WX); fixed in 06181c2 by comparing against L"\U0001F600".

🤖 Generated with Claude Code

https://claude.ai/code/session_01DTQTriEsFrrBgcYNKDUUF4

claude added 30 commits October 12, 2026 11:09
…characters (0067)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bz1kzjgvkqKWLUE2sD9fzf
…integer 2 (0144)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ph1KKYxpiKdsrV3ThPfdaT
p[0], p[1], p[-1], iteration, |length, |list and |last now work on the
pairs dictsort returns, as they do on Python's tuples.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NmcpU1qNnJ3txRoN1qqd6Y
Case-insensitive narrow compare orders bytes unsigned, sum starts from 0 and
raises on strings, wordwrap(width <= 0) raises, dict is a sequence.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ri8sWg6DtPeJ4tx4pkQeZf
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ctbo7iuiuCyogEmypUtQ28
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ri8sWg6DtPeJ4tx4pkQeZf
…l letters) (0041)

CompileEscapes decodes what Python's unicode-escape does, keeps the backslash of an unknown
escape, and a malformed escape is a parse error. \N{name} is still rejected.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H8Fwx6ZYnAu1uY3tb6fSWK
…ved plan

The approved lexical-scoping plan and its advisor review go to docs/design/.
0038 becomes the umbrella: 0165 (bodies run where defined), 0166 (defaults
per call), 0167 (modules own their context). Its divergence lines now name
the phase that removes them. 0168 (idtracking frame-entry binding) and 0169
(caller() without a call block) are pinned with new corpus cases.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Krh9zQy8ifSut6nW1jwRZf
…bove INT64_MAX)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bz1kzjgvkqKWLUE2sD9fzf
…s, truthiness

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NmcpU1qNnJ3txRoN1qqd6Y
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bz1kzjgvkqKWLUE2sD9fzf
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bz1kzjgvkqKWLUE2sD9fzf
…conversion (0041)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H8Fwx6ZYnAu1uY3tb6fSWK
…ide containers and pprint

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011DkJzm2CJsYbt4dmQT5uYZ
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H8Fwx6ZYnAu1uY3tb6fSWK
Empty wordwrap text returns early, loop and namespace are not sequences, sum
refuses a string start; corpus cases added.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ri8sWg6DtPeJ4tx4pkQeZf
…n (0047)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011DkJzm2CJsYbt4dmQT5uYZ
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011DkJzm2CJsYbt4dmQT5uYZ
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ri8sWg6DtPeJ4tx4pkQeZf
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ctbo7iuiuCyogEmypUtQ28
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ctbo7iuiuCyogEmypUtQ28
# Conflicts:
#	test/parity/divergences/statements.txt
# Conflicts:
#	test/binding/nlohmann_json_binding_test.cpp
# Conflicts:
#	test/parity/divergences/statements.txt
…4310 under /WX)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DTQTriEsFrrBgcYNKDUUF4

Copy link
Copy Markdown
Member Author

All three MSVC jobs failed on test/helpers_tests.cpp(57): error C2220 / warning C4310: cast truncates constant value. This is #490's new CompileEscapes test: wchar_t(0x1F600) sits in an if constexpr branch that MSVC still compiles with a 16-bit wchar_t, and /WX from #478 now rejects it. It is not red on master.

Fix pushed in 06181c2 to this train: the test now compares against the wide literal L"\U0001F600", which is a surrogate pair on MSVC and one code unit elsewhere. The helpers_tests suite passes locally. Waiting for the new CI run.


Generated by Claude Code

@rmorozov
rmorozov marked this pull request as ready for review October 12, 2026 15:54
@rmorozov
rmorozov merged commit dd9dd3d into master Oct 12, 2026
41 checks passed
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.

2 participants