Files
swift-mirror/test/Interpreter/defer.swift
2016-08-10 23:52:02 -07:00

34 lines
690 B
Swift

// 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()