On Tuesday, 20 June 2023 at 15:01:17 UTC, Cecil Ward wrote:
>void myfn( in T1 InputArg, in const ref InputArray1, rw Modify, out result )
why not
void myfn(in T1 InputArg, const ref T2 InputArray1, ref T3 Modify, out T4 result);
a "const ref" is of course read only, and a simple "ref" is expected to be modified by the function (else you would have made it const, wouldn't you?).
so you have read only (const ref), write only (out) and read/write (ref)
plus additionally "in" (which may be ref or not, based on what the compiler sees best fit).
I can't see the necessity for a new keyword.
By the way, what should "const in" be for?!? "in" is already not to be modified by the function. It is only there to allow both l-values and r-values to be used as input.