void foo()
{
   void bar() { foo; }
   switch
       case: scope(exit) { do }  break

   bar;

}

fails to execute do


void foo()
{
   void bar() { foo; }
   switch
       case: bar; do return;

   bar;
}

does work... yet there is no difference except the scope exit.

In my code it is if do is never executed...

I used it to avoid having to write bar twice or use a flag but it's not working... I see no reason why it should not work. scope(exit) is suppose to execute the block at the end of the function call, right?







  • Scope exit bug? Amex via Digitalmars-d-learn

Reply via email to