From a9311cd53d33439e8fe79967ba5fb85bcd114fec Mon Sep 17 00:00:00 2001 From: Gert-Jan Bottu Date: Mon, 23 Mar 2020 09:36:28 +0100 Subject: Explicit Specificity Implementation for Ticket #16393. Explicit specificity allows users to manually create inferred type variables, by marking them with braces. This way, the user determines which variables can be instantiated through visible type application. The additional syntax is included in the parser, allowing users to write braces in type variable binders (type signatures, data constructors etc). This information is passed along through the renamer and verified in the type checker. The AST for type variable binders, data constructors, pattern synonyms, partial signatures and Template Haskell has been updated to include the specificity of type variables. Minor notes: - Bumps haddock submodule - Disables pattern match checking in GHC.Iface.Type with GHC 8.8 --- testsuite/tests/polykinds/T7022a.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'testsuite/tests/polykinds') diff --git a/testsuite/tests/polykinds/T7022a.hs b/testsuite/tests/polykinds/T7022a.hs index a286fd3c1d..ee71b806c1 100644 --- a/testsuite/tests/polykinds/T7022a.hs +++ b/testsuite/tests/polykinds/T7022a.hs @@ -9,5 +9,5 @@ makeSList :: Q [Dec] makeSList = do a <- newName "a" k <- newName "k" - return [TySynD (mkName "SList") [KindedTV a (AppT ListT (VarT k))] + return [TySynD (mkName "SList") [KindedTV a () (AppT ListT (VarT k))] (AppT (ConT (mkName "Sing")) (VarT a))] -- cgit v1.2.1