You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
internal/core/adt: fix error gobbling of internal nodes
In some cases, errors in erroneous nodes
would not be carried over. This is because CUE
assumes that if a reference requires a scalar,
it is okay to proceed when a scalar is found as
the value can only be changed to an error,
which is then assumed to be reported at the
site where the error occurred.
This is not the case for "non-addressable" nodes,
though, as they will not be output. In such cases,
the error is lost.
We now detect such cases during evaluation and
require all task nodes to be completed, thereby
forcing the error if there is any.
This can only be done for non-addressable nodes
to avoid getting into spurious cycles.
Fixes#3977
Signed-off-by: Marcel van Lohuizen <[email protected]>
Change-Id: Ia51f4586ce9b0b142ab11d73c67a480039b276fb
Reviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1217228
TryBot-Result: CUEcueckoo <[email protected]>
Reviewed-by: Daniel Martí <[email protected]>
Unity-Result: CUE porcuepine <[email protected]>
0 commit comments