mirror of
https://github.com/opentffoundation/opentf.git
synced 2025-12-25 01:00:16 -05:00
On reflection it seems inconsistent that the "compile" logic in lang/eval is responsible for deciding which expressions get evaluated in which scopes but not for deciding what's actually in the top-level scope, since the scope contents are something quite likely to vary between language editions and language experiments. With that in mind, this separates the idea of the "module instance scope" from the actual ModuleInstance type, making it instead a wrapper type. This continues the trend toward the grapheval package being mostly agnostic to how the surface-level language is designed and instead just modeling the relationships that are implied by the configuration. Signed-off-by: Martin Atkins <mart@degeneration.co.uk>