inout(int) foo(inout(int) x) { x = 5; // cannot modify inout return 0; } inout(T) variable is treated like const(T), then it is not modifiable.
https://github.com/D-Programming-Language/dmd/pull/433
https://github.com/D-Programming-Language/dmd/commit/39966f4f06a527ed67e6f1d6e948c9568a8745d0