Mixed closures and class.outer references
Iain Buclaw via Digitalmars-d
digitalmars-d at puremagic.com
Sun Apr 12 12:36:52 PDT 2015
Hi,
Can someone tell me what is supposed to happen in Outer.foo.Inner.bar?
And how it should look in debug?
---
class Outer
{
int x = 42;
void foo()
{
int y = 43;
class Inner
{
void bar()
{
assert(x == 42);
assert(y == 43);
}
}
Inner b = new Inner();
b.bar();
}
}
---
What I'm currently seeing is:
Function: Inner.bar()
Params: (this=...)
typeof(this) == Inner
typeof(this.this) == Outer
No sign of the closure in Outer.foo, so how is 'y' even accessible?
More information about the Digitalmars-d
mailing list