internal/core/adt: add new closedness implementation
This involved inserting fields, data structures,
closedness and pattern constraints.
Only support fields in CloseInfo are added, but
this is not hooked in yet otherwise and thus does
not affect the existing implementation.
As this change increases the size of some data structures,
it may lead to a small performance hit.
The change in adt.go is needed to pass the tests using the
FieldTester, as this may create conjuncts without Evaluators.
Signed-off-by: Marcel van Lohuizen <mpvl@gmail.com>
Change-Id: I068fc4937b51dc01286be60658b6eab92caac112
Reviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1167822
Unity-Result: CUE porcuepine <cue.porcuepine@gmail.com>
TryBot-Result: CUEcueckoo <cueckoo@cuelang.org>
Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
Reviewed-by: Roger Peppe <rogpeppe@gmail.com>