]> Nishi Git Mirror - gwion.git/commitdiff
:art: try index_is_int
authorfennecdjay <astor.jeremie@wanadoo.fr>
Tue, 1 Oct 2019 19:26:14 +0000 (21:26 +0200)
committerfennecdjay <astor.jeremie@wanadoo.fr>
Tue, 1 Oct 2019 19:26:14 +0000 (21:26 +0200)
src/parse/check.c

index 92d200d3b9b24b2a7b4904c423775b8ec958cf4a..0688d5409255ab279c34da48fe1fa93a16b45710 100644 (file)
@@ -402,7 +402,10 @@ ANN static Type at_depth(const Env env, const Array_Sub array) {
 }
 
 static inline m_bool index_is_int(const Env env, Exp e, m_uint *depth) {
-  do CHECK_BB(check_implicit(env, "@access", e, env->gwion->type[et_int]))
+  do if(isa(e->type, env->gwion->type[et_int]) < 0)
+    ERR_B(e->pos, _("array index %i must be of type 'int', not '%s'"),
+        *depth, e->type->name)
+//  do CHECK_BB(check_implicit(env, "@access", e, env->gwion->type[et_int]))
   while(++(*depth) && (e = e->next));
   return GW_OK;
 }