}
const Func_Def fdef = fptr->base->func->def;
CHECK_OB((fdef->base->ret_type = scan1_type(env, fdef->base->td)))
- return fdef->base->args ? scan1_args(env, fdef->base->args) : GW_OK;
+ if(!fdef->base->args)
+ return GW_OK;
+ ++env->scope->depth;
+ const m_bool ret = scan1_args(env, fdef->base->args);
+ --env->scope->depth;
+ return ret;
}
ANN m_bool scan1_type_def(const Env env, const Type_Def tdef) {
ANN m_bool scan2_fptr_def(const Env env NUSED, const Fptr_Def fptr) {
if(!tmpl_base(fptr->base->tmpl)) {
const Func_Def def = fptr->type->e->d.func->def;
- if(def->base->args)
- CHECK_BB(scan2_args(def))
+ if(def->base->args) {
+ ++env->scope->depth;
+ const m_bool ret = scan2_args(def);
+ --env->scope->depth;
+ return ret;
+ }
} else
SET_FLAG(fptr->type, func);
return GW_OK;