]> Nishi Git Mirror - gwion.git/commitdiff
:art: Type_check td->exp in a scope of its own
authorJérémie Astor <astor.jeremie@wanadoo.fr>
Thu, 10 Sep 2020 21:21:50 +0000 (23:21 +0200)
committerJérémie Astor <astor.jeremie@wanadoo.fr>
Thu, 10 Sep 2020 21:21:57 +0000 (23:21 +0200)
src/parse/check.c

index c69730729ff25b5b2f0b0b0cbeaa8fed6983a32d..18381e036ababea3e022f428c25dce32859db99b 100644 (file)
@@ -84,17 +84,17 @@ ANN static m_bool check_fptr_decl(const Env env, const Var_Decl var) {
   return GW_OK;
 }
 
-ANN Type check_td(const Env env, Type_Decl *td) {
-  CHECK_BO(scan1_exp(env, td->exp))
-  CHECK_BO(scan2_exp(env, td->exp))
-  CHECK_OO(check_exp(env, td->exp))
+ANN static inline m_bool check_td_exp(const Env env, Type_Decl *td) {
+  RET_NSPC(traverse_exp(env, td->exp))
+}
+
+ANN static Type check_td(const Env env, Type_Decl *td) {
+  CHECK_BO(check_td_exp(env, td))
   const Type t = actual_type(env->gwion, td->exp->info->type);
   assert(t);
   if(GET_FLAG(t, template) && !GET_FLAG(t, ref))
     ERR_O(td_pos(td), _("type '%s' needs template types"), t->name)
-  td->xid = insert_symbol("@resolved");
-  if(t->array_depth)
-    SET_FLAG(td, force);
+  td->xid = insert_symbol("auto");
   return t;
 }