Commit 13ea075
authored
Fixes #253
Fixes #251
Multimaps and arrays that contained structs were previously
not correctly handled. When a new element is added to an
array or multimap that element must always be considered
new.
Previously the implementation would sometimes incorrectly
use a previous state of an element at the same index if
such element remained in memory as a result of shrinking
and then expanding the array or multimap again.
A similar problem also existed for optional fields in
structs where a field that was previously not present
becomes present and the fields state must be assumed to
be completely new in that case. Previously the state of
the field in some cases was incorrectly carried over
if the field remained in memory as a result of the field
becoming first non-present then present again.
This PR fixes all those bugs by correctly using "new"
state for new array and multimap elements and newly
present optional struct fields.
"seeds" directory now contains seed values that reproduce
the 3 bugs that are fixed.
1 parent 905b886 commit 13ea075
File tree
74 files changed
+1319
-696
lines changed- examples
- ints/internal/ints
- jsonl/internal/jsonstef
- profile
- internal/profile
- go/otel/oteltef
- java/src/main/java/com/example/oteltef
- stef-spec
- stefc
- generator/testdata
- seeds
- templates
- go
- java
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
74 files changed
+1319
-696
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments