On Thursday, 20 January 2022 at 13:19:06 UTC, Sergey wrote:
https://forum.dlang.org/post/17nwtnp4are5q$.1ddtvmj4e23iy....@40tude.net
On Tuesday, 10 May 2005 at 01:06:14 UTC, Derek Parnell wrote:
[...]
Thanks a lot for your explanation.
I started to learn D language recently and I have trouble with
understanding some part of language.
I do your example on Linux and it works very well, especially
func_rthee().
when I try to repeat code on Windows 10, I get errors:
Error: cannot modify `inout` expression `X[0]`
Error: cannot modify `inout` expression `X`
Error: cannot modify `inout` expression `Y`
Error: cannot modify `inout` expression `Y`
Very strange situation for me.
I expect next behavior of the parameters X and Y could get
value and could change it on Windows but now I am not sure what
is goin on.
PS. I am using DMD64 D Compiler v2.098.1-dirty on Debian 10
Linux and Windows 10.
The explanation you quoted is from 2005, and `inout` does not
mean the same thing in 2022 as it did in 2005.
The current meaning of inout is explained in the D language
specification on dlang.org. Here is a link to the relevant
section:
https://dlang.org/spec/function.html#inout-functions