summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compiler/GHC/Builtin/Types/Literals.hs2
-rw-r--r--testsuite/tests/typecheck/should_compile/T14934.hs7
-rw-r--r--testsuite/tests/typecheck/should_compile/T14934a.hs3
3 files changed, 10 insertions, 2 deletions
diff --git a/compiler/GHC/Builtin/Types/Literals.hs b/compiler/GHC/Builtin/Types/Literals.hs
index 19dcba7116..273d084c96 100644
--- a/compiler/GHC/Builtin/Types/Literals.hs
+++ b/compiler/GHC/Builtin/Types/Literals.hs
@@ -541,6 +541,8 @@ typeNatCoAxiomRules = listToUFM $ map (\x -> (coaxrName x, x))
, axAppendSymbolDef
, axConsSymbolDef
, axUnconsSymbolDef
+ , axCharToNatDef
+ , axNatToCharDef
, axAdd0L
, axAdd0R
, axMul0L
diff --git a/testsuite/tests/typecheck/should_compile/T14934.hs b/testsuite/tests/typecheck/should_compile/T14934.hs
index 581e93186e..c4ad6df457 100644
--- a/testsuite/tests/typecheck/should_compile/T14934.hs
+++ b/testsuite/tests/typecheck/should_compile/T14934.hs
@@ -5,5 +5,8 @@ module T14934 where
import T14934a
import GHC.TypeLits
-g :: Foo (1 - 0)
-g = f MkFoo1
+a :: Foo (1 - 0)
+a = f MkFoo1
+
+b :: Foo (CharToNat '\1')
+b = g MkFoo1
diff --git a/testsuite/tests/typecheck/should_compile/T14934a.hs b/testsuite/tests/typecheck/should_compile/T14934a.hs
index 3a4865fffc..c192f6a6a5 100644
--- a/testsuite/tests/typecheck/should_compile/T14934a.hs
+++ b/testsuite/tests/typecheck/should_compile/T14934a.hs
@@ -13,3 +13,6 @@ data Foo :: Nat -> Type where
f :: Foo (1 - 0) -> Foo 1
f x = x
+
+g :: Foo (CharToNat '\1') -> Foo 1
+g x = x