transpile: fix zero initializer imports#1864
Conversation
|
From 1:1 discussion: I don't understand why this isn't a semantics-preserving change, given that beforehand we call I'd like to see an explanation of what isn't true in the above understanding, or an example trace of how control/data flow works out for a particular case that makes it clear why this is a fix. Does the attached test really fail without the accompanying change to |
It does not; investigating. |
7b82bd7 to
604ebcb
Compare
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
604ebcb to
771c8a8
Compare
You're right that the test as written doesn't fail without the change. Your model is right except for one thing: Concrete trace from libgit2 (clar): The snapshot test misses this because both sites use the same spelling and |
Fix zero-initializer import replay when a cached initializer is reused from a reorganized submodule.
The initializer type import now participates in the deferred import set that is cached with the initializer. This prevents typedef names such as
STAT_Tfrom being emitted in a header module without the matchinguse.Surfaced when working on PR #1861.