| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/fail2456.d(14): Error: cannot put `scope(success)` statement inside `finally` block |
| --- |
| */ |
| void test_success() |
| { |
| try |
| { |
| } |
| finally |
| { |
| scope(success) {} // NG |
| } |
| } |
| |
| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/fail2456.d(31): Error: cannot put `scope(failure)` statement inside `finally` block |
| --- |
| */ |
| void test_failure() |
| { |
| try |
| { |
| } |
| finally |
| { |
| scope(failure) {} // NG |
| } |
| } |
| |
| /* |
| TEST_OUTPUT: |
| --- |
| --- |
| */ |
| void test_exit() |
| { |
| try |
| { |
| } |
| finally |
| { |
| scope(exit) {} // OK |
| } |
| } |
| |
| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/fail2456.d(64): Error: cannot put `scope(success)` statement inside `scope(success)` |
| fail_compilation/fail2456.d(65): Error: cannot put `scope(failure)` statement inside `scope(success)` |
| fail_compilation/fail2456.d(78): Error: cannot put `scope(success)` statement inside `scope(exit)` |
| fail_compilation/fail2456.d(79): Error: cannot put `scope(failure)` statement inside `scope(exit)` |
| --- |
| */ |
| void test2456a() |
| { |
| scope(success) |
| { |
| scope(success) {} // NG |
| scope(failure) {} // NG |
| scope(exit) {} // OK |
| } |
| |
| scope(failure) |
| { |
| scope(success) {} // OK |
| scope(failure) {} // OK |
| scope(exit) {} // OK |
| } |
| |
| scope(exit) |
| { |
| scope(success) {} // NG |
| scope(failure) {} // NG |
| scope(exit) {} // OK |
| } |
| } |
| |
| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/fail2456.d(96): Error: cannot put `catch` statement inside `scope(success)` |
| fail_compilation/fail2456.d(108): Error: cannot put `catch` statement inside `scope(exit)` |
| --- |
| */ |
| void test2456b() |
| { |
| scope(success) |
| { |
| try {} |
| catch (Throwable) {} // NG |
| } |
| |
| scope(failure) |
| { |
| try {} |
| catch (Throwable) {} // OK |
| } |
| |
| scope(exit) |
| { |
| try {} |
| catch (Throwable) {} // NG |
| } |
| } |