[Issue 14442] Wrong this.outer reference in nested classes

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Mon Apr 13 01:10:44 PDT 2015


https://issues.dlang.org/show_bug.cgi?id=14442

--- Comment #1 from Iain Buclaw <ibuclaw at gdcproject.org> ---
Also affects the debug code written.  As all you see of this parent chain is
garbage values.


(gdb) p this
$1 = (__anonclass1 &) @0x7ffff7ed5fc0:
{
  <Object> = {
    __vptr = 0x4890e0 <vtable nested.Foo35.bar().__anonclass1>,
    __monitor = 0x0
  },
  this = @0x7ffff7ed6ff0    // <-- closure pointer
}
(gdb) p this.this
$2 = (Foo35 &) @0x7ffff7ed6ff0:
{
  <Object> = {
    __vptr = 0x7ffff7ed5fe0,    // <-- Foo35 object reference
    __monitor = 0x2b    // <-- 'y' value
  },
  x = 0    // <-- Excess garbage
}

--


More information about the Digitalmars-d-bugs mailing list