summaryrefslogtreecommitdiff
path: root/testsuite/tests/ghci/prog006
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/ghci/prog006')
-rw-r--r--testsuite/tests/ghci/prog006/A.hs6
-rw-r--r--testsuite/tests/ghci/prog006/Boot.hs-boot3
-rw-r--r--testsuite/tests/ghci/prog006/Boot1.hs5
-rw-r--r--testsuite/tests/ghci/prog006/Boot2.hs6
-rw-r--r--testsuite/tests/ghci/prog006/Makefile3
-rw-r--r--testsuite/tests/ghci/prog006/prog006.T1
-rw-r--r--testsuite/tests/ghci/prog006/prog006.script6
-rw-r--r--testsuite/tests/ghci/prog006/prog006.stderr4
8 files changed, 34 insertions, 0 deletions
diff --git a/testsuite/tests/ghci/prog006/A.hs b/testsuite/tests/ghci/prog006/A.hs
new file mode 100644
index 0000000000..cc38a11890
--- /dev/null
+++ b/testsuite/tests/ghci/prog006/A.hs
@@ -0,0 +1,6 @@
+module A where
+
+import {-# source #-} Boot
+
+class Class a where
+ method :: a -> Data -> a
diff --git a/testsuite/tests/ghci/prog006/Boot.hs-boot b/testsuite/tests/ghci/prog006/Boot.hs-boot
new file mode 100644
index 0000000000..5d95f574d6
--- /dev/null
+++ b/testsuite/tests/ghci/prog006/Boot.hs-boot
@@ -0,0 +1,3 @@
+module Boot where
+
+data Data
diff --git a/testsuite/tests/ghci/prog006/Boot1.hs b/testsuite/tests/ghci/prog006/Boot1.hs
new file mode 100644
index 0000000000..0625737342
--- /dev/null
+++ b/testsuite/tests/ghci/prog006/Boot1.hs
@@ -0,0 +1,5 @@
+module Boot where
+
+import A
+
+data Data = forall n. Class n => D n
diff --git a/testsuite/tests/ghci/prog006/Boot2.hs b/testsuite/tests/ghci/prog006/Boot2.hs
new file mode 100644
index 0000000000..5e7297e448
--- /dev/null
+++ b/testsuite/tests/ghci/prog006/Boot2.hs
@@ -0,0 +1,6 @@
+{-# LANGUAGE ExistentialQuantification #-}
+module Boot where
+
+import A
+
+data Data = forall n. Class n => D n
diff --git a/testsuite/tests/ghci/prog006/Makefile b/testsuite/tests/ghci/prog006/Makefile
new file mode 100644
index 0000000000..9101fbd40a
--- /dev/null
+++ b/testsuite/tests/ghci/prog006/Makefile
@@ -0,0 +1,3 @@
+TOP=../../..
+include $(TOP)/mk/boilerplate.mk
+include $(TOP)/mk/test.mk
diff --git a/testsuite/tests/ghci/prog006/prog006.T b/testsuite/tests/ghci/prog006/prog006.T
new file mode 100644
index 0000000000..04f3a7c61b
--- /dev/null
+++ b/testsuite/tests/ghci/prog006/prog006.T
@@ -0,0 +1 @@
+test('prog006', extra_clean(['Boot.hs']), ghci_script, ['prog006.script'])
diff --git a/testsuite/tests/ghci/prog006/prog006.script b/testsuite/tests/ghci/prog006/prog006.script
new file mode 100644
index 0000000000..4ca4c90a3d
--- /dev/null
+++ b/testsuite/tests/ghci/prog006/prog006.script
@@ -0,0 +1,6 @@
+:! cp Boot1.hs Boot.hs
+:l Boot.hs
+:! sleep 1
+:! cp Boot2.hs Boot.hs
+:r
+
diff --git a/testsuite/tests/ghci/prog006/prog006.stderr b/testsuite/tests/ghci/prog006/prog006.stderr
new file mode 100644
index 0000000000..0001208e2d
--- /dev/null
+++ b/testsuite/tests/ghci/prog006/prog006.stderr
@@ -0,0 +1,4 @@
+
+Boot.hs:5:13:
+ Not a data constructor: ‛forall’
+ Perhaps you intended to use ExistentialQuantification