digitalmars.D - Mixed closures and class.outer references
- Iain Buclaw via Digitalmars-d (29/29) Apr 12 2015 Hi,
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?
Apr 12 2015








Iain Buclaw via Digitalmars-d <digitalmars-d puremagic.com>