]> ocean-lang.org Git - ocean/blobdiff - csrc/oceani.mdc
oceani: move the 'info:' report for assignments.
[ocean] / csrc / oceani.mdc
index c80c99262004c6b39f82ca924e7e513fb3fddfaf..0605d97b4a82918ddf952f1cbb761748d8855a32 100644 (file)
@@ -4801,11 +4801,7 @@ be declared at any time.
                        return Tnone;
 
                if (t) {
-                       if (propagate_types(b->right, c, perr_local, t, 0) != t &&
-                           *perr_local & Efail)
-                               if (b->left->type == Xvar)
-                                       type_err(c, "info: variable '%v' was set as %1 here.",
-                                                cast(var, b->left)->var->where_set, t, rules, NULL);
+                       propagate_types(b->right, c, perr_local, t, 0);
                } else {
                        t = propagate_types(b->right, c, perr_local, NULL, 0);
                        if (t)
@@ -4826,6 +4822,9 @@ be declared at any time.
                }
                if (t && t->dup == NULL && !(*perr_local & Emaycopy))
                        type_err(c, "error: cannot assign value of type %1", b, t, 0, NULL);
+               if (b->left->type == Xvar && (*perr_local & Efail))
+                       type_err(c, "info: variable '%v' was set as %1 here.",
+                                cast(var, b->left)->var->where_set, t, rules, NULL);
                return Tnone;
 
                break;