This doesn't work:

class Foo {
  this() {
    this = new Foo;
  }
}

Error: Cannot modify 'this'

However you can do this:

class Foo {
  this() {
    auto p = &this;
    *p = new Foo();
  }
}

It even changes the value of this!

Should that compile? I mean, it's the same as modifying 'this'...

Reply via email to