Test Trac #10931
authorSimon Peyton Jones <simonpj@microsoft.com>
Tue, 6 Oct 2015 11:43:10 +0000 (12:43 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Mon, 12 Oct 2015 15:24:16 +0000 (16:24 +0100)
testsuite/tests/indexed-types/should_compile/T10931.hs [new file with mode: 0644]
testsuite/tests/indexed-types/should_compile/all.T

diff --git a/testsuite/tests/indexed-types/should_compile/T10931.hs b/testsuite/tests/indexed-types/should_compile/T10931.hs
new file mode 100644 (file)
index 0000000..2c0ea20
--- /dev/null
@@ -0,0 +1,25 @@
+{-# LANGUAGE FlexibleContexts #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE RankNTypes #-}
+
+{-# OPTIONS_GHC -Wall #-}
+
+module T10931 ( BugC(..) ) where
+
+data IdT f a = IdC (f a)
+
+class ( m ~ Outer m (Inner m) ) => BugC (m :: * -> *) where
+    type Inner m :: * -> *
+    type Outer m :: (* -> *) -> * -> *
+
+    bug :: ( forall n. ( n ~ Outer n (Inner n)
+                       , Outer n ~ Outer m
+                       )
+            => Inner n a)
+        -> m a
+
+instance BugC (IdT m) where
+    type Inner (IdT m) = m
+    type Outer (IdT m) = IdT
+
+    bug f = IdC f
index b98f963..39b8a3a 100644 (file)
@@ -264,3 +264,4 @@ test('T10713', normal, compile, [''])
 test('T10753', normal, compile, [''])
 test('T10806', normal, compile_fail, [''])
 test('T10815', normal, compile, [''])
+test('T10931', normal, compile, [''])