-
Notifications
You must be signed in to change notification settings - Fork 10.5k
/
Copy pathclosure-args2.swift
42 lines (32 loc) · 1.08 KB
/
closure-args2.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// RUN: %swift -target x86_64-apple-macosx10.9 %s -emit-ir -g -o - | FileCheck %s
func main () -> Void
{
var random_string = "b"
var random_int = 5
var backward_ptr =
{ (lhs : String, rhs : String) -> Bool in
// CHECK-NOT: llvm.dbg.{{.*}}%swift.refcounted*
// CHECK: [ DW_TAG_arg_variable ] [lhs]
// CHECK: [ DW_TAG_arg_variable ] [rhs]
// CHECK: [ DW_TAG_arg_variable ] [random_string]
// CHECK: [ DW_TAG_arg_variable ] [random_int]
if rhs == random_string
|| count(rhs.unicodeScalars) == random_int {
var local_var : Int = 10
print ("I have an int here \(local_var).\n")
return false
}
else
{
var local_var : String = "g"
print ("I have another string here \(local_var).\n")
return rhs < lhs
}
}
var bool = backward_ptr("a" , "b")
var my_string = ["a", "b", "c", "d"]
var new_string = sorted (my_string, backward_ptr )
print (new_string)
print ("\n")
}
main()