@@ -8,13 +8,15 @@ import Swift
8
8
9
9
struct BufferView : ~Escapable {
10
10
@_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(ptr) @ inlinable init(_ ptr: UnsafeRawBufferPointer)
12
+ @lifetime(borrow a) init(_ ptr: UnsafeRawBufferPointer, _ a: borrowing Array<Int>)
13
13
}
14
14
15
- func derive(_ x: borrowing BufferView) -> _scope(x) BufferView
15
+ @lifetime(borrow x)
16
+ func derive(_ x: borrowing BufferView) -> BufferView
16
17
17
- func consumeAndCreate(_ x: consuming BufferView) -> _inherit(x) BufferView
18
+ @lifetime(x)
19
+ func consumeAndCreate(_ x: consuming BufferView) -> BufferView
18
20
19
21
sil hidden [unsafe_nonescapable_result] @bufferviewinit1 : $@convention(method) (UnsafeRawBufferPointer, @thin BufferView.Type) -> @owned BufferView {
20
22
bb0(%0 : $UnsafeRawBufferPointer, %1 : $@thin BufferView.Type):
@@ -30,8 +32,8 @@ bb0(%0 : $UnsafeRawBufferPointer, %1 : $@thin BufferView.Type):
30
32
return %8 : $BufferView
31
33
}
32
34
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 {
35
37
bb0(%0 : $UnsafeRawBufferPointer, %1 : @noImplicitCopy $Array<Int>, %2 : $@thin BufferView.Type):
36
38
%3 = alloc_stack [var_decl] $BufferView, var, name "self"
37
39
%6 = begin_access [modify] [static] %3 : $*BufferView
@@ -44,8 +46,8 @@ bb0(%0 : $UnsafeRawBufferPointer, %1 : @noImplicitCopy $Array<Int>, %2 : $@thin
44
46
return %10 : $BufferView
45
47
}
46
48
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 {
49
51
bb0(%0 : @noImplicitCopy $BufferView):
50
52
%2 = metatype $@thin BufferView.Type
51
53
%3 = struct_extract %0 : $BufferView, #BufferView.ptr
@@ -54,8 +56,8 @@ bb0(%0 : @noImplicitCopy $BufferView):
54
56
return %5 : $BufferView
55
57
}
56
58
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 {
59
61
bb0(%0 : @noImplicitCopy @_eagerMove $BufferView):
60
62
%1 = alloc_stack [var_decl] [moveable_value_debuginfo] $BufferView, var, name "x"
61
63
%2 = struct_extract %0 : $BufferView, #BufferView.ptr
0 commit comments