}
static ANN int fdef_is_file_global(const Emitter emit, const Func_Def fdef) {
- return isa(fdef->base->func->value_ref->type, emit->gwion->type[et_lambda]) < 0 &&
+ return !fbflag(fdef->base, fbflag_lambda) &&
!emit->env->class_def && !GET_FLAG(fdef->base, global) && !fdef->base->tmpl &&
!emit->env->scope->depth;
}
}
prim_self(data)->value = v;
if(env->func) {
- if(isa(env->func->value_ref->type, env->gwion->type[et_lambda]) > 0)
+ if(fbflag(env->func->def->base, fbflag_lambda))
check_upvalue(env, prim_self(data));
if(env->func && !GET_FLAG(v, const) && v->from->owner)
unset_fflag(env->func, fflag_pure);