summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBodigrim <andrew.lelechenko@gmail.com>2019-11-20 17:22:17 -0500
committerMarge Bot <ben+marge-bot@smart-cactus.org>2019-12-05 16:07:47 -0500
commit4e47217f85b2006f03e72d0a550fe2cca26cfd93 (patch)
treed524f3a6f38a030326e4ea70c227b8cd3a55d544
parenta2b535d9ef8864b2d314c739a0e788a6df911aaf (diff)
downloadhaskell-4e47217f85b2006f03e72d0a550fe2cca26cfd93.tar.gz
Make sameNat and sameSymbol proxy-polymorphic
-rw-r--r--libraries/base/GHC/TypeLits.hs2
-rw-r--r--libraries/base/GHC/TypeNats.hs2
-rw-r--r--testsuite/tests/ghci/scripts/T9181.stdout6
3 files changed, 4 insertions, 6 deletions
diff --git a/libraries/base/GHC/TypeLits.hs b/libraries/base/GHC/TypeLits.hs
index 1108fd23bd..206e53de11 100644
--- a/libraries/base/GHC/TypeLits.hs
+++ b/libraries/base/GHC/TypeLits.hs
@@ -203,7 +203,7 @@ type family TypeError (a :: ErrorMessage) :: b where
--
-- @since 4.7.0.0
sameSymbol :: (KnownSymbol a, KnownSymbol b) =>
- Proxy a -> Proxy b -> Maybe (a :~: b)
+ proxy1 a -> proxy2 b -> Maybe (a :~: b)
sameSymbol x y
| symbolVal x == symbolVal y = Just (unsafeCoerce Refl)
| otherwise = Nothing
diff --git a/libraries/base/GHC/TypeNats.hs b/libraries/base/GHC/TypeNats.hs
index 48428cb903..da06627118 100644
--- a/libraries/base/GHC/TypeNats.hs
+++ b/libraries/base/GHC/TypeNats.hs
@@ -223,7 +223,7 @@ type family Log2 (m :: Nat) :: Nat
--
-- @since 4.7.0.0
sameNat :: (KnownNat a, KnownNat b) =>
- Proxy a -> Proxy b -> Maybe (a :~: b)
+ proxy1 a -> proxy2 b -> Maybe (a :~: b)
sameNat x y
| natVal x == natVal y = Just (unsafeCoerce Refl)
| otherwise = Nothing
diff --git a/testsuite/tests/ghci/scripts/T9181.stdout b/testsuite/tests/ghci/scripts/T9181.stdout
index 388681ed63..c523624fe2 100644
--- a/testsuite/tests/ghci/scripts/T9181.stdout
+++ b/testsuite/tests/ghci/scripts/T9181.stdout
@@ -32,8 +32,7 @@ GHC.TypeLits.natVal' ::
GHC.TypeNats.KnownNat n => GHC.Prim.Proxy# n -> Integer
GHC.TypeLits.sameSymbol ::
(GHC.TypeLits.KnownSymbol a, GHC.TypeLits.KnownSymbol b) =>
- Data.Proxy.Proxy a
- -> Data.Proxy.Proxy b -> Maybe (a Data.Type.Equality.:~: b)
+ proxy1 a -> proxy2 b -> Maybe (a Data.Type.Equality.:~: b)
GHC.TypeLits.someNatVal :: Integer -> Maybe GHC.TypeNats.SomeNat
GHC.TypeLits.someSymbolVal :: String -> GHC.TypeLits.SomeSymbol
GHC.TypeLits.symbolVal ::
@@ -84,5 +83,4 @@ type (GHC.TypeNats.^) :: GHC.Types.Nat
type family (GHC.TypeNats.^) a b
GHC.TypeNats.sameNat ::
(GHC.TypeNats.KnownNat a, GHC.TypeNats.KnownNat b) =>
- Data.Proxy.Proxy a
- -> Data.Proxy.Proxy b -> Maybe (a Data.Type.Equality.:~: b)
+ proxy1 a -> proxy2 b -> Maybe (a Data.Type.Equality.:~: b)