Deal with unbreakable blocks in Applicative Do
authorDavid Feuer <david.feuer@gmail.com>
Fri, 8 Sep 2017 03:56:35 +0000 (23:56 -0400)
committerBen Gamari <ben@smart-cactus.org>
Tue, 19 Sep 2017 20:50:02 +0000 (16:50 -0400)
commit55b27a3231d6c25bc257006d59b329dd43ac4118
treea2c8c204565a127b9a0a71fb6caebbf1d849562b
parent14195b0982135668890f79b7790caf33c6147240
Deal with unbreakable blocks in Applicative Do

The renamer wasn't able to deal with more than a couple strict
patterns in a row with `ApplicativeDo` when using the heuristic
splitter. Update it to work with them properly.

Reviewers: simonmar, austin, bgamari, hvr

Reviewed By: simonmar

Subscribers: RyanGlScott, lippling, rwbarton, thomie

GHC Trac Issues: #14163

Differential Revision: https://phabricator.haskell.org/D3900

(cherry picked from commit 011e15aa2d6949fc56126f1028ea25d5497196d9)
compiler/rename/RnExpr.hs
testsuite/tests/ado/T14163.hs [new file with mode: 0644]
testsuite/tests/ado/T14163.stdin [new file with mode: 0644]
testsuite/tests/ado/T14163.stdout [new file with mode: 0644]
testsuite/tests/ado/all.T