https://issues.dlang.org/show_bug.cgi?id=15629
--- Comment #3 from Kenji Hara <[email protected]> --- Dustmited case code: void main() { int[] a = [3]; int value = abs(a[0]); assert(a[0] == 3); writeln(value, " ", a); } Num abs(Num)(Num x) { return x >= 0 ? x : -x; } struct File { struct LockingTextWriter { this(File) {} ~this() @trusted {} } auto lockingTextWriter() { return LockingTextWriter(); } } File stdout; void writeln(T...)(T args) { stdout.lockingTextWriter; } --
