ANN static Type check_exp_binary(const Env env, const Exp_Binary* bin) {
CHECK_OO(check_exp(env, bin->lhs))
- const is_auto = bin->rhs->exp_type == ae_exp_decl && bin->rhs->d.exp_decl.type == env->gwion->type[et_auto];
+ const m_bool is_auto = bin->rhs->exp_type == ae_exp_decl && bin->rhs->d.exp_decl.type == env->gwion->type[et_auto];
if(is_auto)
bin->rhs->type = bin->rhs->d.exp_decl.type = bin->lhs->type;
CHECK_OO(check_exp(env, bin->rhs))
ANN static Type func_type(const Env env, const Func func) {
const Type t = type_copy(env->gwion->mp, env->gwion->type[func->def->base->td ? et_function : et_lambda]);
+ t->xid = ++env->scope->type_xid;
+// = type_copy(env->gwion->mp, env->gwion->type[func->def->base->td ? et_function : et_lambda]);
+ t->e->parent = env->gwion->type[func->def->base->td ? et_function : et_lambda];
t->name = func->name;
t->e->owner = env->curr;
if(GET_FLAG(func, member))