@@ -8,13 +8,15 @@ import Swift
88
99struct BufferView : ~Escapable {
1010 @_hasStorage let ptr: UnsafeRawBufferPointer { get }
11- @inlinable init(_ ptr: UnsafeRawBufferPointer) -> _scope(ptr) Self
12- init(_ ptr: UnsafeRawBufferPointer, _ a: borrowing Array<Int>) -> _scope(a) Self
11+ @lifetime(borrow ptr) @ inlinable init(_ ptr: UnsafeRawBufferPointer)
12+ @lifetime(borrow a) init(_ ptr: UnsafeRawBufferPointer, _ a: borrowing Array<Int>)
1313}
1414
15- func derive(_ x: borrowing BufferView) -> _scope(x) BufferView
15+ @lifetime(borrow x)
16+ func derive(_ x: borrowing BufferView) -> BufferView
1617
17- func consumeAndCreate(_ x: consuming BufferView) -> _inherit(x) BufferView
18+ @lifetime(x)
19+ func consumeAndCreate(_ x: consuming BufferView) -> BufferView
1820
1921sil hidden [unsafe_nonescapable_result] @bufferviewinit1 : $@convention(method) (UnsafeRawBufferPointer, @thin BufferView.Type) -> @owned BufferView {
2022bb0(%0 : $UnsafeRawBufferPointer, %1 : $@thin BufferView.Type):
@@ -30,8 +32,8 @@ bb0(%0 : $UnsafeRawBufferPointer, %1 : $@thin BufferView.Type):
3032 return %8 : $BufferView
3133}
3234
33- // CHECK-LABEL: sil hidden @bufferviewtest2 : $@convention(method) (UnsafeRawBufferPointer, @guaranteed Array<Int>, @thin BufferView.Type) -> _scope( 1) @owned BufferView {
34- sil hidden @bufferviewtest2 : $@convention(method) (UnsafeRawBufferPointer, @guaranteed Array<Int>, @thin BufferView.Type) -> _scope( 1) @owned BufferView {
35+ // CHECK-LABEL: sil hidden @bufferviewtest2 : $@convention(method) (UnsafeRawBufferPointer, @guaranteed Array<Int>, @thin BufferView.Type) -> @lifetime(borrow 1) @owned BufferView {
36+ sil hidden @bufferviewtest2 : $@convention(method) (UnsafeRawBufferPointer, @guaranteed Array<Int>, @thin BufferView.Type) -> @lifetime(borrow 1) @owned BufferView {
3537bb0(%0 : $UnsafeRawBufferPointer, %1 : @noImplicitCopy $Array<Int>, %2 : $@thin BufferView.Type):
3638 %3 = alloc_stack [var_decl] $BufferView, var, name "self"
3739 %6 = begin_access [modify] [static] %3 : $*BufferView
@@ -44,8 +46,8 @@ bb0(%0 : $UnsafeRawBufferPointer, %1 : @noImplicitCopy $Array<Int>, %2 : $@thin
4446 return %10 : $BufferView
4547}
4648
47- // CHECK-LABEL: sil hidden @derive : $@convention(thin) (@guaranteed BufferView) -> _scope( 0) @owned BufferView {
48- sil hidden @derive : $@convention(thin) (@guaranteed BufferView) -> _scope( 0) @owned BufferView {
49+ // CHECK-LABEL: sil hidden @derive : $@convention(thin) (@guaranteed BufferView) -> @lifetime(borrow 0) @owned BufferView {
50+ sil hidden @derive : $@convention(thin) (@guaranteed BufferView) -> @lifetime(borrow 0) @owned BufferView {
4951bb0(%0 : @noImplicitCopy $BufferView):
5052 %2 = metatype $@thin BufferView.Type
5153 %3 = struct_extract %0 : $BufferView, #BufferView.ptr
@@ -54,8 +56,8 @@ bb0(%0 : @noImplicitCopy $BufferView):
5456 return %5 : $BufferView
5557}
5658
57- // CHECK-LABEL: sil hidden @consumeAndCreate : $@convention(thin) (@owned BufferView) -> _inherit( 0) @owned BufferView {
58- sil hidden @consumeAndCreate : $@convention(thin) (@owned BufferView) -> _inherit( 0) @owned BufferView {
59+ // CHECK-LABEL: sil hidden @consumeAndCreate : $@convention(thin) (@owned BufferView) -> @lifetime(copy 0) @owned BufferView {
60+ sil hidden @consumeAndCreate : $@convention(thin) (@owned BufferView) -> @lifetime(copy 0) @owned BufferView {
5961bb0(%0 : @noImplicitCopy @_eagerMove $BufferView):
6062 %1 = alloc_stack [var_decl] [moveable_value_debuginfo] $BufferView, var, name "x"
6163 %2 = struct_extract %0 : $BufferView, #BufferView.ptr
0 commit comments