datatype D {
i : Integer;
}
activity A (out j : Integer) {
j = 1;
}
activity Test() : D {
d = new D(0);
A(d.i);
return d;
}
In the above return d; causes a typing error because, after the invocation A(d.i), d has been incorrectly assigned the type Integer (the type of the parameter j of A) as its "known type". This seems to happen only for data value updates.
In the above
return d;
causes a typing error because, after the invocationA(d.i)
,d
has been incorrectly assigned the typeInteger
(the type of the parameterj
ofA
) as its "known type". This seems to happen only for data value updates.