// RUN: %target-run-simple-swift | %FileCheck %s // REQUIRES: executable_test do { defer { print("deferred 1") } defer { print("deferred 2") } print("start!") // CHECK-NOT: deferred // CHECK-LABEL: start! // CHECK-NEXT: deferred 2 // CHECK-NEXT: deferred 1 } // ensure #function ignores defer blocks do { print("top-level #function") let name = #function defer { print(name == #function ? "good" : "bad") } // CHECK-LABEL: top-level #function // CHECK-NEXT: good } func foo() { print("foo()") let name = #function defer { print(name == #function ? "good" : "bad") } // CHECK-LABEL: foo() // CHECK-NEXT: good } foo()