The state of string interpolation

Adam D. Ruppe destructionator at
Fri Dec 7 03:00:54 UTC 2018

On Friday, 7 December 2018 at 02:38:30 UTC, Mike Franklin wrote:
>> We kinda-sorta can, with `lazy void`.
> I'm not sure what you mean.  Please elaborate.

It is the runtime version of what Steven gave.

void foo(lazy int something) {
    import std.stdio;

void main() {
   int a = 1, b = 2;
   foo(a + b);

And you can `lazy void` too, which takes anything which has an 
effect (it is an error if it has no effect), but discards its 
return value. example here:

The compiler simply wraps the expression you pass to the argument 
in a delegate, and automatically calls any reference to it (so 
the ref of something above actually does something())

More information about the Digitalmars-d mailing list