-
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: more pruning in partial disjunction check
In a partial conjunction check, equality for uncompleted tasks need to be verified to be equal. In many cases tasks will have completed before a disjunction is checked. This is especially true for tasks that result from a reference like `string`. Previously, the implementation ignored the scheduler's taskPos field, thereby considering any task to be not completed, causing many disambiguation opportunities to be missed. The new implementation fast tracks the common case when both disjuncts have all tasks completed. Furthermore, it only compares tasks that are not done yet. This adds one nodeCounter issue, which is related to the embedded identifier. This will need to be addressed elsewhere. Fixes #3610 Signed-off-by: Marcel van Lohuizen <[email protected]> Change-Id: Ib3a5830d415e9afd74e8c96b6a0b97383c53218c Reviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1205400 Unity-Result: CUE porcuepine <[email protected]> Reviewed-by: Matthew Sackman <[email protected]> TryBot-Result: CUEcueckoo <[email protected]>
- Loading branch information
Showing
4 changed files
with
76 additions
and
38 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
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