define data parameter
1 #N1-tab (n1/1:*)
end-define
expand array #n1-tab to (1:3)
#N1-tab(1) := 1
#N1-tab(2) := 2
#N1-tab(3) := 3
end
define data local
1 #struct(1:*)
2 #rpc-struct
3 #n1 (N1)
2 #other-struct
3 #a1 (A1)
end-define
* expand array #struct to (1:2) /* works if this line is uncommented
callnat 'RPCTESTN' #rpc-struct(*)
write 'OCC #n1' *OCC(#n1)
write 'OCC #a1' *OCC(#a1)
* display #struct(*) /* would throw NAT1257 here
end
hehe - but this is different
Here you are cheating Natural into allowing something “un-natural”
If you run this one locally you will get a nat1255 because you try to allocate a sub-part of a structure.
So if this is a bug - it is a parser bug for allowing a x-array sub-part as a parameter - or what do you say ?