``` void main() { import std.stdio; auto f = (){ string[] t; { // inner scope t ~= "hello"; scope( exit ) t ~= "world"; } // inner scope exit return t; };
f().writeln; // ["hello", "world"] } ``` removing the inner scope in f() gives ["hello"]So when no inner scope is present, the scope exit 'runs' after the return? Is that indeed expected behavior according to the specification?