Closed j-hui closed 3 years ago
I have a couple of failing tests, but these fail on master as well, so I don't think these should prevent this PR from being merged.
I've documented the MultOverflow cases in #32, but I just have no idea what FiveForker is, or why it fails, but it's a massive test case with lots of forks. Both the interpreter and the executable reach a NegativeDepth
error, but they seemingly differ in the order of processes they fork.
The fiveforker one is super interesting. I'll try to manually massage quickcheck to shrink it a bit, and see if I can figure it out.
Hm QuickCheck won't shrink it more. One positive is that whenever we figure out what the issue is, we'll probably manually come up with a smaller test case that can guide another shrinking strategy that replicates it.
Thanks for the approval @Rewbert ! I'll merge it into master after pushing a couple of more minor fixes.
I dropped in my refactor of the runtime system from upstream. In addition to what should be a functionally equivalent refactor, it makes the following changes:
struct sv
andstruct act
rather than inlining fields, to avoid some type casting