#if defined(__clang__) || defined(__APPLE__) # include "../kit/defer.h" # define KIT_TEST_FILE defer_block # include "../kit/test.h" TEST("defer") { int defer_ref x = 1; { defer { x = 2; }; x = 3; } REQUIRE_EQ(x, 2); } TEST("defer capture") { int defer_ref x = 1; { defer { if (x == 3) x = 2; }; x = 3; } REQUIRE_EQ(x, 2); } # undef KIT_TEST_FILE #endif