summaryrefslogtreecommitdiff
path: root/testsuite/tests/printer/Ppr039.hs
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/printer/Ppr039.hs')
-rw-r--r--testsuite/tests/printer/Ppr039.hs30
1 files changed, 30 insertions, 0 deletions
diff --git a/testsuite/tests/printer/Ppr039.hs b/testsuite/tests/printer/Ppr039.hs
new file mode 100644
index 0000000000..3650283986
--- /dev/null
+++ b/testsuite/tests/printer/Ppr039.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE MultiWayIf #-}
+module MultiWayIf where
+
+foo = if | test1 -> e1
+ | test2 witharg -> e2
+ | otherwise -> def
+
+bar = if { | test1 -> if { | test2 -> e1
+ | test3 -> e2 }
+ | test4 -> e3
+ }
+
+-- taken from GHC's test suite
+x = 10
+x1 = if | x < 10 -> "< 10" | otherwise -> ""
+x2 = if | x < 10 -> "< 10"
+ | otherwise -> ""
+x3 = if | x < 10 -> "< 10"
+ | otherwise -> ""
+x4 = if | True -> "yes"
+x5 = if | True -> if | False -> 1 | True -> 2
+
+x6 = if | x < 10 -> if | True -> "yes"
+ | False -> "no"
+ | otherwise -> "maybe"
+
+x7 = (if | True -> 0)
+
+-- issue #98
+spam = if | () <- () -> ()