@@ -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) { }
@@ -73,12 +73,12 @@ var bool: Bool { false }
73
73
// Function Arguments
74
74
//
75
75
76
- // CHECK-LABEL: sil [ossa] @$s8moveonly19useNonTrivialStructyyAA0cdE0VhF : $@convention(thin) (@guaranteed NonTrivialStruct) -> () {
76
+ // CHECK-LABEL: sil [ossa] @$s8moveonly19useNonTrivialStructyyAA0cdE0VF : $@convention(thin) (@guaranteed NonTrivialStruct) -> () {
77
77
// CHECK: bb0([[ARG:%.*]] : @guaranteed $NonTrivialStruct):
78
78
// CHECK: [[COPIED_ARG:%.*]] = copy_value [[ARG]]
79
79
// CHECK: mark_must_check [no_consume_or_assign] [[COPIED_ARG]]
80
- // CHECK: } // end sil function '$s8moveonly19useNonTrivialStructyyAA0cdE0VhF '
81
- public func useNonTrivialStruct( _ s: __shared NonTrivialStruct) {
80
+ // CHECK: } // end sil function '$s8moveonly19useNonTrivialStructyyAA0cdE0VF '
81
+ public func useNonTrivialStruct( _ s: borrowing NonTrivialStruct ) {
82
82
borrowVal ( s)
83
83
let s2 = s
84
84
let k = s. fd
@@ -103,12 +103,12 @@ public func useNonTrivialOwnedStruct(_ s: __owned NonTrivialStruct) {
103
103
let _ = s2
104
104
}
105
105
106
- // CHECK-LABEL: sil [ossa] @$s8moveonly17useNonTrivialEnumyyAA0cdE0OhF : $@convention(thin) (@guaranteed NonTrivialEnum) -> () {
106
+ // CHECK-LABEL: sil [ossa] @$s8moveonly17useNonTrivialEnumyyAA0cdE0OF : $@convention(thin) (@guaranteed NonTrivialEnum) -> () {
107
107
// CHECK: bb0([[ARG:%.*]] : @guaranteed $NonTrivialEnum):
108
108
// CHECK: [[COPIED_ARG:%.*]] = copy_value [[ARG]]
109
109
// CHECK: mark_must_check [no_consume_or_assign] [[COPIED_ARG]]
110
- // CHECK: } // end sil function '$s8moveonly17useNonTrivialEnumyyAA0cdE0OhF '
111
- public func useNonTrivialEnum( _ s: __shared NonTrivialEnum) {
110
+ // CHECK: } // end sil function '$s8moveonly17useNonTrivialEnumyyAA0cdE0OF '
111
+ public func useNonTrivialEnum( _ s: borrowing NonTrivialEnum ) {
112
112
borrowVal ( s)
113
113
let s2 = s
114
114
switch s {
@@ -288,7 +288,7 @@ func blackHoleVarInitialization3() {
288
288
//
289
289
// CHECK: [[CLS:%.*]] = mark_must_check [no_consume_or_assign] [[PROJECT]]
290
290
// CHECK: [[BORROW:%.*]] = load_borrow [[CLS]]
291
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA2FDVhF :
291
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA2FDVF :
292
292
// CHECK: apply [[FN]]([[BORROW]])
293
293
// CHECK: end_borrow [[BORROW]]
294
294
// CHECK: } // end sil function '$s8moveonly24borrowObjectFunctionCallyyF'
@@ -310,7 +310,7 @@ func borrowObjectFunctionCall() {
310
310
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[PROJECT]]
311
311
// CHECK: [[MARKED_ADDR:%.*]] = mark_must_check [no_consume_or_assign] [[ACCESS]]
312
312
// CHECK: [[BORROW:%.*]] = load [copy] [[MARKED_ADDR]]
313
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA16NonTrivialStructVhF :
313
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA16NonTrivialStructVF :
314
314
// CHECK: apply [[FN]]([[BORROW]])
315
315
// CHECK: destroy_value [[BORROW]]
316
316
// CHECK: end_access [[ACCESS]]
@@ -333,7 +333,7 @@ func moveOnlyStructNonConsumingUse() {
333
333
// CHECK: [[MARKED_ADDR:%.*]] = mark_must_check [no_consume_or_assign] [[ACCESS]]
334
334
// CHECK: [[GEP:%.*]] = struct_element_addr [[MARKED_ADDR]] : $*NonTrivialStruct, #NonTrivialStruct.nonTrivialStruct2
335
335
// CHECK: [[BORROW:%.*]] = load [copy] [[GEP]]
336
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA17NonTrivialStruct2VhF : $@convention(thin) (@guaranteed NonTrivialStruct2) -> ()
336
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA17NonTrivialStruct2VF : $@convention(thin) (@guaranteed NonTrivialStruct2) -> ()
337
337
// CHECK: apply [[FN]]([[BORROW]])
338
338
// CHECK: destroy_value [[BORROW]]
339
339
// CHECK: end_access [[ACCESS]]
@@ -358,7 +358,7 @@ func moveOnlyStructMoveOnlyStructNonConsumingUse() {
358
358
// CHECK: [[GEP2:%.*]] = struct_element_addr [[GEP1]] : $*NonTrivialStruct2, #NonTrivialStruct2.copyableKlass
359
359
// CHECK: [[COPY:%.*]] = load [copy] [[GEP2]] : $*CopyableKlass
360
360
// CHECK: end_access [[ACCESS]]
361
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassChF : $@convention(thin) (@guaranteed CopyableKlass) -> ()
361
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassCF : $@convention(thin) (@guaranteed CopyableKlass) -> ()
362
362
// CHECK: apply [[FN]]([[COPY]])
363
363
// CHECK: destroy_value [[COPY]] : $CopyableKlass
364
364
// CHECK: } // end sil function '$s8moveonly018moveOnlyStructMovecD28CopyableKlassNonConsumingUseyyF'
@@ -406,7 +406,7 @@ func moveOnlyStructSetMoveOnlyField() {
406
406
// CHECK: [[GEP:%.*]] = struct_element_addr [[MARKED_ADDR]] : $*NonTrivialStruct, #NonTrivialStruct.nonTrivialCopyableStruct
407
407
// CHECK: [[COPY:%.*]] = load [copy] [[GEP]] : $*NonTrivialCopyableStruct
408
408
// CHECK: end_access [[ACCESS]]
409
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA24NonTrivialCopyableStructVhF :
409
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA24NonTrivialCopyableStructVF :
410
410
// CHECK: apply [[FN]]([[COPY]])
411
411
// CHECK: destroy_value [[COPY]] : $NonTrivialCopyableStruct
412
412
// CHECK: } // end sil function '$s8moveonly022moveOnlyStructCopyableD15NonConsumingUseyyF'
@@ -430,7 +430,7 @@ func moveOnlyStructCopyableStructNonConsumingUse() {
430
430
// CHECK: [[GEP2:%.*]] = struct_element_addr [[GEP1]] : $*NonTrivialCopyableStruct, #NonTrivialCopyableStruct.copyableKlass
431
431
// CHECK: [[COPY:%.*]] = load [copy] [[GEP2]] : $*CopyableKlass
432
432
// CHECK: end_access [[ACCESS]]
433
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassChF :
433
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassCF :
434
434
// CHECK: apply [[FN]]([[COPY]])
435
435
// CHECK: destroy_value [[COPY]] : $CopyableKlass
436
436
// CHECK: } // end sil function '$s8moveonly022moveOnlyStructCopyabledE20KlassNonConsumingUseyyF'
@@ -454,7 +454,7 @@ func moveOnlyStructCopyableStructCopyableKlassNonConsumingUse() {
454
454
// CHECK: [[GEP2:%.*]] = struct_element_addr [[GEP1]] : $*NonTrivialCopyableStruct, #NonTrivialCopyableStruct.nonTrivialCopyableStruct2
455
455
// CHECK: [[COPY:%.*]] = load [copy] [[GEP2]] : $*NonTrivialCopyableStruct2
456
456
// CHECK: end_access [[ACCESS]]
457
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA25NonTrivialCopyableStruct2VhF :
457
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA25NonTrivialCopyableStruct2VF :
458
458
// CHECK: apply [[FN]]([[COPY]])
459
459
// CHECK: destroy_value [[COPY]] : $NonTrivialCopyableStruct2
460
460
// CHECK: } // end sil function '$s8moveonly022moveOnlyStructCopyabledeD15NonConsumingUseyyF'
@@ -479,7 +479,7 @@ func moveOnlyStructCopyableStructCopyableStructNonConsumingUse() {
479
479
// CHECK: [[GEP3:%.*]] = struct_element_addr [[GEP2]] : $*NonTrivialCopyableStruct2, #NonTrivialCopyableStruct2.copyableKlass
480
480
// CHECK: [[COPY:%.*]] = load [copy] [[GEP3]] : $*CopyableKlass
481
481
// CHECK: end_access [[ACCESS]]
482
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassChF :
482
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA13CopyableKlassCF :
483
483
// CHECK: apply [[FN]]([[COPY]])
484
484
// CHECK: destroy_value [[COPY]] : $CopyableKlass
485
485
// CHECK: } // end sil function '$s8moveonly022moveOnlyStructCopyablededE20KlassNonConsumingUseyyF'
@@ -511,7 +511,7 @@ func moveOnlyStructCopyableStructCopyableStructCopyableKlassNonConsumingUse() {
511
511
// CHECK: [[ACCESS:%.*]] = begin_access [read] [dynamic] [[FIELD]]
512
512
// CHECK: [[ACCESS_MARK:%.*]] = mark_must_check [no_consume_or_assign] [[ACCESS]]
513
513
// CHECK: [[BORROWED_MOVEONLY_KLASS:%.*]] = load [copy] [[ACCESS_MARK]]
514
- // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA2FDVhF :
514
+ // CHECK: [[FN:%.*]] = function_ref @$s8moveonly9borrowValyyAA2FDVF :
515
515
// CHECK: apply [[FN]]([[BORROWED_MOVEONLY_KLASS]])
516
516
// CHECK: destroy_value [[BORROWED_MOVEONLY_KLASS]]
517
517
// CHECK: destroy_value [[COPYABLE_KLASS]]
@@ -563,7 +563,7 @@ func consumeVal(_ e: __owned EnumSwitchTests.E2) {}
563
563
var booleanGuard : Bool { false }
564
564
var booleanGuard2 : Bool { false }
565
565
566
- // CHECK-LABEL: sil hidden [ossa] @$s8moveonly15enumSwitchTest1yyAA04EnumC5TestsO1EOhF : $@convention(thin) (@guaranteed EnumSwitchTests.E) -> () {
566
+ // CHECK-LABEL: sil hidden [ossa] @$s8moveonly15enumSwitchTest1yyAA04EnumC5TestsO1EOF : $@convention(thin) (@guaranteed EnumSwitchTests.E) -> () {
567
567
// CHECK: bb0([[ARG:%.*]] : @guaranteed
568
568
// CHECK: [[COPY_ARG:%.*]] = copy_value [[ARG]]
569
569
// CHECK: [[MARKED_VALUE:%.*]] = mark_must_check [no_consume_or_assign] [[COPY_ARG]]
@@ -620,8 +620,8 @@ var booleanGuard2: Bool { false }
620
620
//
621
621
// CHECK: [[BB_CONT]]:
622
622
// CHECK: destroy_value [[MARKED_VALUE]]
623
- // CHECK: } // end sil function '$s8moveonly15enumSwitchTest1yyAA04EnumC5TestsO1EOhF '
624
- func enumSwitchTest1( _ e: __shared EnumSwitchTests. E ) {
623
+ // CHECK: } // end sil function '$s8moveonly15enumSwitchTest1yyAA04EnumC5TestsO1EOF '
624
+ func enumSwitchTest1( _ e: borrowing EnumSwitchTests . E ) {
625
625
switch e {
626
626
case . first:
627
627
break
0 commit comments