@@ -353,6 +353,26 @@ struct TestDerivedHashable : @preconcurrency Hashable {
353
353
// CHECK: [[CHECK_EXEC_REF:%.*]] = function_ref @$ss22_checkExpectedExecutor14_filenameStart01_D6Length01_D7IsASCII5_line9_executoryBp_BwBi1_BwBetF
354
354
// CHECK-NEXT: {{.*}} = apply [[CHECK_EXEC_REF]]({{.*}}, [[EXEC]])
355
355
356
+ extension NotSendable : Codable { }
357
+
358
+ @MainActor
359
+ struct TestDerivedCodable : @preconcurrency Codable {
360
+ var x : NotSendable
361
+ }
362
+
363
+ // protocol witness for Decodable.init(from:) in conformance TestDerivedCodable
364
+ // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s27preconcurrency_conformances18TestDerivedCodableVSeAASe4fromxs7Decoder_p_tKcfCTW
365
+ // CHECK: [[MAIN_ACTOR:%.*]] = begin_borrow {{.*}} : $MainActor
366
+ // CHECK-NEXT: [[EXEC:%.*]] = extract_executor [[MAIN_ACTOR]] : $MainActor
367
+ // CHECK: [[CHECK_EXEC_REF:%.*]] = function_ref @$ss22_checkExpectedExecutor14_filenameStart01_D6Length01_D7IsASCII5_line9_executoryBp_BwBi1_BwBetF
368
+ // CHECK-NEXT: {{.*}} = apply [[CHECK_EXEC_REF]]({{.*}}, [[EXEC]])
369
+
370
+ // protocol witness for Encodable.encode(to:) in conformance TestDerivedCodable
371
+ // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s27preconcurrency_conformances18TestDerivedCodableVSEAASE6encode2toys7Encoder_p_tKFTW
372
+ // CHECK: [[MAIN_ACTOR:%.*]] = begin_borrow {{.*}} : $MainActor
373
+ // CHECK-NEXT: [[EXEC:%.*]] = extract_executor [[MAIN_ACTOR]] : $MainActor
374
+ // CHECK: [[CHECK_EXEC_REF:%.*]] = function_ref @$ss22_checkExpectedExecutor14_filenameStart01_D6Length01_D7IsASCII5_line9_executoryBp_BwBi1_BwBetF
375
+ // CHECK-NEXT: {{.*}} = apply [[CHECK_EXEC_REF]]({{.*}}, [[EXEC]])
356
376
357
377
//--- checks_disabled.swift
358
378
protocol P {
@@ -575,3 +595,18 @@ struct TestDerivedHashable : @preconcurrency Hashable {
575
595
// protocol witness for static Equatable.== infix(_:_:) in conformance TestDerivedHashable
576
596
// CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s27preconcurrency_conformances19TestDerivedHashableVSQAASQ2eeoiySbx_xtFZTW
577
597
// CHECK-NOT: [[CHECK_EXEC_REF:%.*]] = function_ref @$ss22_checkExpectedExecutor14_filenameStart01_D6Length01_D7IsASCII5_line9_executoryBp_BwBi1_BwBetF
598
+
599
+ extension NotSendable : Codable { }
600
+
601
+ @MainActor
602
+ struct TestDerivedCodable : @preconcurrency Codable {
603
+ var x : NotSendable
604
+ }
605
+
606
+ // protocol witness for Decodable.init(from:) in conformance TestDerivedCodable
607
+ // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s27preconcurrency_conformances18TestDerivedCodableVSeAASe4fromxs7Decoder_p_tKcfCTW
608
+ // CHECK-NOT: [[CHECK_EXEC_REF:%.*]] = function_ref @$ss22_checkExpectedExecutor14_filenameStart01_D6Length01_D7IsASCII5_line9_executoryBp_BwBi1_BwBetF
609
+
610
+ // protocol witness for Encodable.encode(to:) in conformance TestDerivedCodable
611
+ // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s27preconcurrency_conformances18TestDerivedCodableVSEAASE6encode2toys7Encoder_p_tKFTW
612
+ // CHECK-NOT: [[CHECK_EXEC_REF:%.*]] = function_ref @$ss22_checkExpectedExecutor14_filenameStart01_D6Length01_D7IsASCII5_line9_executoryBp_BwBi1_BwBetF
0 commit comments