summaryrefslogtreecommitdiff
path: root/src/Inky/Term.idr
diff options
context:
space:
mode:
authorGreg Brown <greg.brown01@ed.ac.uk>2024-11-18 17:04:21 +0000
committerGreg Brown <greg.brown01@ed.ac.uk>2024-11-18 17:04:21 +0000
commit3f72d28b7b348d441dde0e66e848ed4d7c16f5ba (patch)
treeb37acc42fd478d307a4e999275b684fea3927d9c /src/Inky/Term.idr
parent6cb440c405868bc1740534731153f877209a325d (diff)
Better type errors within lets.
Diffstat (limited to 'src/Inky/Term.idr')
-rw-r--r--src/Inky/Term.idr10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Inky/Term.idr b/src/Inky/Term.idr
index d6ec466..54ac9fe 100644
--- a/src/Inky/Term.idr
+++ b/src/Inky/Term.idr
@@ -418,6 +418,11 @@ data NotSynths where
LetNS1 :
NotSynths tyEnv tmEnv e ->
NotSynths tyEnv tmEnv (Let meta e (x ** f))
+ LetNS2' :
+ These
+ (NotSynths tyEnv tmEnv (Annot meta' e a))
+ (NotSynths tyEnv (tmEnv :< (x :- sub tyEnv a)) f) ->
+ NotSynths tyEnv tmEnv (Let meta (Annot meta' e a) (x ** f))
LetNS2 :
Synths tyEnv tmEnv e a ->
NotSynths tyEnv (tmEnv :< (x :- a)) f ->
@@ -470,6 +475,11 @@ data NotChecks where
LetNC1 :
NotSynths tyEnv tmEnv e ->
NotChecks tyEnv tmEnv b (Let meta e (x ** t))
+ LetNC2' :
+ These
+ (NotSynths tyEnv tmEnv (Annot meta' e a))
+ (NotChecks tyEnv (tmEnv :< (x :- sub tyEnv a)) b t) ->
+ NotChecks tyEnv tmEnv b (Let meta (Annot meta' e a) (x ** t))
LetNC2 :
Synths tyEnv tmEnv e a ->
NotChecks tyEnv (tmEnv :< (x :- a)) b t ->