@@ -933,7 +933,8 @@ struct EmptyStruct {
933
933
// CHECK-LABEL: sil hidden [ossa] @$s8moveonly11EmptyStructVACycfC : $@convention(method) (@thin EmptyStruct.Type) -> @owned EmptyStruct {
934
934
// CHECK: [[BOX:%.*]] = alloc_box ${ var EmptyStruct }, var, name "self"
935
935
// CHECK: [[MARKED_UNINIT:%.*]] = mark_uninitialized [rootself] [[BOX]]
936
- // CHECK: [[PROJECT:%.*]] = project_box [[MARKED_UNINIT]]
936
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[MARKED_UNINIT]]
937
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
937
938
// CHECK: [[STRUCT:%.*]] = struct $EmptyStruct ()
938
939
// CHECK: store [[STRUCT]] to [init] [[PROJECT]]
939
940
// CHECK: [[MV_CHECK:%.*]] = mark_must_check [assignable_but_not_consumable] [[PROJECT]]
@@ -1039,7 +1040,8 @@ public struct LoadableSubscriptGetOnlyTester : ~Copyable {
1039
1040
1040
1041
// CHECK-LABEL: sil [ossa] @$s8moveonly047testSubscriptGetOnly_BaseLoadable_ResultAddressE4_VaryyF : $@convention(thin) () -> () {
1041
1042
// CHECK: [[BOX:%.*]] = alloc_box $
1042
- // CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
1043
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[BOX]]
1044
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
1043
1045
//
1044
1046
// The get call
1045
1047
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[PROJECT]]
@@ -1077,7 +1079,8 @@ public func testSubscriptGetOnly_BaseLoadable_ResultAddressOnly_Var() {
1077
1079
1078
1080
// CHECK-LABEL: sil [ossa] @$s8moveonly047testSubscriptGetOnly_BaseLoadable_ResultAddressE4_LetyyF : $@convention(thin) () -> () {
1079
1081
// CHECK: [[BOX:%.*]] = alloc_box $
1080
- // CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
1082
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[BOX]]
1083
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
1081
1084
//
1082
1085
// The get call
1083
1086
// CHECK: [[MARK:%.*]] = mark_must_check [no_consume_or_assign] [[PROJECT]]
@@ -1140,7 +1143,8 @@ public struct LoadableSubscriptGetOnlyTesterNonCopyableStructParent : ~Copyable
1140
1143
1141
1144
// CHECK-LABEL: sil [ossa] @$s8moveonly077testSubscriptGetOnlyThroughNonCopyableParentStruct_BaseLoadable_ResultAddressE4_VaryyF : $@convention(thin) () -> () {
1142
1145
// CHECK: [[BOX:%.*]] = alloc_box $
1143
- // CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
1146
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[BOX]]
1147
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
1144
1148
//
1145
1149
// The first get call
1146
1150
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[PROJECT]]
@@ -1181,7 +1185,8 @@ public func testSubscriptGetOnlyThroughNonCopyableParentStruct_BaseLoadable_Resu
1181
1185
1182
1186
// CHECK-LABEL: sil [ossa] @$s8moveonly077testSubscriptGetOnlyThroughNonCopyableParentStruct_BaseLoadable_ResultAddressE4_LetyyF : $@convention(thin) () -> () {
1183
1187
// CHECK: [[BOX:%.*]] = alloc_box ${ let L
1184
- // CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
1188
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[BOX]]
1189
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
1185
1190
//
1186
1191
// CHECK: [[MARK:%.*]] = mark_must_check [no_consume_or_assign] [[PROJECT]]
1187
1192
// CHECK: [[LOAD:%.*]] = load_borrow [[MARK]]
@@ -1350,7 +1355,8 @@ public struct LoadableSubscriptGetSetTester : ~Copyable {
1350
1355
1351
1356
// CHECK-LABEL: sil [ossa] @$s8moveonly54testSubscriptGetSet_BaseLoadable_ResultAddressOnly_VaryyF : $@convention(thin) () -> () {
1352
1357
// CHECK: [[BOX:%.*]] = alloc_box $
1353
- // CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
1358
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[BOX]]
1359
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
1354
1360
//
1355
1361
// The get call
1356
1362
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[PROJECT]]
@@ -1396,7 +1402,8 @@ public func testSubscriptGetSet_BaseLoadable_ResultAddressOnly_Var() {
1396
1402
1397
1403
// CHECK-LABEL: sil [ossa] @$s8moveonly54testSubscriptGetSet_BaseLoadable_ResultAddressOnly_LetyyF : $@convention(thin) () -> () {
1398
1404
// CHECK: [[BOX:%.*]] = alloc_box $
1399
- // CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
1405
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[BOX]]
1406
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
1400
1407
//
1401
1408
// The get call
1402
1409
// CHECK: [[MARK:%.*]] = mark_must_check [no_consume_or_assign] [[PROJECT]]
@@ -1507,7 +1514,8 @@ public struct LoadableSubscriptGetSetTesterNonCopyableStructParent : ~Copyable {
1507
1514
1508
1515
// CHECK-LABEL: sil [ossa] @$s8moveonly84testSubscriptGetSetThroughNonCopyableParentStruct_BaseLoadable_ResultAddressOnly_VaryyF : $@convention(thin) () -> () {
1509
1516
// CHECK: [[BOX:%.*]] = alloc_box $
1510
- // CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
1517
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[BOX]]
1518
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
1511
1519
//
1512
1520
// The first get call
1513
1521
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[PROJECT]]
@@ -1561,7 +1569,8 @@ public func testSubscriptGetSetThroughNonCopyableParentStruct_BaseLoadable_Resul
1561
1569
1562
1570
// CHECK-LABEL: sil [ossa] @$s8moveonly84testSubscriptGetSetThroughNonCopyableParentStruct_BaseLoadable_ResultAddressOnly_LetyyF : $@convention(thin) () -> () {
1563
1571
// CHECK: [[BOX:%.*]] = alloc_box ${ let L
1564
- // CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
1572
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[BOX]]
1573
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
1565
1574
//
1566
1575
// CHECK: [[MARK:%.*]] = mark_must_check [no_consume_or_assign] [[PROJECT]]
1567
1576
// CHECK: [[LOAD:%.*]] = load_borrow [[MARK]]
@@ -1819,7 +1828,8 @@ public struct LoadableSubscriptReadSetTester : ~Copyable {
1819
1828
1820
1829
// CHECK-LABEL: sil [ossa] @$s8moveonly55testSubscriptReadSet_BaseLoadable_ResultAddressOnly_VaryyF : $@convention(thin) () -> () {
1821
1830
// CHECK: [[BOX:%.*]] = alloc_box $
1822
- // CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
1831
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[BOX]]
1832
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
1823
1833
//
1824
1834
// The read call
1825
1835
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[PROJECT]]
@@ -1865,7 +1875,8 @@ public func testSubscriptReadSet_BaseLoadable_ResultAddressOnly_Var() {
1865
1875
1866
1876
// CHECK-LABEL: sil [ossa] @$s8moveonly55testSubscriptReadSet_BaseLoadable_ResultAddressOnly_LetyyF : $@convention(thin) () -> () {
1867
1877
// CHECK: [[BOX:%.*]] = alloc_box $
1868
- // CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
1878
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[BOX]]
1879
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
1869
1880
//
1870
1881
// The get call
1871
1882
// CHECK: [[MARK:%.*]] = mark_must_check [no_consume_or_assign] [[PROJECT]]
@@ -1979,7 +1990,8 @@ public struct LoadableSubscriptReadSetTesterNonCopyableStructParent : ~Copyable
1979
1990
1980
1991
// CHECK-LABEL: sil [ossa] @$s8moveonly85testSubscriptReadSetThroughNonCopyableParentStruct_BaseLoadable_ResultAddressOnly_VaryyF : $@convention(thin) () -> () {
1981
1992
// CHECK: [[BOX:%.*]] = alloc_box $
1982
- // CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
1993
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[BOX]]
1994
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
1983
1995
//
1984
1996
// The first get call
1985
1997
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[PROJECT]]
@@ -2031,7 +2043,8 @@ public func testSubscriptReadSetThroughNonCopyableParentStruct_BaseLoadable_Resu
2031
2043
2032
2044
// CHECK-LABEL: sil [ossa] @$s8moveonly85testSubscriptReadSetThroughNonCopyableParentStruct_BaseLoadable_ResultAddressOnly_LetyyF : $@convention(thin) () -> () {
2033
2045
// CHECK: [[BOX:%.*]] = alloc_box ${ let L
2034
- // CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
2046
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[BOX]]
2047
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
2035
2048
//
2036
2049
// CHECK: [[MARK:%.*]] = mark_must_check [no_consume_or_assign] [[PROJECT]]
2037
2050
// CHECK: [[LOAD:%.*]] = load_borrow [[MARK]]
@@ -2285,7 +2298,8 @@ public struct LoadableSubscriptReadModifyTester : ~Copyable {
2285
2298
2286
2299
// CHECK-LABEL: sil [ossa] @$s8moveonly58testSubscriptReadModify_BaseLoadable_ResultAddressOnly_VaryyF : $@convention(thin) () -> () {
2287
2300
// CHECK: [[BOX:%.*]] = alloc_box $
2288
- // CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
2301
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[BOX]]
2302
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
2289
2303
//
2290
2304
// The read call
2291
2305
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[PROJECT]]
@@ -2328,7 +2342,8 @@ public func testSubscriptReadModify_BaseLoadable_ResultAddressOnly_Var() {
2328
2342
2329
2343
// CHECK-LABEL: sil [ossa] @$s8moveonly58testSubscriptReadModify_BaseLoadable_ResultAddressOnly_LetyyF : $@convention(thin) () -> () {
2330
2344
// CHECK: [[BOX:%.*]] = alloc_box $
2331
- // CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
2345
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[BOX]]
2346
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
2332
2347
//
2333
2348
// The get call
2334
2349
// CHECK: [[MARK:%.*]] = mark_must_check [no_consume_or_assign] [[PROJECT]]
@@ -2431,7 +2446,8 @@ public struct LoadableSubscriptReadModifyTesterNonCopyableStructParent : ~Copyab
2431
2446
2432
2447
// CHECK-LABEL: sil [ossa] @$s8moveonly88testSubscriptReadModifyThroughNonCopyableParentStruct_BaseLoadable_ResultAddressOnly_VaryyF : $@convention(thin) () -> () {
2433
2448
// CHECK: [[BOX:%.*]] = alloc_box $
2434
- // CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
2449
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[BOX]]
2450
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
2435
2451
//
2436
2452
// The first get call
2437
2453
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[PROJECT]]
@@ -2477,7 +2493,8 @@ public func testSubscriptReadModifyThroughNonCopyableParentStruct_BaseLoadable_R
2477
2493
2478
2494
// CHECK-LABEL: sil [ossa] @$s8moveonly88testSubscriptReadModifyThroughNonCopyableParentStruct_BaseLoadable_ResultAddressOnly_LetyyF : $@convention(thin) () -> () {
2479
2495
// CHECK: [[BOX:%.*]] = alloc_box ${ let L
2480
- // CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
2496
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[BOX]]
2497
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
2481
2498
//
2482
2499
// CHECK: [[MARK:%.*]] = mark_must_check [no_consume_or_assign] [[PROJECT]]
2483
2500
// CHECK: [[LOAD:%.*]] = load_borrow [[MARK]]
@@ -2699,7 +2716,8 @@ public struct LoadableSubscriptGetModifyTester : ~Copyable {
2699
2716
2700
2717
// CHECK-LABEL: sil [ossa] @$s8moveonly57testSubscriptGetModify_BaseLoadable_ResultAddressOnly_VaryyF : $@convention(thin) () -> () {
2701
2718
// CHECK: [[BOX:%.*]] = alloc_box $
2702
- // CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
2719
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[BOX]]
2720
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
2703
2721
//
2704
2722
// The get call
2705
2723
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[PROJECT]]
@@ -2743,7 +2761,8 @@ public func testSubscriptGetModify_BaseLoadable_ResultAddressOnly_Var() {
2743
2761
2744
2762
// CHECK-LABEL: sil [ossa] @$s8moveonly57testSubscriptGetModify_BaseLoadable_ResultAddressOnly_LetyyF : $@convention(thin) () -> () {
2745
2763
// CHECK: [[BOX:%.*]] = alloc_box $
2746
- // CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
2764
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[BOX]]
2765
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
2747
2766
//
2748
2767
// The get call
2749
2768
// CHECK: [[MARK:%.*]] = mark_must_check [no_consume_or_assign] [[PROJECT]]
@@ -2850,7 +2869,8 @@ public struct LoadableSubscriptGetModifyTesterNonCopyableStructParent : ~Copyabl
2850
2869
2851
2870
// CHECK-LABEL: sil [ossa] @$s8moveonly87testSubscriptGetModifyThroughNonCopyableParentStruct_BaseLoadable_ResultAddressOnly_VaryyF : $@convention(thin) () -> () {
2852
2871
// CHECK: [[BOX:%.*]] = alloc_box $
2853
- // CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
2872
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[BOX]]
2873
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
2854
2874
//
2855
2875
// The first get call
2856
2876
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] [[PROJECT]]
@@ -2900,7 +2920,8 @@ public func testSubscriptGetModifyThroughNonCopyableParentStruct_BaseLoadable_Re
2900
2920
2901
2921
// CHECK-LABEL: sil [ossa] @$s8moveonly87testSubscriptGetModifyThroughNonCopyableParentStruct_BaseLoadable_ResultAddressOnly_LetyyF : $@convention(thin) () -> () {
2902
2922
// CHECK: [[BOX:%.*]] = alloc_box ${ let L
2903
- // CHECK: [[PROJECT:%.*]] = project_box [[BOX]]
2923
+ // CHECK: [[BOX_LIFETIME:%.*]] = begin_borrow [lexical] [[BOX]]
2924
+ // CHECK: [[PROJECT:%.*]] = project_box [[BOX_LIFETIME]]
2904
2925
//
2905
2926
// CHECK: [[MARK:%.*]] = mark_must_check [no_consume_or_assign] [[PROJECT]]
2906
2927
// CHECK: [[LOAD:%.*]] = load_borrow [[MARK]]
0 commit comments