internal/core/adt: break notification dependency on structural cycle
This case is specifically is not handled if structure
sharing is off, or when a let is involved.
Consider, for instance, this case:
a: next: X
let X = a
Here, `a` is substituted for `X`, after which a
structural cycle is detected. At this point,
any notification resulting from X should be
cancelled. Basically, cycle detection followed
a different path, where this was not done.
Signed-off-by: Marcel van Lohuizen <mpvl@gmail.com>
Change-Id: Iba7a4399fb4d52d87c4ccfb3adba3bf79f14ca4b
Reviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1207520
TryBot-Result: CUEcueckoo <cueckoo@cuelang.org>
Unity-Result: CUE porcuepine <cue.porcuepine@gmail.com>
Reviewed-by: Daniel Martí <mvdan@mvdan.cc>