Eigenpoll : D wish list : Explicit out/inout 

Force specifying out and inout when calling a function as well as when specifying it. I.e.:

void foo(int bar, out char baz, inout bit qux) { ... }

...

char x;
bit y = false;
foo(4, out x, inout y);

Leaves no room for ambiguity like the "multiple return values" suggestion (unfortunately) does, but still clarifies syntax somewhat - how do you know whether foo(4, x, y) does anything to x and y or not? With explicitness of out and inout it's obvious.

Report this item for cleanup