internal/core: implement let as fields
This makes it easier to get upCounts aligned, as they will follow
the same paradigm as fields. It also allows debug information to be
shown as to where lets are added in the tree.
Mote, however, that lets do not always behave as fields: even if the
same let is added into the same struct multiple times, the various
instance should be treated as unique fields and should not be unified.
For this purpose, the old cache is still used.
Fixes #1828
Signed-off-by: Marcel van Lohuizen <mpvl@gmail.com>
Change-Id: Ifa459a2f0f16b2cf57c72c45a1f7b906326527b7
Reviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/543362
Reviewed-by: Roger Peppe <rogpeppe@gmail.com>
TryBot-Result: CUEcueckoo <cueckoo@cuelang.org>