@@ -47,13 +47,13 @@ public enum NonTrivialEnum {
47
47
var varGlobal = NonTrivialStruct ( )
48
48
let letGlobal = NonTrivialStruct ( )
49
49
50
- public func borrowVal( _ e : __shared NonTrivialEnum) { }
51
- public func borrowVal( _ e : __shared FD) { }
52
- public func borrowVal( _ k: __shared CopyableKlass) { }
53
- public func borrowVal( _ k: __shared NonTrivialCopyableStruct) { }
54
- public func borrowVal( _ k: __shared NonTrivialCopyableStruct2 ) { }
55
- public func borrowVal( _ s: __shared NonTrivialStruct) { }
56
- public func borrowVal( _ s: __shared NonTrivialStruct2 ) { }
50
+ public func borrowVal( _ e : borrowing NonTrivialEnum ) { }
51
+ public func borrowVal( _ e : borrowing FD ) { }
52
+ public func borrowVal( _ k: borrowing CopyableKlass ) { }
53
+ public func borrowVal( _ k: borrowing NonTrivialCopyableStruct ) { }
54
+ public func borrowVal( _ k: borrowing NonTrivialCopyableStruct2 ) { }
55
+ public func borrowVal( _ s: borrowing NonTrivialStruct ) { }
56
+ public func borrowVal( _ s: borrowing NonTrivialStruct2 ) { }
57
57
58
58
public func consumeVal( _ e : __owned NonTrivialEnum) { }
59
59
public func consumeVal( _ e : __owned FD) { }
@@ -71,12 +71,12 @@ public func consumeVal(_ s: __owned NonTrivialStruct2) {}
71
71
// Function Arguments
72
72
//
73
73
74
- // CHECK-LABEL: sil [ossa] @$s8moveonly19useNonTrivialStructyyAA0cdE0VhF : $@convention(thin) (@guaranteed NonTrivialStruct) -> () {
74
+ // CHECK-LABEL: sil [ossa] @$s8moveonly19useNonTrivialStructyyAA0cdE0VF : $@convention(thin) (@guaranteed NonTrivialStruct) -> () {
75
75
// CHECK: bb0([[ARG:%.*]] : @guaranteed $NonTrivialStruct):
76
76
// CHECK: [[COPIED_ARG:%.*]] = copy_value [[ARG]]
77
77
// CHECK: mark_must_check [no_consume_or_assign] [[COPIED_ARG]]
78
- // CHECK: } // end sil function '$s8moveonly19useNonTrivialStructyyAA0cdE0VhF '
79
- public func useNonTrivialStruct( _ s: __shared NonTrivialStruct) {
78
+ // CHECK: } // end sil function '$s8moveonly19useNonTrivialStructyyAA0cdE0VF '
79
+ public func useNonTrivialStruct( _ s: borrowing NonTrivialStruct ) {
80
80
borrowVal ( s)
81
81
let s2 = s
82
82
let k = s. fd
@@ -101,12 +101,12 @@ public func useNonTrivialOwnedStruct(_ s: __owned NonTrivialStruct) {
101
101
let _ = s2
102
102
}
103
103
104
- // CHECK-LABEL: sil [ossa] @$s8moveonly17useNonTrivialEnumyyAA0cdE0OhF : $@convention(thin) (@guaranteed NonTrivialEnum) -> () {
104
+ // CHECK-LABEL: sil [ossa] @$s8moveonly17useNonTrivialEnumyyAA0cdE0OF : $@convention(thin) (@guaranteed NonTrivialEnum) -> () {
105
105
// CHECK: bb0([[ARG:%.*]] : @guaranteed $NonTrivialEnum):
106
106
// CHECK: [[COPIED_ARG:%.*]] = copy_value [[ARG]]
107
107
// CHECK: mark_must_check [no_consume_or_assign] [[COPIED_ARG]]
108
- // CHECK: } // end sil function '$s8moveonly17useNonTrivialEnumyyAA0cdE0OhF '
109
- public func useNonTrivialEnum( _ s: __shared NonTrivialEnum) {
108
+ // CHECK: } // end sil function '$s8moveonly17useNonTrivialEnumyyAA0cdE0OF '
109
+ public func useNonTrivialEnum( _ s: borrowing NonTrivialEnum ) {
110
110
borrowVal ( s)
111
111
let s2 = s
112
112
switch s {
@@ -286,7 +286,7 @@ func blackHoleVarInitialization3() {
286
286
//
287
287
// CHECK: [[CLS:%.*]] = mark_must_check [no_consume_or_assign] [[PROJECT]]
288
288
// CHECK: [[BORROW:%.*]] = load_borrow [[CLS]]
289
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA2FDVhF :
289
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA2FDVF :
290
290
// CHECK: apply [[FN]]([[BORROW]])
291
291
// CHECK: end_borrow [[BORROW]]
292
292
// CHECK: } // end sil function '$s8moveonly24borrowObjectFunctionCallyyF'
@@ -308,7 +308,7 @@ func borrowObjectFunctionCall() {
308
308
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[PROJECT]]
309
309
// CHECK: [[MARKED_ADDR:%.*]] = mark_must_check [no_consume_or_assign] [[ACCESS]]
310
310
// CHECK: [[BORROW:%.*]] = load_borrow [[MARKED_ADDR]]
311
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA16NonTrivialStructVhF :
311
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA16NonTrivialStructVF :
312
312
// CHECK: apply [[FN]]([[BORROW]])
313
313
// CHECK: end_borrow [[BORROW]]
314
314
// CHECK: end_access [[ACCESS]]
@@ -331,7 +331,7 @@ func moveOnlyStructNonConsumingUse() {
331
331
// CHECK: [[MARKED_ADDR:%.*]] = mark_must_check [no_consume_or_assign] [[ACCESS]]
332
332
// CHECK: [[GEP:%.*]] = struct_element_addr [[MARKED_ADDR]] : $*NonTrivialStruct, #NonTrivialStruct.nonTrivialStruct2
333
333
// CHECK: [[BORROW:%.*]] = load_borrow [[GEP]]
334
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA17NonTrivialStruct2VhF : $@convention(thin) (@guaranteed NonTrivialStruct2) -> ()
334
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA17NonTrivialStruct2VF : $@convention(thin) (@guaranteed NonTrivialStruct2) -> ()
335
335
// CHECK: apply [[FN]]([[BORROW]])
336
336
// CHECK: end_borrow [[BORROW]]
337
337
// CHECK: end_access [[ACCESS]]
@@ -356,7 +356,7 @@ func moveOnlyStructMoveOnlyStructNonConsumingUse() {
356
356
// CHECK: [[GEP2:%.*]] = struct_element_addr [[GEP1]] : $*NonTrivialStruct2, #NonTrivialStruct2.copyableKlass
357
357
// CHECK: [[COPY:%.*]] = load [copy] [[GEP2]] : $*CopyableKlass
358
358
// CHECK: end_access [[ACCESS]]
359
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassChF : $@convention(thin) (@guaranteed CopyableKlass) -> ()
359
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassCF : $@convention(thin) (@guaranteed CopyableKlass) -> ()
360
360
// CHECK: apply [[FN]]([[COPY]])
361
361
// CHECK: destroy_value [[COPY]] : $CopyableKlass
362
362
// CHECK: } // end sil function '$s8moveonly018moveOnlyStructMovecD28CopyableKlassNonConsumingUseyyF'
@@ -404,7 +404,7 @@ func moveOnlyStructSetMoveOnlyField() {
404
404
// CHECK: [[GEP:%.*]] = struct_element_addr [[MARKED_ADDR]] : $*NonTrivialStruct, #NonTrivialStruct.nonTrivialCopyableStruct
405
405
// CHECK: [[COPY:%.*]] = load [copy] [[GEP]] : $*NonTrivialCopyableStruct
406
406
// CHECK: end_access [[ACCESS]]
407
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA24NonTrivialCopyableStructVhF :
407
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA24NonTrivialCopyableStructVF :
408
408
// CHECK: apply [[FN]]([[COPY]])
409
409
// CHECK: destroy_value [[COPY]] : $NonTrivialCopyableStruct
410
410
// CHECK: } // end sil function '$s8moveonly022moveOnlyStructCopyableD15NonConsumingUseyyF'
@@ -428,7 +428,7 @@ func moveOnlyStructCopyableStructNonConsumingUse() {
428
428
// CHECK: [[GEP2:%.*]] = struct_element_addr [[GEP1]] : $*NonTrivialCopyableStruct, #NonTrivialCopyableStruct.copyableKlass
429
429
// CHECK: [[COPY:%.*]] = load [copy] [[GEP2]] : $*CopyableKlass
430
430
// CHECK: end_access [[ACCESS]]
431
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassChF :
431
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassCF :
432
432
// CHECK: apply [[FN]]([[COPY]])
433
433
// CHECK: destroy_value [[COPY]] : $CopyableKlass
434
434
// CHECK: } // end sil function '$s8moveonly022moveOnlyStructCopyabledE20KlassNonConsumingUseyyF'
@@ -452,7 +452,7 @@ func moveOnlyStructCopyableStructCopyableKlassNonConsumingUse() {
452
452
// CHECK: [[GEP2:%.*]] = struct_element_addr [[GEP1]] : $*NonTrivialCopyableStruct, #NonTrivialCopyableStruct.nonTrivialCopyableStruct2
453
453
// CHECK: [[COPY:%.*]] = load [copy] [[GEP2]] : $*NonTrivialCopyableStruct2
454
454
// CHECK: end_access [[ACCESS]]
455
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA25NonTrivialCopyableStruct2VhF :
455
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA25NonTrivialCopyableStruct2VF :
456
456
// CHECK: apply [[FN]]([[COPY]])
457
457
// CHECK: destroy_value [[COPY]] : $NonTrivialCopyableStruct2
458
458
// CHECK: } // end sil function '$s8moveonly022moveOnlyStructCopyabledeD15NonConsumingUseyyF'
@@ -477,7 +477,7 @@ func moveOnlyStructCopyableStructCopyableStructNonConsumingUse() {
477
477
// CHECK: [[GEP3:%.*]] = struct_element_addr [[GEP2]] : $*NonTrivialCopyableStruct2, #NonTrivialCopyableStruct2.copyableKlass
478
478
// CHECK: [[COPY:%.*]] = load [copy] [[GEP3]] : $*CopyableKlass
479
479
// CHECK: end_access [[ACCESS]]
480
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassChF :
480
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassCF :
481
481
// CHECK: apply [[FN]]([[COPY]])
482
482
// CHECK: destroy_value [[COPY]] : $CopyableKlass
483
483
// CHECK: } // end sil function '$s8moveonly022moveOnlyStructCopyablededE20KlassNonConsumingUseyyF'
@@ -509,7 +509,7 @@ func moveOnlyStructCopyableStructCopyableStructCopyableKlassNonConsumingUse() {
509
509
// CHECK: [[ACCESS:%.*]] = begin_access [read] [dynamic] [[FIELD]]
510
510
// CHECK: [[ACCESS_MARK:%.*]] = mark_must_check [no_consume_or_assign] [[ACCESS]]
511
511
// CHECK: [[BORROWED_MOVEONLY_KLASS:%.*]] = load_borrow [[ACCESS_MARK]]
512
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA2FDVhF :
512
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA2FDVF :
513
513
// CHECK: apply [[FN]]([[BORROWED_MOVEONLY_KLASS]])
514
514
// CHECK: end_borrow [[BORROWED_MOVEONLY_KLASS]]
515
515
// CHECK: destroy_value [[COPYABLE_KLASS]]
@@ -561,7 +561,7 @@ func consumeVal(_ e: __owned EnumSwitchTests.E2) {}
561
561
var booleanGuard : Bool { false }
562
562
var booleanGuard2 : Bool { false }
563
563
564
- // CHECK-LABEL: sil hidden [ossa] @$s8moveonly15enumSwitchTest1yyAA04EnumC5TestsO1EOhF : $@convention(thin) (@guaranteed EnumSwitchTests.E) -> () {
564
+ // CHECK-LABEL: sil hidden [ossa] @$s8moveonly15enumSwitchTest1yyAA04EnumC5TestsO1EOF : $@convention(thin) (@guaranteed EnumSwitchTests.E) -> () {
565
565
// CHECK: bb0([[ARG:%.*]] : @guaranteed
566
566
// CHECK: [[COPY_ARG:%.*]] = copy_value [[ARG]]
567
567
// CHECK: [[MARKED_VALUE:%.*]] = mark_must_check [no_consume_or_assign] [[COPY_ARG]]
@@ -618,8 +618,8 @@ var booleanGuard2: Bool { false }
618
618
//
619
619
// CHECK: [[BB_CONT]]:
620
620
// CHECK: destroy_value [[MARKED_VALUE]]
621
- // CHECK: } // end sil function '$s8moveonly15enumSwitchTest1yyAA04EnumC5TestsO1EOhF '
622
- func enumSwitchTest1( _ e: __shared EnumSwitchTests. E ) {
621
+ // CHECK: } // end sil function '$s8moveonly15enumSwitchTest1yyAA04EnumC5TestsO1EOF '
622
+ func enumSwitchTest1( _ e: borrowing EnumSwitchTests . E ) {
623
623
switch e {
624
624
case . first:
625
625
break
0 commit comments