aboutsummaryrefslogtreecommitdiffstats
path: root/typing.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'typing.cpp')
-rw-r--r--typing.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/typing.cpp b/typing.cpp
index 488c430..d6f7acc 100644
--- a/typing.cpp
+++ b/typing.cpp
@@ -36,11 +36,9 @@ ASymbol::constrain(TEnv& tenv, Constraints& c) const
if (!addr)
throw Error((format("undefined symbol `%1%'") % cppstr).str(), loc);
AType* t = tenv.deref(addr);
- if (!t)
- throw Error((format("unresolved symbol `%1%'") % cppstr).str(), loc);
- AType* var = tenv.deref(addr);
- var->addr = addr;
- c.push_back(Constraint(tenv.var(this), var, loc));
+ assert(t);
+ t->addr = addr;
+ c.push_back(Constraint(tenv.var(this), t, loc));
}
void