Skip to content

[Eager Execution] Don't track context classes with default toString method#583

Merged
jasmith-hs merged 2 commits into
masterfrom
jasmith-patch
Jan 15, 2021
Merged

[Eager Execution] Don't track context classes with default toString method#583
jasmith-hs merged 2 commits into
masterfrom
jasmith-patch

Conversation

@jasmith-hs

Copy link
Copy Markdown
Contributor

For #532

Classes that don't override the default Object.toString() were never envisioned to be output as a string so we don't need to be tracking them for changes to potentially output them as a string during eager execution. This will be supplemented with #581, which will allow for more optimizations to the python string representation of objects.

If one of these objects does see a change in its hash code, since we aren't trying to output it as a string, then we must throw a DeferredValueException, which will result in the calling node becoming a deferred node, rather than utilizing the functionality of the eagerTokens. If that happens, then the final render will need to be redone, rather than using the result from eager execution.

@jasmith-hs jasmith-hs merged commit 656b42a into master Jan 15, 2021
@jasmith-hs jasmith-hs deleted the jasmith-patch branch January 15, 2021 16:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants