Repository navigation
Fix forward #8468: restore the function-value call lowering the merge silently reverted - #8516
Merged
Merged
Conversation
… silently reverted #8468 was merged with a stale resolution of one generated file. The generated-artifact merge driver refuses rather than answering: it leaves the path unmerged with the OURS side in the worktree and NO conflict markers. The ours side was the branch's seed, which predated main adding the function-value call lowering, so the merge reverted it in the committed seed only: dag seed(merged) seed(now) call_semantics_is_function_value 3 0 3 emit_typed_function_value_call 2 0 2 rust_callable_return_wrap 2 0 2 callee_is_function_value 9 0 7 No other seed file referenced those symbols, so the tree still built. The regression was SILENT, not loud -- 04_infer.dag still constructs FunctionValueCallSemantics, so the variant is live and the running compiler stopped lowering it. Nothing would have reported this. RECONSTRUCTED, NOT PATCHED. The file is taken from pre-merge main (8b20599) with #8468's intended delta re-applied on top, rather than hand-adding the missing symbols back. Verified by diffing the result against pre-merge main: it contains the hand_maintained_map_key_required_type_names roster wired into the same fixpoint and NOTHING ELSE, and callee_is_function_value is back to its pre-merge count of 7. The PR's other two intended changes needed no action here and are confirmed intact on main: std::hash::Hash on ItemKind (v1_compiler_infer_items.rs is byte-identical to main -- it survived the bad merge) and obs_human_elapsed (v1_compiler_runtime_rust.rs was never conflicted). Verified remotely with a must-fail control so a no-op cannot read as a pass: Applied patch src/v1/stage0/src/v1_compiler_emit_rust.rs cleanly. CONTROL_EXIT=101 (cargo check -Z definitely-not-a-real-flag) BUILD_EXIT=0 compiling=105 finished=1 errors=0 THIS IS THE INTERIM, NOT THE FIX. It hand-resolves generated bytes, which is precisely what caused the problem. required-regen cannot currently produce the authoritative bytes (see #8518, which makes it execute but not pass), so regeneration is unavailable. The regenerated bytes supersede these the moment it can produce them, and this file should not be treated as authoritative in the meantime. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FwPMTY6Myy3scaMNn33cg5
gunbai-bot
Bot
force-pushed
the
fix/8468-seed-remerge
branch
from
August 19, 2026 05:13
fba2982 to
909cc08
Compare
3 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#8468 was merged with a stale resolution of one generated file. The
generated-artifact merge driver refuses rather than answering: it leaves the
path unmerged with the OURS side in the worktree and NO conflict markers. The
ours side was the branch's seed, which predated main adding the function-value
call lowering, so the merge reverted it in the committed seed only:
call_semantics_is_function_value 3 0 3
emit_typed_function_value_call 2 0 2
rust_callable_return_wrap 2 0 2
callee_is_function_value 9 0 7
No other seed file referenced those symbols, so the tree still built. The
regression was SILENT, not loud -- 04_infer.dag still constructs
FunctionValueCallSemantics, so the variant is live and the running compiler
stopped lowering it. Nothing would have reported this.
RECONSTRUCTED, NOT PATCHED. The file is taken from pre-merge main
(8b20599) with #8468's intended delta re-applied on top, rather than
hand-adding the missing symbols back. Verified by diffing the result against
pre-merge main: it contains the hand_maintained_map_key_required_type_names
roster wired into the same fixpoint and NOTHING ELSE, and
callee_is_function_value is back to its pre-merge count of 7.
The PR's other two intended changes needed no action here and are confirmed
intact on main: std::hash::Hash on ItemKind (v1_compiler_infer_items.rs is
byte-identical to main -- it survived the bad merge) and obs_human_elapsed
(v1_compiler_runtime_rust.rs was never conflicted).
Verified remotely with a must-fail control so a no-op cannot read as a pass:
Applied patch src/v1/stage0/src/v1_compiler_emit_rust.rs cleanly.
CONTROL_EXIT=101 (cargo check -Z definitely-not-a-real-flag)
BUILD_EXIT=0 compiling=105 finished=1 errors=0
THIS IS THE INTERIM, NOT THE FIX. It hand-resolves generated bytes, which is
precisely what caused the problem. required-regen cannot currently produce the
authoritative bytes (see #8518, which makes it execute but not pass), so
regeneration is unavailable. The regenerated bytes supersede these the moment
it can produce them, and this file should not be treated as authoritative in
the meantime.
Follow-up to #8468 (merged). Companion to #8518.
🤖 Generated with Claude Code
https://claude.ai/code/session_01FwPMTY6Myy3scaMNn33cg5