Skip to content

MultiWayIf parse behavior changed in 8.0.2

I just noticed while working on Jenkins that ed7a830d fails to build with GHC 8.0.1 with a parse error, yet succeeds with 8.2.1.

The issue is demonstrated by the following program,

{-# LANGUAGE MultiWayIf #-}
main =
    if | True
       -> putStrLn "hasdf"

Under GHC 8.0.1 this fails to compile with a parse error. Under 8.0.2 and 8.2.1 it parses without any trouble.

We should sort out what the desired parse behavior for MultiWayIf is and add a test to ensure it doesn't change again.

Trac metadata
Trac field Value
Version 8.2.1
Type Bug
TypeOfFailure OtherFailure
Priority high
Resolution Unresolved
Component Compiler (Parser)
Test case
Differential revisions
BlockedBy
Related
Blocking
CC RyanGlScott
Operating system
Architecture
Edited by Ben Gamari
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information