On Thursday, 5 December 2013 at 06:24:52 UTC, qznc wrote:
=============
struct chdir_scoped {
string olddir;
this(string newdir) {
olddir = "bar";
writeln("chdir to "~newdir);
}
~this() {
writeln("chdir back to "~olddir);
}
}
int main() {
auto x = chdir_scoped("foo");
writeln("doing work in foo");
return 0;
}
=============
Output:
chdir to foo
doing work in foo
chdir back to bar
=============
Feels hacky to me, since "x" is not used anywhere.
with(chdir_scoped("foo")) writeln("doing work in foo");
Alas: https://d.puremagic.com/issues/show_bug.cgi?id=8269