From f4b72c61d85f5cad26703af4436c9e03db334ee0 Mon Sep 17 00:00:00 2001
From: Manuel M T Chakravarty <chak@cse.unsw.edu.au>
Date: Tue, 21 Oct 2008 11:58:58 +0000
Subject: [PATCH] T2693

---
 .../ghc-regress/indexed-types/should_fail/T2693.hs    | 11 +++++++++++
 .../indexed-types/should_fail/T2693.stderr            |  7 +++++++
 .../tests/ghc-regress/indexed-types/should_fail/all.T |  1 +
 3 files changed, 19 insertions(+)
 create mode 100644 testsuite/tests/ghc-regress/indexed-types/should_fail/T2693.hs
 create mode 100644 testsuite/tests/ghc-regress/indexed-types/should_fail/T2693.stderr

diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/T2693.hs b/testsuite/tests/ghc-regress/indexed-types/should_fail/T2693.hs
new file mode 100644
index 00000000000..5b0066e948c
--- /dev/null
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/T2693.hs
@@ -0,0 +1,11 @@
+{-# LANGUAGE TypeFamilies #-}
+
+module T2693 where
+
+type family TFn a :: *
+
+f :: Maybe ()
+f = do
+  let Just x = undefined :: Maybe (TFn a)
+  let n = fst x + fst x
+  return ()
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/T2693.stderr b/testsuite/tests/ghc-regress/indexed-types/should_fail/T2693.stderr
new file mode 100644
index 00000000000..f66bd0bed2a
--- /dev/null
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/T2693.stderr
@@ -0,0 +1,7 @@
+
+T2693.hs:10:14:
+    Couldn't match expected type `(a1, b)'
+           against inferred type `TFn a'
+    In the first argument of `fst', namely `x'
+    In the first argument of `(+)', namely `fst x'
+    In the expression: fst x + fst x
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/all.T b/testsuite/tests/ghc-regress/indexed-types/should_fail/all.T
index 61342c85eec..e9e0863d4ab 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/all.T
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/all.T
@@ -46,3 +46,4 @@ test('T1900', normal, compile_fail, [''])
 test('T2157', normal, compile_fail, [''])
 test('T2203a', normal, compile_fail, [''])
 test('T2627b', normal, compile_fail, [''])
+test('T2693', normal, compile_fail, [''])
-- 
GitLab