Skip to content

Make top-level forward references more robust.#523

Merged
toddjonker merged 1 commit intoion-fusion:mainfrom
toddjonker:top-free-fix
Apr 15, 2026
Merged

Make top-level forward references more robust.#523
toddjonker merged 1 commit intoion-fusion:mainfrom
toddjonker:top-free-fix

Conversation

@toddjonker
Copy link
Copy Markdown
Member

In conjunction with recent locking of storage in Namespace, this addresses a race condition to ensure the result is always valid.

The code is heavily rearranged and more thoroughly explained.

The new test case is less useful than it appears: the non-atomicity of define is deeper in the implementation than we can meaningfully test. I had written most of this before I realized that, but the breakpoint approach seems worth keeping, so here it is.


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

In conjunction with recent locking of storage in `Namespace`, this addresses a race condition to ensure the result is always valid.

The code is heavily rearranged and more thoroughly explained.

The new test case is less useful than it appears: the non-atomicity of `define` is deeper in the implementation than we can meaningfully test.  I had written most of this before I realized that, but the breakpoint approach seems worth keeping, so here it is.
Comment thread runtime/src/test/java/dev/ionfusion/fusion/BreakpointProc.java
@toddjonker toddjonker merged commit 2a98c9b into ion-fusion:main Apr 15, 2026
4 checks passed
@toddjonker toddjonker deleted the top-free-fix branch April 15, 2026 00:39
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