sandwich-introduce-with-completion.patch (1013B)
1 Backport the introduceWith completion-order fix present in sandwich 0.3.1.0. 2 The inner exception handler settles child context failures; the outer runner 3 publishes the parent's final annotated result after handling the exception. 4 This keeps waitForTree from observing the intermediate, unannotated failure. 5 Upstream tests, including the diagnostic-message assertion, remain unchanged. 6 7 https://hackage.haskell.org/package/sandwich-0.3.1.0/changelog 8 https://hackage-content.haskell.org/package/sandwich-0.3.1.0/src/src/Test/Sandwich/Interpreters/StartTree.hs 9 10 --- a/src/Test/Sandwich/Interpreters/StartTree.hs 11 +++ b/src/Test/Sandwich/Interpreters/StartTree.hs 12 @@ -129,7 +129,5 @@ 13 let handler e = do 14 - recordExceptionInStatus runTreeStatus e 15 - 16 liftIO (readIORef didAllocateVar) >>= \case 17 False -> do 18 -- We didn't successfully allocate, so mark the children below this point as failed due to a 19 -- context issue.