.tmp.code:8:12: error: Arithmetic returns number but string expected
.tmp.code:7:8: info: variable 'c' was set as string here.
.tmp.code:9:24: error: Boolean operation found where string expected
+ .tmp.code:7:8: info: variable 'c' was set as string here.
.tmp.code:10:12: error: Comparison returns Boolean but string expected
.tmp.code:7:8: info: variable 'c' was set as string here.
.tmp.code:11:21: error: Concat returns string but number expected
.tmp.code:24:8: error: cannot assign value of type [5]number
.tmp.code:25:13: error: expected [5]number but variable 'a3' is [10]number
.tmp.code:23:36: info: this is where 'a3' was set to [10]number
- .tmp.code:23:8: info: variable 'a1' was set as [5]number here.
.tmp.code:25:8: error: cannot assign value of type [5]number
+ .tmp.code:23:8: info: variable 'a1' was set as [5]number here.
.tmp.code:26:13: error: expected [5]number but variable 'a4' is [5]string
.tmp.code:23:51: info: this is where 'a4' was set to [5]string
- .tmp.code:23:8: info: variable 'a1' was set as [5]number here.
.tmp.code:26:8: error: cannot assign value of type [5]number
+ .tmp.code:23:8: info: variable 'a1' was set as [5]number here.
.tmp.code:27:16: error: expected number found string
.tmp.code:28:16: error: expected string found Boolean
.tmp.code:29:12: error: have number but need string
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)
}
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;