@@ -48,17 +48,17 @@ struct AllCaller : P {
48
48
// CHECK: } // end sil function '$s21attr_execution_silgen9AllCallerVAA1PA2aDP10callerTestyyYaFTW'
49
49
nonisolated ( nonsending) func callerTest( ) async { }
50
50
51
- // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s21attr_execution_silgen9AllCallerVAA1PA2aDP14concurrentTestyyYaFTW : $@convention(witness_method: P) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @ in_guaranteed AllCaller) -> () {
52
- // CHECK: bb0([[ACTOR:%.*]] : @guaranteed $Optional<any Actor>, [[ SELF:%.*]] : $*AllCaller):
51
+ // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s21attr_execution_silgen9AllCallerVAA1PA2aDP14concurrentTestyyYaFTW : $@convention(witness_method: P) @async (@in_guaranteed AllCaller) -> () {
52
+ // CHECK: bb0([[SELF:%.*]] : $*AllCaller):
53
53
// CHECK: [[LOAD:%.*]] = load [trivial] [[SELF]]
54
54
// CHECK: [[FUNC:%.*]] = function_ref @$s21attr_execution_silgen9AllCallerV14concurrentTestyyYaF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, AllCaller) -> ()
55
55
// CHECK: [[NIL:%.*]] = enum $Optional<any Actor>, #Optional.none!enumelt
56
56
// CHECK: apply [[FUNC]]([[NIL]], [[LOAD]])
57
57
// CHECK: } // end sil function '$s21attr_execution_silgen9AllCallerVAA1PA2aDP14concurrentTestyyYaFTW'
58
58
nonisolated ( nonsending) func concurrentTest( ) async { }
59
59
60
- // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s21attr_execution_silgen9AllCallerVAA1PA2aDP13mainActorTestyyYaFTW : $@convention(witness_method: P) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @ in_guaranteed AllCaller) -> () {
61
- // CHECK: bb0({{%.*}} : @guaranteed $Optional<any Actor>, [[SELF:%.*]] : $*AllCaller):
60
+ // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s21attr_execution_silgen9AllCallerVAA1PA2aDP13mainActorTestyyYaFTW : $@convention(witness_method: P) @async (@in_guaranteed AllCaller) -> () {
61
+ // CHECK: bb0([[SELF:%.*]] : $*AllCaller):
62
62
// CHECK: [[LOAD:%.*]] = load [trivial] [[SELF]]
63
63
// CHECK: [[FUNC:%.*]] = function_ref @$s21attr_execution_silgen9AllCallerV13mainActorTestyyYaF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, AllCaller) -> ()
64
64
// CHECK: [[MAIN_ACTOR:%.*]] = apply {{%.*}}({{%.*}}) : $@convention(method) (@thick MainActor.Type) -> @owned MainActor
@@ -70,11 +70,8 @@ struct AllCaller : P {
70
70
}
71
71
72
72
struct AllConcurrent : P {
73
- // TODO: This seems wrong. We need to have our thunk have the implicit
74
- // isolated parameter from an ABI perspective.
75
- //
76
- // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s21attr_execution_silgen13AllConcurrentVAA1PA2aDP10callerTestyyYaFTW : $@convention(witness_method: P) @async (@in_guaranteed AllConcurrent) -> () {
77
- // CHECK: bb0([[SELF:%.*]] :
73
+ // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s21attr_execution_silgen13AllConcurrentVAA1PA2aDP10callerTestyyYaFTW : $@convention(witness_method: P) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @in_guaranteed AllConcurrent) -> () {
74
+ // CHECK: bb0([[ACTOR]] : @guaranteed $Optional<any Actor>, [[SELF:%.*]] :
78
75
// CHECK: [[LOAD:%.*]] = load [trivial] [[SELF]]
79
76
// CHECK: [[FUNC:%.*]] = function_ref @$s21attr_execution_silgen13AllConcurrentV10callerTestyyYaF : $@convention(method) @async (AllConcurrent) -> ()
80
77
// CHECK: apply [[FUNC]]([[LOAD]])
@@ -99,11 +96,8 @@ struct AllConcurrent : P {
99
96
}
100
97
101
98
struct AllMainActor : P {
102
- // TODO: This is incorrect from an ABI perspective. The witness needs to have
103
- // the implicit isolated parameter.
104
- //
105
- // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s21attr_execution_silgen12AllMainActorVAA1PA2aDP10callerTestyyYaFTW : $@convention(witness_method: P) @async (@in_guaranteed AllMainActor) -> () {
106
- // CHECK: bb0([[SELF:%.*]] :
99
+ // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s21attr_execution_silgen12AllMainActorVAA1PA2aDP10callerTestyyYaFTW : $@convention(witness_method: P) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @in_guaranteed AllMainActor) -> () {
100
+ // CHECK: bb0([[ACTOR:%.*]] : @guaranteed $Optional<any Actor>, [[SELF:%.*]] :
107
101
// CHECK: [[LOAD:%.*]] = load [trivial] [[SELF]]
108
102
// CHECK: [[FUNC:%.*]] = function_ref @$s21attr_execution_silgen12AllMainActorV10callerTestyyYaF : $@convention(method) @async (AllMainActor) -> ()
109
103
// CHECK: apply [[FUNC]]([[LOAD]])
0 commit comments