RecordFlux
RecordFlux copied to clipboard
Disjunction of outgoing edges to the same target not possible with optional fields
It is not possible to merge to outgoing edges to the same target field using a disjunction, if there is an optional field on path. Checking the example specification yields:
test_3.rflx:18:20: model: error: undefined variable "C"
test_3.rflx:18:20: model: info: on path A -> B -> D -> Final
package Test is
type T is mod 2 ** 8;
type Frame is
message
A : T
then B
if A = 0
then C
if A /= 0;
C : T
then D;
B : T
then D;
D : T
then null
if (C = 0 and A /= 0) or (B = 1 and A = 0);
end message;
end Test;
Cf. https://github.com/Componolit/RecordFlux-specifications/pull/8#discussion_r528601096