summaryrefslogtreecommitdiff
path: root/src/GF/Compile
diff options
context:
space:
mode:
Diffstat (limited to 'src/GF/Compile')
-rw-r--r--src/GF/Compile/CheckGrammar.hs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/GF/Compile/CheckGrammar.hs b/src/GF/Compile/CheckGrammar.hs
index 53c8dbab9..6ac23e3b2 100644
--- a/src/GF/Compile/CheckGrammar.hs
+++ b/src/GF/Compile/CheckGrammar.hs
@@ -617,8 +617,9 @@ getOverload env@gr mt t = case appForm t of
---- TODO: use a trie
lookupOverloadInstance tys typs =
[(mkFunType rest val, t) |
- (ty,(val,t)) <- typs,
- let (pre,rest) = splitAt (length tys) ty,
+ let lt = length tys,
+ (ty,(val,t)) <- typs, length ty >= lt,
+ let (pre,rest) = splitAt lt ty,
pre == tys
]