```
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?

Reply via email to