this as lvalue?

Steven Schveighoffer schveiguy at yahoo.com
Sat Sep 4 08:41:14 PDT 2010


Andrei Alexandrescu Wrote:

> On 9/3/10 16:03 CDT, bearophile wrote:
> > JMRyan:
> >> Is this a bug in the compiler (v.2.047)?  Am I missing something in
> >> thinking it shouldn't be?
> >
> > I think it's not a bug. It's not a common need, but a method may way want to swap this with another. In Phobos this is done on a struct, see:
> > http://www.dsource.org/projects/phobos/browser/trunk/phobos/std/stdio.d#L324
> >
> > Bye,
> > bearophile
> 
> For classes this must be an rvalue.
> 
> Andrei

Should this work?

class C
{
  int x;
  void opAssign(int n) {x = n;}
  void foo(int n) {this = n;}
}

I agree this should not be rebindable.  But it has to be an lvalue.

-Steve


More information about the Digitalmars-d mailing list