DIP 1016--ref T accepts r-values--Community Review Round 1
Dgame
r.schuett.1987 at gmail.com
Fri Jul 20 10:08:03 UTC 2018
On Friday, 20 July 2018 at 09:39:47 UTC, Nicholas Wilson wrote:
> On Friday, 20 July 2018 at 09:03:18 UTC, Dukc wrote:
>> appending something (like .byRef or byRef!long, the latter
>> making an implicit type conversion)
>
> That can't work: either it returns an expired stack temporary
> (*very* bad), or allocates with no way to deallocate (bad).
What about something like this?
----
import std.stdio;
ref T byRef(T)(T value) {
static T _val = void;
_val = value;
return _val;
}
void foo(ref int a) {
writeln("A = ", a);
}
void main() {
foo(42.byRef);
foo(23.byRef);
}
----
More information about the Digitalmars-d
mailing list