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
display
function now captures the current version whenever the inputs (other thandisplay
andview
) change, such that when a variable is invalidated, it gets a newdisplay
function capturing the new version. And, we now throw an error ifdisplay
is called with a version that is older than the last-displayed content. Users should never see this error (unless they use developer tools to break on caught exceptions), but it also prevents downstream work for a variable that has been invalidated, which is nice.I had to reach into the Runtime internals to get this to work, because I wanted shadow variables that depend on other variables. (Normally shadow variables aren’t allowed to have any inputs, but it’s really just a limitation of the shadow option, not the underlying implementation.)
Fixes #995.