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

Reply via email to