diff options
-rw-r--r-- | testsuite/tests/ghci/scripts/T12447.script | 9 | ||||
-rw-r--r-- | testsuite/tests/ghci/scripts/T12447.stdout | 3 | ||||
-rwxr-xr-x | testsuite/tests/ghci/scripts/all.T | 1 |
3 files changed, 13 insertions, 0 deletions
diff --git a/testsuite/tests/ghci/scripts/T12447.script b/testsuite/tests/ghci/scripts/T12447.script new file mode 100644 index 0000000000..6003a43838 --- /dev/null +++ b/testsuite/tests/ghci/scripts/T12447.script @@ -0,0 +1,9 @@ +:set -XRankNTypes -XConstraintKinds -XTypeApplications + +import Data.Typeable + +class Deferrable p where deferEither :: proxy p -> (p => r) -> Either String r + +instance (Typeable a, Typeable b) => Deferrable (a ~ b) where deferEither = undefined + +:t deferEither @(_ ~ _) diff --git a/testsuite/tests/ghci/scripts/T12447.stdout b/testsuite/tests/ghci/scripts/T12447.stdout new file mode 100644 index 0000000000..67bbc9bcc7 --- /dev/null +++ b/testsuite/tests/ghci/scripts/T12447.stdout @@ -0,0 +1,3 @@ +deferEither @(_ ~ _) + :: Deferrable (w2 ~ w1) => + proxy (w2 ~ w1) -> (w2 ~ w1 => r) -> Either String r diff --git a/testsuite/tests/ghci/scripts/all.T b/testsuite/tests/ghci/scripts/all.T index 6dcc6b7adf..e9a41a966d 100755 --- a/testsuite/tests/ghci/scripts/all.T +++ b/testsuite/tests/ghci/scripts/all.T @@ -266,3 +266,4 @@ test('T12091', ghci_script, ['T12091.script']) test('T12523', normal, ghci_script, ['T12523.script']) test('T12024', normal, ghci_script, ['T12024.script']) +test('T12447', expect_broken(12447), ghci_script, ['T12447.script']) |