diff options
author | Vladislav Zavialov <vlad.z.4096@gmail.com> | 2018-06-14 15:02:36 -0400 |
---|---|---|
committer | Richard Eisenberg <rae@cs.brynmawr.edu> | 2018-06-14 15:05:32 -0400 |
commit | d650729f9a0f3b6aa5e6ef2d5fba337f6f70fa60 (patch) | |
tree | ac224609397d4b7ca7072fc87739d2522be7675b /testsuite/tests/partial-sigs | |
parent | 4672e2ebf040feffde4e7e2d79c479e4c0c3efaf (diff) | |
download | haskell-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')
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 _)’ |