File tree Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Original file line number Diff line number Diff line change
1
+ // RUN: %target-swift-frontend -emit-silgen -verify %s | %FileCheck %s
2
+
3
+ @dynamicCallable
4
+ public struct Callable {
5
+ func dynamicallyCall( withArguments: [ Int ] ) { }
6
+ func dynamicallyCall( withKeywordArguments: DictionaryLiteral < String , Int > ) { }
7
+ }
8
+
9
+ @_silgen_name ( " foo " )
10
+ public func foo( a: Callable ) {
11
+ a ( )
12
+ a ( 1 , 2 , 3 )
13
+ a ( 1 , 2 , 3 , label: 4 )
14
+ }
15
+
16
+ // CHECK-LABEL: sil @foo
17
+ // CHECK: bb0(%0 : $Callable):
18
+ // CHECK: [[DYN_CALL_1:%.*]] = function_ref @$S4main8CallableV15dynamicallyCall13withArgumentsySaySiG_tF
19
+ // CHECK-NEXT: apply [[DYN_CALL_1]]
20
+ // CHECK: [[DYN_CALL_2:%.*]] = function_ref @$S4main8CallableV15dynamicallyCall13withArgumentsySaySiG_tF
21
+ // CHECK-NEXT: apply [[DYN_CALL_2]]
22
+ // CHECK: [[DYN_CALL_3:%.*]] = function_ref @$S4main8CallableV15dynamicallyCall20withKeywordArgumentsys17DictionaryLiteralVySSSiG_tF
23
+ // CHECK-NEXT: apply [[DYN_CALL_3]]
You can’t perform that action at this time.
0 commit comments