ref: 9b2d009acc6761a5b9328a69773e20f5ee530b15
parent: bdddb0fe46050fc184e0146819e9840611a0e44d
author: Ori Bernstein <orib@google.com>
date: Fri Aug 3 13:20:53 EDT 2012
Don't die if types have no constraints. An empty constraint set is equivalent to no constraints implemented, not a segfault. Treat it as such.
--- a/parse/infer.c
+++ b/parse/infer.c
@@ -298,7 +298,7 @@
if (!a->cstrs)
a->cstrs = mkbs();
setcstr(a, c);
- } else if (!bshas(a->cstrs, c->cid)) {
+ } else if (!a->cstrs || !bshas(a->cstrs, c->cid)) {
fatal(ctx->line, "%s needs %s near %s", tystr(a), c->name, ctxstr(st, ctx));
}
}
--
⑨