What does backwards compatibility mean for optionals? #2985
Unanswered
hansbogert
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
The docs show the following paragraphs
Especially that last paragraph does not rhyme with me, at least as an end-user interested in concrete values/output. Perhaps thinking in concrete output is the crux of my confusion and the documentation merely is restricting itself to cases of backwards compatibility in cue schemas which can be non-concrete.
Anyway, my confusion at least comes from the following situation where we have a definition with an optional:
Evalling, shows:
We should now be able to change the optional to a required and remain backwards compatible:
Evalling, shows:
Admittedly, not requiring concrete values, does not result in an error:
My question then becomes, can cue help with backwards compatibility guarantees for use-cases where we think in concrete values? For example, you could argue that backwards compatibility for a use-case as above could be achieved by changing from optional to required, but with a default concrete value. Does the theoretical lattice-model help with reasoning about backwards compatibility for concrete values?
Beta Was this translation helpful? Give feedback.
All reactions