-
Notifications
You must be signed in to change notification settings - Fork 298
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
internal/core/adt: fix self reference issue
Evaluating comprehension sources was done using "yield" mode. This caused sets to be evaluated out of band, causing structs to be closed before fields can be added. We now, instead, rely on the recursive call-by-need behavior in combination with the freezing mechanism. In the future we plan to move to a scheduler that relies fully on either call by need or scheduling, but for now this will have to do. comprehension.txtar: fixes a P0 bug freeze.txtar: fixes the target issue. It would also fix the comprehension.t1.ok tests if we use "attemptOnly" instead of "finalize". But this breaks issue 3616. It is either way unclear what the correct behavior should be and V2 also errors here, so it is not the worst. This change would also fix a possible issue with propagating up an incomplete error. Also here the behavior is the same as V2, so no problem for now. adt.txtar: the changes are benign and due to reordering. Fixes #3178 Signed-off-by: Marcel van Lohuizen <[email protected]> Change-Id: I94e49767d59a5d0c13f9ebb2ce8882f8c7a68051 Reviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1206318 Reviewed-by: Daniel Martí <[email protected]> Unity-Result: CUE porcuepine <[email protected]> TryBot-Result: CUEcueckoo <[email protected]>
- Loading branch information
Showing
4 changed files
with
286 additions
and
158 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
Oops, something went wrong.