Conversation
The `TaskCallInfo` branch set `state.ci` alone: `state.mi` stayed the parent's, so every view rendered the parent's method with the task's code, and `:llvm`/`:native` were handed a mismatched (mi, src) pair. It also never restored the parent's state on the way back up, so after ascending the parent's frame kept the task's `ci`. Do what the ordinary descent a few lines below does: save, set `mi` with `ci`, clear `override`, descend, restore. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NiXhCrQf5AJ2DmTmZ3FsSP
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #709 +/- ##
=======================================
Coverage 0.00% 0.00%
=======================================
Files 9 22 +13
Lines 1556 1816 +260
=======================================
- Misses 1556 1816 +260 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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.
The
TaskCallInfobranch indescend!setsstate.cialone:Two consequences:
state.mistays the parent's. Every view readsstate.mi—get_typed_sourcetext(state.mi, …)for:source,state.mi.deffor:astand jump, and the(state.mi, result.src)pair handed to_dump_functionfor:llvm/:native— so descending into a task renders the parent's method with the task's code, and hands codegen a mismatched pair.ci.This makes the branch do what the ordinary descent a few lines below already does: save the state, set
miwithci, clearoverride, descend, honour:exited, restore.Test (terminal harness): descending into the task callsite of
@sync @async show(devnull, "Hello")shows the closure's method as the frame header, and ascending brings back the parent's header and its own callsites. Against master the test fails on all three of those assertions.Not changed:
get_ci(info)::CodeInstancestill throws when the task wraps aMultiCallInfo(whichcallinfo()can return). That is a separate question of what the TUI should offer there.🤖 Generated with Claude Code
https://claude.ai/code/session_01NiXhCrQf5AJ2DmTmZ3FsSP