rvalues as ref arguments (as seen in digitalmars.D.learn)

Jarrett Billingsley jarrett.billingsley at gmail.com
Sun Aug 2 08:13:06 PDT 2009


On Sun, Aug 2, 2009 at 11:06 AM, bearophile<bearophileHUGS at lycos.com> wrote:
> Sorry, moved this discussion from the learn newsgroup, because after discussions it seems important enough.
> This code doesn't work in DMD 1.046 anymore (I think it may work in DMD 1.045 and it works for sure in DMD 1.042):
>
> struct V {
>    int x;
>    V opAdd(V v) { return V.init; }
> }
> void foo(ref V v) {}
> void main() {
>    foo(V.init + V.init);
> }
>
> On IRC the gentle Daniel Keep has told me this seems an undocumented change. Both LDC and my code may need to change a bit for this.
> On IRC, in another channel, Lindquist has expressed other thoughts on the topic.
>
> Bye,
> bearophile

And I already replied on the other group: it's been reported.

http://d.puremagic.com/issues/show_bug.cgi?id=3167



More information about the Digitalmars-d mailing list