On Sunday, 15 January 2023 at 13:23:20 UTC, matheus wrote:
On Sunday, 15 January 2023 at 12:44:51 UTC, thebluepandabear
wrote:
...
How will the variable `outer` become the reference to the
current `X` object (if that makes sense?). Does the compiler
do it automatically?
I think you'll need to do this:
class X {
private int num;
struct Y {
X outer;
int fun() { return outer.num; }
}
Y y;
this(){
y = Y(this);
}
}
void main(){
import std.stdio : writeln;
auto x = new X();
x.num = 10;
writeln(x.num);
writeln(x.y.fun());
}
Prints:
10
10
Matheus.
ah, that's annoying, but I guess it's the only solution as it
stands.