ANN Type get_type(const Type t);
ANN m_bool check_subscripts(const Env, const Array_Sub, const m_bool is_decl);
ANN m_bool check_implicit(const Env env, const Exp e, const Type t);
+ANN m_bool ensure_traverse(const Env env, const Type t);
+ANN m_bool check_traverse_fdef(const Env env, const Func_Def fdef);
#endif
DECL_ON(const Type, t, = known_type(env, cast->td)) // was type_decl_resolve
const Type _t = get_type(t);
if(_t->e->def && !GET_FLAG(_t, check))
- CHECK_BN(traverse_class_def(env, _t->e->def))
+ CHECK_BN(ensure_traverse(env, _t))
const Type to = known_type(env, cast->td->types->td);
if(isa(cast->exp->info->type, to) > 0)
return t;
return envset_run(&es, t);
}
-ANN static inline m_bool ensure_traverse(const Env env, const Type t) {
+ANN m_bool ensure_traverse(const Env env, const Type t) {
struct EnvSet es = { .env=env, .data=env, .func=(_exp_func)traverse_cdef,
.scope=env->scope->depth, .flag=ae_flag_check };
return envset_run(&es, t);