@@ -309,6 +309,71 @@ struct PreconcurrencyAppliesToParentToo : @preconcurrency Child {
309
309
// CHECK: [[CHECK_EXEC_REF:%.*]] = function_ref @$ss22_checkExpectedExecutor14_filenameStart01_D6Length01_D7IsASCII5_line9_executoryBp_BwBi1_BwBetF
310
310
// CHECK-NEXT: {{.*}} = apply [[CHECK_EXEC_REF]]({{.*}}, [[EXEC]])
311
311
312
+ @available ( * , unavailable)
313
+ extension NotSendable : Sendable { }
314
+
315
+ struct NotSendable : Equatable , Hashable {
316
+ }
317
+
318
+ @MainActor
319
+ struct TestDerivedEquatable : @preconcurrency Equatable {
320
+ var x : NotSendable
321
+ }
322
+
323
+ // protocol witness for static Equatable.== infix(_:_:) in conformance TestDerivedEquatable
324
+ // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s27preconcurrency_conformances20TestDerivedEquatableVSQAASQ2eeoiySbx_xtFZTW
325
+ // CHECK: [[MAIN_ACTOR:%.*]] = begin_borrow {{.*}} : $MainActor
326
+ // CHECK-NEXT: [[EXEC:%.*]] = extract_executor [[MAIN_ACTOR]] : $MainActor
327
+ // CHECK: [[CHECK_EXEC_REF:%.*]] = function_ref @$ss22_checkExpectedExecutor14_filenameStart01_D6Length01_D7IsASCII5_line9_executoryBp_BwBi1_BwBetF
328
+ // CHECK-NEXT: {{.*}} = apply [[CHECK_EXEC_REF]]({{.*}}, [[EXEC]])
329
+
330
+ @MainActor
331
+ struct TestDerivedHashable : @preconcurrency Hashable {
332
+ var x : NotSendable
333
+ }
334
+
335
+ // protocol witness for Hashable.hashValue.getter in conformance TestDerivedHashable
336
+ // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s27preconcurrency_conformances19TestDerivedHashableVSHAASH9hashValueSivgTW
337
+ // CHECK: [[MAIN_ACTOR:%.*]] = begin_borrow {{.*}} : $MainActor
338
+ // CHECK-NEXT: [[EXEC:%.*]] = extract_executor [[MAIN_ACTOR]] : $MainActor
339
+ // CHECK: [[CHECK_EXEC_REF:%.*]] = function_ref @$ss22_checkExpectedExecutor14_filenameStart01_D6Length01_D7IsASCII5_line9_executoryBp_BwBi1_BwBetF
340
+ // CHECK-NEXT: {{.*}} = apply [[CHECK_EXEC_REF]]({{.*}}, [[EXEC]])
341
+
342
+ // protocol witness for Hashable.hash(into:) in conformance TestDerivedHashable
343
+ // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s27preconcurrency_conformances19TestDerivedHashableVSHAASH4hash4intoys6HasherVz_tFTW
344
+ // CHECK: [[MAIN_ACTOR:%.*]] = begin_borrow {{.*}} : $MainActor
345
+ // CHECK-NEXT: [[EXEC:%.*]] = extract_executor [[MAIN_ACTOR]] : $MainActor
346
+ // CHECK: [[CHECK_EXEC_REF:%.*]] = function_ref @$ss22_checkExpectedExecutor14_filenameStart01_D6Length01_D7IsASCII5_line9_executoryBp_BwBi1_BwBetF
347
+ // CHECK-NEXT: {{.*}} = apply [[CHECK_EXEC_REF]]({{.*}}, [[EXEC]])
348
+
349
+ // protocol witness for static Equatable.== infix(_:_:) in conformance TestDerivedHashable
350
+ // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s27preconcurrency_conformances19TestDerivedHashableVSQAASQ2eeoiySbx_xtFZTW
351
+ // CHECK: [[MAIN_ACTOR:%.*]] = begin_borrow {{.*}} : $MainActor
352
+ // CHECK-NEXT: [[EXEC:%.*]] = extract_executor [[MAIN_ACTOR]] : $MainActor
353
+ // CHECK: [[CHECK_EXEC_REF:%.*]] = function_ref @$ss22_checkExpectedExecutor14_filenameStart01_D6Length01_D7IsASCII5_line9_executoryBp_BwBi1_BwBetF
354
+ // CHECK-NEXT: {{.*}} = apply [[CHECK_EXEC_REF]]({{.*}}, [[EXEC]])
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]])
376
+
312
377
//--- checks_disabled.swift
313
378
protocol P {
314
379
associatedtype T
@@ -498,3 +563,50 @@ struct PreconcurrencyAppliesToParentToo : @preconcurrency Child {
498
563
// protocol witness for Parent.a() in conformance PreconcurrencyAppliesToParentToo
499
564
// CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s27preconcurrency_conformances32PreconcurrencyAppliesToParentTooVAA0F0A2aDP1ayyFTW : $@convention(witness_method: Parent) (@in_guaranteed PreconcurrencyAppliesToParentToo) -> ()
500
565
// CHECK-NOT: [[CHECK_EXEC_REF:%.*]] = function_ref @$ss22_checkExpectedExecutor14_filenameStart01_D6Length01_D7IsASCII5_line9_executoryBp_BwBi1_BwBetF
566
+
567
+ @available ( * , unavailable)
568
+ extension NotSendable : Sendable { }
569
+
570
+ struct NotSendable : Equatable , Hashable {
571
+ }
572
+
573
+ @MainActor
574
+ struct TestDerivedEquatable : @preconcurrency Equatable {
575
+ var x : NotSendable
576
+ }
577
+
578
+ // protocol witness for static Equatable.== infix(_:_:) in conformance TestDerivedEquatable
579
+ // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s27preconcurrency_conformances20TestDerivedEquatableVSQAASQ2eeoiySbx_xtFZTW
580
+ // CHECK-NOT: [[CHECK_EXEC_REF:%.*]] = function_ref @$ss22_checkExpectedExecutor14_filenameStart01_D6Length01_D7IsASCII5_line9_executoryBp_BwBi1_BwBetF
581
+
582
+ @MainActor
583
+ struct TestDerivedHashable : @preconcurrency Hashable {
584
+ var x : NotSendable
585
+ }
586
+
587
+ // protocol witness for Hashable.hashValue.getter in conformance TestDerivedHashable
588
+ // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s27preconcurrency_conformances19TestDerivedHashableVSHAASH9hashValueSivgTW
589
+ // CHECK-NOT: [[CHECK_EXEC_REF:%.*]] = function_ref @$ss22_checkExpectedExecutor14_filenameStart01_D6Length01_D7IsASCII5_line9_executoryBp_BwBi1_BwBetF
590
+
591
+ // protocol witness for Hashable.hash(into:) in conformance TestDerivedHashable
592
+ // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s27preconcurrency_conformances19TestDerivedHashableVSHAASH4hash4intoys6HasherVz_tFTW
593
+ // CHECK-NOT: [[CHECK_EXEC_REF:%.*]] = function_ref @$ss22_checkExpectedExecutor14_filenameStart01_D6Length01_D7IsASCII5_line9_executoryBp_BwBi1_BwBetF
594
+
595
+ // protocol witness for static Equatable.== infix(_:_:) in conformance TestDerivedHashable
596
+ // CHECK-LABEL: sil private [transparent] [thunk] [ossa] @$s27preconcurrency_conformances19TestDerivedHashableVSQAASQ2eeoiySbx_xtFZTW
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