Make Arrow desugaring deterministic
This kills two instances of varSetElems that turned out to be nondeterministic. I've tried to untangle this before, but it's a bit hard with the fixDs in the middle. Fortunately I now have a test case that proves that we need determinism here. Test Plan: ./validate, new testcase Reviewers: simonpj, simonmar, austin, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2258 GHC Trac Issues: #4012
Showing
- compiler/coreSyn/CoreFVs.hs 33 additions, 0 deletionscompiler/coreSyn/CoreFVs.hs
- compiler/deSugar/DsArrows.hs 32 additions, 31 deletionscompiler/deSugar/DsArrows.hs
- compiler/utils/UniqDFM.hs 6 additions, 1 deletioncompiler/utils/UniqDFM.hs
- testsuite/driver/extra_files.py 1 addition, 0 deletionstestsuite/driver/extra_files.py
- testsuite/tests/determinism/determ018/A.hs 32 additions, 0 deletionstestsuite/tests/determinism/determ018/A.hs
- testsuite/tests/determinism/determ018/Makefile 13 additions, 0 deletionstestsuite/tests/determinism/determ018/Makefile
- testsuite/tests/determinism/determ018/all.T 4 additions, 0 deletionstestsuite/tests/determinism/determ018/all.T
- testsuite/tests/determinism/determ018/determ018.stdout 2 additions, 0 deletionstestsuite/tests/determinism/determ018/determ018.stdout
Loading
Please register or sign in to comment