summaryrefslogtreecommitdiff
path: root/testsuite/tests/partial-sigs
diff options
context:
space:
mode:
authorVladislav Zavialov <vlad.z.4096@gmail.com>2018-06-14 15:02:36 -0400
committerRichard Eisenberg <rae@cs.brynmawr.edu>2018-06-14 15:05:32 -0400
commitd650729f9a0f3b6aa5e6ef2d5fba337f6f70fa60 (patch)
treeac224609397d4b7ca7072fc87739d2522be7675b /testsuite/tests/partial-sigs
parent4672e2ebf040feffde4e7e2d79c479e4c0c3efaf (diff)
downloadhaskell-d650729f9a0f3b6aa5e6ef2d5fba337f6f70fa60.tar.gz
Embrace -XTypeInType, add -XStarIsType
Summary: Implement the "Embrace Type :: Type" GHC proposal, .../ghc-proposals/blob/master/proposals/0020-no-type-in-type.rst GHC 8.0 included a major change to GHC's type system: the Type :: Type axiom. Though casual users were protected from this by hiding its features behind the -XTypeInType extension, all programs written in GHC 8+ have the axiom behind the scenes. In order to preserve backward compatibility, various legacy features were left unchanged. For example, with -XDataKinds but not -XTypeInType, GADTs could not be used in types. Now these restrictions are lifted and -XTypeInType becomes a redundant flag that will be eventually deprecated. * Incorporate the features currently in -XTypeInType into the -XPolyKinds and -XDataKinds extensions. * Introduce a new extension -XStarIsType to control how to parse * in code and whether to print it in error messages. Test Plan: Validate Reviewers: goldfire, hvr, bgamari, alanz, simonpj Reviewed By: goldfire, simonpj Subscribers: rwbarton, thomie, mpickering, carter GHC Trac Issues: #15195 Differential Revision: https://phabricator.haskell.org/D4748
Diffstat (limited to 'testsuite/tests/partial-sigs')
-rw-r--r--testsuite/tests/partial-sigs/should_compile/T15039a.hs12
-rw-r--r--testsuite/tests/partial-sigs/should_compile/T15039a.stderr11
-rw-r--r--testsuite/tests/partial-sigs/should_compile/T15039b.hs12
-rw-r--r--testsuite/tests/partial-sigs/should_compile/T15039b.stderr44
-rw-r--r--testsuite/tests/partial-sigs/should_compile/T15039c.hs12
-rw-r--r--testsuite/tests/partial-sigs/should_compile/T15039c.stderr11
-rw-r--r--testsuite/tests/partial-sigs/should_compile/T15039d.hs12
-rw-r--r--testsuite/tests/partial-sigs/should_compile/T15039d.stderr44
-rw-r--r--testsuite/tests/partial-sigs/should_fail/T14040a.hs2
-rw-r--r--testsuite/tests/partial-sigs/should_fail/T14584.hs2
-rw-r--r--testsuite/tests/partial-sigs/should_fail/T14584.stderr2
11 files changed, 89 insertions, 75 deletions
diff --git a/testsuite/tests/partial-sigs/should_compile/T15039a.hs b/testsuite/tests/partial-sigs/should_compile/T15039a.hs
index 7f32cb8488..3430f14bb9 100644
--- a/testsuite/tests/partial-sigs/should_compile/T15039a.hs
+++ b/testsuite/tests/partial-sigs/should_compile/T15039a.hs
@@ -2,7 +2,7 @@
{-# LANGUAGE GADTs #-}
{-# LANGUAGE PartialTypeSignatures #-}
{-# LANGUAGE ScopedTypeVariables #-}
-{-# LANGUAGE TypeInType #-}
+{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE TypeOperators #-}
{-# OPTIONS_GHC -fdefer-type-errors #-}
module T15039a where
@@ -15,13 +15,13 @@ import Data.Type.Equality
data Dict :: Constraint -> Type where
Dict :: c => Dict c
-ex1 :: Dict ((a :: *) ~ (b :: *)) -> ()
+ex1 :: Dict ((a :: Type) ~ (b :: Type)) -> ()
ex1 (Dict :: _) = ()
-ex2 :: Dict ((a :: *) ~~ (b :: *)) -> ()
+ex2 :: Dict ((a :: Type) ~~ (b :: Type)) -> ()
ex2 (Dict :: _) = ()
-ex3 :: Dict ((a :: *) ~~ (b :: k)) -> ()
+ex3 :: Dict ((a :: Type) ~~ (b :: k)) -> ()
ex3 (Dict :: _) = ()
-- Don't know how to make GHC print an unlifted, nominal equality in an error
@@ -29,10 +29,10 @@ ex3 (Dict :: _) = ()
--
-- ex4, ex5 :: ???
-ex6 :: Dict (Coercible (a :: *) (b :: *)) -> ()
+ex6 :: Dict (Coercible (a :: Type) (b :: Type)) -> ()
ex6 (Dict :: _) = ()
-ex7 :: _ => Coercion (a :: *) (b :: *)
+ex7 :: _ => Coercion (a :: Type) (b :: Type)
ex7 = Coercion
-- Don't know how to make GHC print an unlifted, heterogeneous,
diff --git a/testsuite/tests/partial-sigs/should_compile/T15039a.stderr b/testsuite/tests/partial-sigs/should_compile/T15039a.stderr
index c45e82e5ef..d9c8e1056f 100644
--- a/testsuite/tests/partial-sigs/should_compile/T15039a.stderr
+++ b/testsuite/tests/partial-sigs/should_compile/T15039a.stderr
@@ -4,7 +4,7 @@ T15039a.hs:19:14: warning: [-Wpartial-type-signatures (in -Wdefault)]
Where: ‘a’, ‘b’ are rigid type variables bound by
the type signature for:
ex1 :: forall a b. Dict (a ~ b) -> ()
- at T15039a.hs:18:1-39
+ at T15039a.hs:18:1-45
• In a pattern type signature: _
In the pattern: Dict :: _
In an equation for ‘ex1’: ex1 (Dict :: _) = ()
@@ -16,7 +16,7 @@ T15039a.hs:22:14: warning: [-Wpartial-type-signatures (in -Wdefault)]
Where: ‘a’, ‘b’ are rigid type variables bound by
the type signature for:
ex2 :: forall a b. Dict (a ~ b) -> ()
- at T15039a.hs:21:1-40
+ at T15039a.hs:21:1-46
• In a pattern type signature: _
In the pattern: Dict :: _
In an equation for ‘ex2’: ex2 (Dict :: _) = ()
@@ -28,7 +28,7 @@ T15039a.hs:25:14: warning: [-Wpartial-type-signatures (in -Wdefault)]
Where: ‘a’, ‘b’, ‘k’ are rigid type variables bound by
the type signature for:
ex3 :: forall k a (b :: k). Dict (a ~~ b) -> ()
- at T15039a.hs:24:1-40
+ at T15039a.hs:24:1-43
• In a pattern type signature: _
In the pattern: Dict :: _
In an equation for ‘ex3’: ex3 (Dict :: _) = ()
@@ -40,7 +40,7 @@ T15039a.hs:33:14: warning: [-Wpartial-type-signatures (in -Wdefault)]
Where: ‘a’, ‘b’ are rigid type variables bound by
the type signature for:
ex6 :: forall a b. Dict (Coercible a b) -> ()
- at T15039a.hs:32:1-47
+ at T15039a.hs:32:1-53
• In a pattern type signature: _
In the pattern: Dict :: _
In an equation for ‘ex6’: ex6 (Dict :: _) = ()
@@ -52,4 +52,5 @@ T15039a.hs:35:8: warning: [-Wpartial-type-signatures (in -Wdefault)]
Where: ‘a’, ‘b’ are rigid type variables bound by
the inferred type of ex7 :: Coercible a b => Coercion a b
at T15039a.hs:36:1-14
- • In the type signature: ex7 :: _ => Coercion (a :: *) (b :: *)
+ • In the type signature:
+ ex7 :: _ => Coercion (a :: Type) (b :: Type)
diff --git a/testsuite/tests/partial-sigs/should_compile/T15039b.hs b/testsuite/tests/partial-sigs/should_compile/T15039b.hs
index 4966059912..5069e04655 100644
--- a/testsuite/tests/partial-sigs/should_compile/T15039b.hs
+++ b/testsuite/tests/partial-sigs/should_compile/T15039b.hs
@@ -2,7 +2,7 @@
{-# LANGUAGE GADTs #-}
{-# LANGUAGE PartialTypeSignatures #-}
{-# LANGUAGE ScopedTypeVariables #-}
-{-# LANGUAGE TypeInType #-}
+{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE TypeOperators #-}
{-# OPTIONS_GHC -fdefer-type-errors #-}
module T15039b where
@@ -15,13 +15,13 @@ import Data.Type.Equality
data Dict :: Constraint -> Type where
Dict :: c => Dict c
-ex1 :: Dict ((a :: *) ~ (b :: *)) -> ()
+ex1 :: Dict ((a :: Type) ~ (b :: Type)) -> ()
ex1 (Dict :: _) = ()
-ex2 :: Dict ((a :: *) ~~ (b :: *)) -> ()
+ex2 :: Dict ((a :: Type) ~~ (b :: Type)) -> ()
ex2 (Dict :: _) = ()
-ex3 :: Dict ((a :: *) ~~ (b :: k)) -> ()
+ex3 :: Dict ((a :: Type) ~~ (b :: k)) -> ()
ex3 (Dict :: _) = ()
-- Don't know how to make GHC print an unlifted, nominal equality in an error
@@ -29,10 +29,10 @@ ex3 (Dict :: _) = ()
--
-- ex4, ex5 :: ???
-ex6 :: Dict (Coercible (a :: *) (b :: *)) -> ()
+ex6 :: Dict (Coercible (a :: Type) (b :: Type)) -> ()
ex6 (Dict :: _) = ()
-ex7 :: _ => Coercion (a :: *) (b :: *)
+ex7 :: _ => Coercion (a :: Type) (b :: Type)
ex7 = Coercion
-- Don't know how to make GHC print an unlifted, heterogeneous,
diff --git a/testsuite/tests/partial-sigs/should_compile/T15039b.stderr b/testsuite/tests/partial-sigs/should_compile/T15039b.stderr
index dffde1c8f1..020c253516 100644
--- a/testsuite/tests/partial-sigs/should_compile/T15039b.stderr
+++ b/testsuite/tests/partial-sigs/should_compile/T15039b.stderr
@@ -1,56 +1,62 @@
T15039b.hs:19:14: warning: [-Wpartial-type-signatures (in -Wdefault)]
- • Found type wildcard ‘_’ standing for ‘Dict ((a :: *) ~ (b :: *))’
+ • Found type wildcard ‘_’
+ standing for ‘Dict ((a :: Type) ~ (b :: Type))’
Where: ‘a’, ‘b’ are rigid type variables bound by
the type signature for:
- ex1 :: forall a b. Dict ((a :: *) ~ (b :: *)) -> ()
- at T15039b.hs:18:1-39
+ ex1 :: forall a b. Dict ((a :: Type) ~ (b :: Type)) -> ()
+ at T15039b.hs:18:1-45
• In a pattern type signature: _
In the pattern: Dict :: _
In an equation for ‘ex1’: ex1 (Dict :: _) = ()
• Relevant bindings include
- ex1 :: Dict ((a :: *) ~ (b :: *)) -> () (bound at T15039b.hs:19:1)
+ ex1 :: Dict ((a :: Type) ~ (b :: Type)) -> ()
+ (bound at T15039b.hs:19:1)
T15039b.hs:22:14: warning: [-Wpartial-type-signatures (in -Wdefault)]
- • Found type wildcard ‘_’ standing for ‘Dict ((a :: *) ~ (b :: *))’
+ • Found type wildcard ‘_’
+ standing for ‘Dict ((a :: Type) ~ (b :: Type))’
Where: ‘a’, ‘b’ are rigid type variables bound by
the type signature for:
- ex2 :: forall a b. Dict ((a :: *) ~ (b :: *)) -> ()
- at T15039b.hs:21:1-40
+ ex2 :: forall a b. Dict ((a :: Type) ~ (b :: Type)) -> ()
+ at T15039b.hs:21:1-46
• In a pattern type signature: _
In the pattern: Dict :: _
In an equation for ‘ex2’: ex2 (Dict :: _) = ()
• Relevant bindings include
- ex2 :: Dict ((a :: *) ~ (b :: *)) -> () (bound at T15039b.hs:22:1)
+ ex2 :: Dict ((a :: Type) ~ (b :: Type)) -> ()
+ (bound at T15039b.hs:22:1)
T15039b.hs:25:14: warning: [-Wpartial-type-signatures (in -Wdefault)]
• Found type wildcard ‘_’
- standing for ‘Dict ((a :: *) ~~ (b :: k))’
+ standing for ‘Dict ((a :: Type) ~~ (b :: k))’
Where: ‘a’, ‘b’, ‘k’ are rigid type variables bound by
the type signature for:
- ex3 :: forall k a (b :: k). Dict ((a :: *) ~~ (b :: k)) -> ()
- at T15039b.hs:24:1-40
+ ex3 :: forall k a (b :: k). Dict ((a :: Type) ~~ (b :: k)) -> ()
+ at T15039b.hs:24:1-43
• In a pattern type signature: _
In the pattern: Dict :: _
In an equation for ‘ex3’: ex3 (Dict :: _) = ()
• Relevant bindings include
- ex3 :: Dict ((a :: *) ~~ (b :: k)) -> () (bound at T15039b.hs:25:1)
+ ex3 :: Dict ((a :: Type) ~~ (b :: k)) -> ()
+ (bound at T15039b.hs:25:1)
T15039b.hs:33:14: warning: [-Wpartial-type-signatures (in -Wdefault)]
- • Found type wildcard ‘_’ standing for ‘Dict (Coercible * a b)’
+ • Found type wildcard ‘_’ standing for ‘Dict (Coercible Type a b)’
Where: ‘a’, ‘b’ are rigid type variables bound by
the type signature for:
- ex6 :: forall a b. Dict (Coercible * a b) -> ()
- at T15039b.hs:32:1-47
+ ex6 :: forall a b. Dict (Coercible Type a b) -> ()
+ at T15039b.hs:32:1-53
• In a pattern type signature: _
In the pattern: Dict :: _
In an equation for ‘ex6’: ex6 (Dict :: _) = ()
• Relevant bindings include
- ex6 :: Dict (Coercible * a b) -> () (bound at T15039b.hs:33:1)
+ ex6 :: Dict (Coercible Type a b) -> () (bound at T15039b.hs:33:1)
T15039b.hs:35:8: warning: [-Wpartial-type-signatures (in -Wdefault)]
- • Found type wildcard ‘_’ standing for ‘Coercible * a b’
+ • Found type wildcard ‘_’ standing for ‘Coercible Type a b’
Where: ‘a’, ‘b’ are rigid type variables bound by
- the inferred type of ex7 :: Coercible * a b => Coercion * a b
+ the inferred type of ex7 :: Coercible Type a b => Coercion Type a b
at T15039b.hs:36:1-14
- • In the type signature: ex7 :: _ => Coercion (a :: *) (b :: *)
+ • In the type signature:
+ ex7 :: _ => Coercion (a :: Type) (b :: Type)
diff --git a/testsuite/tests/partial-sigs/should_compile/T15039c.hs b/testsuite/tests/partial-sigs/should_compile/T15039c.hs
index aa54c4e919..062404766f 100644
--- a/testsuite/tests/partial-sigs/should_compile/T15039c.hs
+++ b/testsuite/tests/partial-sigs/should_compile/T15039c.hs
@@ -2,7 +2,7 @@
{-# LANGUAGE GADTs #-}
{-# LANGUAGE PartialTypeSignatures #-}
{-# LANGUAGE ScopedTypeVariables #-}
-{-# LANGUAGE TypeInType #-}
+{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE TypeOperators #-}
{-# OPTIONS_GHC -fdefer-type-errors #-}
module T15039c where
@@ -15,13 +15,13 @@ import Data.Type.Equality
data Dict :: Constraint -> Type where
Dict :: c => Dict c
-ex1 :: Dict ((a :: *) ~ (b :: *)) -> ()
+ex1 :: Dict ((a :: Type) ~ (b :: Type)) -> ()
ex1 (Dict :: _) = ()
-ex2 :: Dict ((a :: *) ~~ (b :: *)) -> ()
+ex2 :: Dict ((a :: Type) ~~ (b :: Type)) -> ()
ex2 (Dict :: _) = ()
-ex3 :: Dict ((a :: *) ~~ (b :: k)) -> ()
+ex3 :: Dict ((a :: Type) ~~ (b :: k)) -> ()
ex3 (Dict :: _) = ()
-- Don't know how to make GHC print an unlifted, nominal equality in an error
@@ -29,10 +29,10 @@ ex3 (Dict :: _) = ()
--
-- ex4, ex5 :: ???
-ex6 :: Dict (Coercible (a :: *) (b :: *)) -> ()
+ex6 :: Dict (Coercible (a :: Type) (b :: Type)) -> ()
ex6 (Dict :: _) = ()
-ex7 :: _ => Coercion (a :: *) (b :: *)
+ex7 :: _ => Coercion (a :: Type) (b :: Type)
ex7 = Coercion
-- Don't know how to make GHC print an unlifted, heterogeneous,
diff --git a/testsuite/tests/partial-sigs/should_compile/T15039c.stderr b/testsuite/tests/partial-sigs/should_compile/T15039c.stderr
index bf3aff1081..29989c2cdc 100644
--- a/testsuite/tests/partial-sigs/should_compile/T15039c.stderr
+++ b/testsuite/tests/partial-sigs/should_compile/T15039c.stderr
@@ -4,7 +4,7 @@ T15039c.hs:19:14: warning: [-Wpartial-type-signatures (in -Wdefault)]
Where: ‘a’, ‘b’ are rigid type variables bound by
the type signature for:
ex1 :: forall a b. Dict (a ~ b) -> ()
- at T15039c.hs:18:1-39
+ at T15039c.hs:18:1-45
• In a pattern type signature: _
In the pattern: Dict :: _
In an equation for ‘ex1’: ex1 (Dict :: _) = ()
@@ -16,7 +16,7 @@ T15039c.hs:22:14: warning: [-Wpartial-type-signatures (in -Wdefault)]
Where: ‘a’, ‘b’ are rigid type variables bound by
the type signature for:
ex2 :: forall a b. Dict (a ~~ b) -> ()
- at T15039c.hs:21:1-40
+ at T15039c.hs:21:1-46
• In a pattern type signature: _
In the pattern: Dict :: _
In an equation for ‘ex2’: ex2 (Dict :: _) = ()
@@ -28,7 +28,7 @@ T15039c.hs:25:14: warning: [-Wpartial-type-signatures (in -Wdefault)]
Where: ‘a’, ‘b’, ‘k’ are rigid type variables bound by
the type signature for:
ex3 :: forall k a (b :: k). Dict (a ~~ b) -> ()
- at T15039c.hs:24:1-40
+ at T15039c.hs:24:1-43
• In a pattern type signature: _
In the pattern: Dict :: _
In an equation for ‘ex3’: ex3 (Dict :: _) = ()
@@ -40,7 +40,7 @@ T15039c.hs:33:14: warning: [-Wpartial-type-signatures (in -Wdefault)]
Where: ‘a’, ‘b’ are rigid type variables bound by
the type signature for:
ex6 :: forall a b. Dict (Coercible a b) -> ()
- at T15039c.hs:32:1-47
+ at T15039c.hs:32:1-53
• In a pattern type signature: _
In the pattern: Dict :: _
In an equation for ‘ex6’: ex6 (Dict :: _) = ()
@@ -52,4 +52,5 @@ T15039c.hs:35:8: warning: [-Wpartial-type-signatures (in -Wdefault)]
Where: ‘a’, ‘b’ are rigid type variables bound by
the inferred type of ex7 :: (a ~R# b) => Coercion a b
at T15039c.hs:36:1-14
- • In the type signature: ex7 :: _ => Coercion (a :: *) (b :: *)
+ • In the type signature:
+ ex7 :: _ => Coercion (a :: Type) (b :: Type)
diff --git a/testsuite/tests/partial-sigs/should_compile/T15039d.hs b/testsuite/tests/partial-sigs/should_compile/T15039d.hs
index 3b5a5a27c3..7a87244f99 100644
--- a/testsuite/tests/partial-sigs/should_compile/T15039d.hs
+++ b/testsuite/tests/partial-sigs/should_compile/T15039d.hs
@@ -2,7 +2,7 @@
{-# LANGUAGE GADTs #-}
{-# LANGUAGE PartialTypeSignatures #-}
{-# LANGUAGE ScopedTypeVariables #-}
-{-# LANGUAGE TypeInType #-}
+{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE TypeOperators #-}
{-# OPTIONS_GHC -fdefer-type-errors #-}
module T15039d where
@@ -15,13 +15,13 @@ import Data.Type.Equality
data Dict :: Constraint -> Type where
Dict :: c => Dict c
-ex1 :: Dict ((a :: *) ~ (b :: *)) -> ()
+ex1 :: Dict ((a :: Type) ~ (b :: Type)) -> ()
ex1 (Dict :: _) = ()
-ex2 :: Dict ((a :: *) ~~ (b :: *)) -> ()
+ex2 :: Dict ((a :: Type) ~~ (b :: Type)) -> ()
ex2 (Dict :: _) = ()
-ex3 :: Dict ((a :: *) ~~ (b :: k)) -> ()
+ex3 :: Dict ((a :: Type) ~~ (b :: k)) -> ()
ex3 (Dict :: _) = ()
-- Don't know how to make GHC print an unlifted, nominal equality in an error
@@ -29,10 +29,10 @@ ex3 (Dict :: _) = ()
--
-- ex4, ex5 :: ???
-ex6 :: Dict (Coercible (a :: *) (b :: *)) -> ()
+ex6 :: Dict (Coercible (a :: Type) (b :: Type)) -> ()
ex6 (Dict :: _) = ()
-ex7 :: _ => Coercion (a :: *) (b :: *)
+ex7 :: _ => Coercion (a :: Type) (b :: Type)
ex7 = Coercion
-- Don't know how to make GHC print an unlifted, heterogeneous,
diff --git a/testsuite/tests/partial-sigs/should_compile/T15039d.stderr b/testsuite/tests/partial-sigs/should_compile/T15039d.stderr
index 8595955f87..6c6e1a0c24 100644
--- a/testsuite/tests/partial-sigs/should_compile/T15039d.stderr
+++ b/testsuite/tests/partial-sigs/should_compile/T15039d.stderr
@@ -1,58 +1,64 @@
T15039d.hs:19:14: warning: [-Wpartial-type-signatures (in -Wdefault)]
- • Found type wildcard ‘_’ standing for ‘Dict ((a :: *) ~ (b :: *))’
+ • Found type wildcard ‘_’
+ standing for ‘Dict ((a :: Type) ~ (b :: Type))’
Where: ‘a’, ‘b’ are rigid type variables bound by
the type signature for:
- ex1 :: forall a b. Dict ((a :: *) ~ (b :: *)) -> ()
- at T15039d.hs:18:1-39
+ ex1 :: forall a b. Dict ((a :: Type) ~ (b :: Type)) -> ()
+ at T15039d.hs:18:1-45
• In a pattern type signature: _
In the pattern: Dict :: _
In an equation for ‘ex1’: ex1 (Dict :: _) = ()
• Relevant bindings include
- ex1 :: Dict ((a :: *) ~ (b :: *)) -> () (bound at T15039d.hs:19:1)
+ ex1 :: Dict ((a :: Type) ~ (b :: Type)) -> ()
+ (bound at T15039d.hs:19:1)
T15039d.hs:22:14: warning: [-Wpartial-type-signatures (in -Wdefault)]
• Found type wildcard ‘_’
- standing for ‘Dict ((a :: *) ~~ (b :: *))’
+ standing for ‘Dict ((a :: Type) ~~ (b :: Type))’
Where: ‘a’, ‘b’ are rigid type variables bound by
the type signature for:
- ex2 :: forall a b. Dict ((a :: *) ~~ (b :: *)) -> ()
- at T15039d.hs:21:1-40
+ ex2 :: forall a b. Dict ((a :: Type) ~~ (b :: Type)) -> ()
+ at T15039d.hs:21:1-46
• In a pattern type signature: _
In the pattern: Dict :: _
In an equation for ‘ex2’: ex2 (Dict :: _) = ()
• Relevant bindings include
- ex2 :: Dict ((a :: *) ~~ (b :: *)) -> () (bound at T15039d.hs:22:1)
+ ex2 :: Dict ((a :: Type) ~~ (b :: Type)) -> ()
+ (bound at T15039d.hs:22:1)
T15039d.hs:25:14: warning: [-Wpartial-type-signatures (in -Wdefault)]
• Found type wildcard ‘_’
- standing for ‘Dict ((a :: *) ~~ (b :: k))’
+ standing for ‘Dict ((a :: Type) ~~ (b :: k))’
Where: ‘a’, ‘b’, ‘k’ are rigid type variables bound by
the type signature for:
- ex3 :: forall k a (b :: k). Dict ((a :: *) ~~ (b :: k)) -> ()
- at T15039d.hs:24:1-40
+ ex3 :: forall k a (b :: k). Dict ((a :: Type) ~~ (b :: k)) -> ()
+ at T15039d.hs:24:1-43
• In a pattern type signature: _
In the pattern: Dict :: _
In an equation for ‘ex3’: ex3 (Dict :: _) = ()
• Relevant bindings include
- ex3 :: Dict ((a :: *) ~~ (b :: k)) -> () (bound at T15039d.hs:25:1)
+ ex3 :: Dict ((a :: Type) ~~ (b :: k)) -> ()
+ (bound at T15039d.hs:25:1)
T15039d.hs:33:14: warning: [-Wpartial-type-signatures (in -Wdefault)]
- • Found type wildcard ‘_’ standing for ‘Dict (Coercible * a b)’
+ • Found type wildcard ‘_’ standing for ‘Dict (Coercible Type a b)’
Where: ‘a’, ‘b’ are rigid type variables bound by
the type signature for:
- ex6 :: forall a b. Dict (Coercible * a b) -> ()
- at T15039d.hs:32:1-47
+ ex6 :: forall a b. Dict (Coercible Type a b) -> ()
+ at T15039d.hs:32:1-53
• In a pattern type signature: _
In the pattern: Dict :: _
In an equation for ‘ex6’: ex6 (Dict :: _) = ()
• Relevant bindings include
- ex6 :: Dict (Coercible * a b) -> () (bound at T15039d.hs:33:1)
+ ex6 :: Dict (Coercible Type a b) -> () (bound at T15039d.hs:33:1)
T15039d.hs:35:8: warning: [-Wpartial-type-signatures (in -Wdefault)]
- • Found type wildcard ‘_’ standing for ‘(a :: *) ~R# (b :: *)’
+ • Found type wildcard ‘_’
+ standing for ‘(a :: Type) ~R# (b :: Type)’
Where: ‘a’, ‘b’ are rigid type variables bound by
the inferred type of
- ex7 :: ((a :: *) ~R# (b :: *)) => Coercion * a b
+ ex7 :: ((a :: Type) ~R# (b :: Type)) => Coercion Type a b
at T15039d.hs:36:1-14
- • In the type signature: ex7 :: _ => Coercion (a :: *) (b :: *)
+ • In the type signature:
+ ex7 :: _ => Coercion (a :: Type) (b :: Type)
diff --git a/testsuite/tests/partial-sigs/should_fail/T14040a.hs b/testsuite/tests/partial-sigs/should_fail/T14040a.hs
index 382e21823c..2985339f49 100644
--- a/testsuite/tests/partial-sigs/should_fail/T14040a.hs
+++ b/testsuite/tests/partial-sigs/should_fail/T14040a.hs
@@ -3,7 +3,7 @@
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
-{-# LANGUAGE TypeInType #-}
+{-# LANGUAGE DataKinds, PolyKinds #-}
module T14040a where
import Data.Kind
diff --git a/testsuite/tests/partial-sigs/should_fail/T14584.hs b/testsuite/tests/partial-sigs/should_fail/T14584.hs
index 508725eec7..1615b26205 100644
--- a/testsuite/tests/partial-sigs/should_fail/T14584.hs
+++ b/testsuite/tests/partial-sigs/should_fail/T14584.hs
@@ -17,10 +17,10 @@
{-# Language FunctionalDependencies #-}
{-# Language UndecidableSuperClasses #-}
{-# Language UndecidableInstances #-}
-{-# Language TypeInType #-}
{-# Language AllowAmbiguousTypes #-}
{-# Language InstanceSigs, TypeApplications #-}
+
module T14584 where
import Data.Monoid
diff --git a/testsuite/tests/partial-sigs/should_fail/T14584.stderr b/testsuite/tests/partial-sigs/should_fail/T14584.stderr
index b7531aa2ce..c53c822ba3 100644
--- a/testsuite/tests/partial-sigs/should_fail/T14584.stderr
+++ b/testsuite/tests/partial-sigs/should_fail/T14584.stderr
@@ -11,7 +11,7 @@ T14584.hs:56:41: warning: [-Wdeferred-type-errors (in -Wdefault)]
act @_ @_ @act (fromSing @m (sing @m @a :: Sing _))
T14584.hs:56:50: warning: [-Wdeferred-type-errors (in -Wdefault)]
- • Expected kind ‘m1’, but ‘a’ has kind ‘*’
+ • Expected kind ‘m1’, but ‘a’ has kind ‘Type’
• In the type ‘a’
In the second argument of ‘fromSing’, namely
‘(sing @m @a :: Sing _)’