@@ -13,7 +13,8 @@ import StdSpan
13
13
import CxxStdlib
14
14
15
15
// CHECK: struct DependsOnSelf {
16
- // CHECK: @lifetime(borrow self)
16
+ // CHECK: @available(macOS {{.*}}, *)
17
+ // CHECK-NEXT: @lifetime(borrow self)
17
18
// CHECK-NEXT: @_alwaysEmitIntoClient @_disfavoredOverload public borrowing func get() -> Span<CInt>
18
19
// CHECK-NEXT: borrowing func get() -> ConstSpanOfInt
19
20
@@ -23,51 +24,66 @@ import CxxStdlib
23
24
// CHECK-NEXT: func funcWithSafeWrapper3(_ v: borrowing VecOfInt) -> ConstSpanOfInt
24
25
// CHECK: struct X {
25
26
// CHECK-NEXT: init()
27
+ // CHECK-NEXT: @available(macOS {{.*}}, *)
26
28
// CHECK-NEXT: @_alwaysEmitIntoClient public mutating func methodWithSafeWrapper(_ s: Span<CInt>)
27
29
// CHECK-NEXT: mutating func methodWithSafeWrapper(_ s: ConstSpanOfInt)
28
30
// CHECK-NEXT: }
29
31
// CHECK: struct SpanWithoutTypeAlias {
30
32
// CHECK-NEXT: init()
33
+ // CHECK-NEXT: @available(macOS {{.*}}, *)
31
34
// CHECK-NEXT: @lifetime(borrow self)
32
35
// CHECK-NEXT: @_alwaysEmitIntoClient @_disfavoredOverload public mutating func bar() -> Span<CInt>
33
36
// CHECK-NEXT: mutating func bar() -> std.{{.*}}span<__cxxConst<CInt>, _C{{.*}}_{{.*}}>
37
+ // CHECK-NEXT: @available(macOS {{.*}}, *)
34
38
// CHECK-NEXT: @_alwaysEmitIntoClient public mutating func foo(_ s: Span<CInt>)
35
39
// CHECK-NEXT: mutating func foo(_ s: std.{{.*}}span<__cxxConst<CInt>, _C{{.*}}_{{.*}}>)
36
40
// CHECK-NEXT: }
37
41
38
- // CHECK: @lifetime(s: copy s)
42
+ // CHECK: @available(macOS {{.*}}, *)
43
+ // CHECK-NEXT: @lifetime(s: copy s)
39
44
// CHECK-NEXT: @_alwaysEmitIntoClient public func FuncWithMutableSafeWrapper(_ s: inout MutableSpan<CInt>)
45
+ // CHECK-NEXT: @available(macOS {{.*}}, *)
40
46
// CHECK-NEXT: @lifetime(copy s)
41
47
// CHECK-NEXT: @lifetime(s: copy s)
42
48
// CHECK-NEXT: @_alwaysEmitIntoClient public func FuncWithMutableSafeWrapper2(_ s: inout MutableSpan<CInt>) -> MutableSpan<CInt>
43
- // CHECK-NEXT: @lifetime(borrow v)
44
- // CHECK-NEXT: @_alwaysEmitIntoClient @_disfavoredOverload public func FuncWithMutableSafeWrapper3(_ v: inout VecOfInt) -> MutableSpan<CInt>
49
+ // CHECK-NOT: FuncWithMutableSafeWrapper3
50
+ // CHECK-NEXT: @available(macOS {{.*}}, *)
45
51
// CHECK-NEXT: @lifetime(copy p)
46
52
// CHECK-NEXT: @lifetime(p: copy p)
47
53
// CHECK-NEXT: @_alwaysEmitIntoClient public func MixedFuncWithMutableSafeWrapper1(_ p: inout MutableSpan<Int32>) -> MutableSpan<CInt>
48
- // CHECK-NEXT: @lifetime(borrow v)
49
- // CHECK-NEXT: @_alwaysEmitIntoClient @_disfavoredOverload public func MixedFuncWithMutableSafeWrapper2(_ v: inout VecOfInt, _ len: Int32) -> MutableSpan<Int32>
54
+ // CHECK-NEXT: @_alwaysEmitIntoClient @_disfavoredOverload public func MixedFuncWithMutableSafeWrapper2(_ v: inout VecOfInt, _ len: Int32) -> UnsafeMutableBufferPointer<Int32>
55
+ // CHECK-NEXT: @available(macOS {{.*}}, *)
50
56
// CHECK-NEXT: @lifetime(s: copy s)
51
57
// CHECK-NEXT: @_alwaysEmitIntoClient public func MixedFuncWithMutableSafeWrapper3(_ s: inout MutableSpan<CInt>, _ p: UnsafeMutableBufferPointer<Int32>)
58
+ // CHECK-NEXT: @available(macOS {{.*}}, *)
52
59
// CHECK-NEXT: @lifetime(s: copy s)
53
60
// CHECK-NEXT: @lifetime(p: copy p)
54
61
// CHECK-NEXT: @_alwaysEmitIntoClient public func MixedFuncWithMutableSafeWrapper4(_ s: inout MutableSpan<CInt>, _ p: inout MutableSpan<Int32>)
62
+ // CHECK-NEXT: @available(macOS {{.*}}, *)
55
63
// CHECK-NEXT: @lifetime(p: copy p)
56
64
// CHECK-NEXT: @_alwaysEmitIntoClient public func MixedFuncWithMutableSafeWrapper5(_ s: SpanOfInt, _ p: inout MutableSpan<Int32>)
57
65
// CHECK-NEXT: @_alwaysEmitIntoClient public func MixedFuncWithMutableSafeWrapper6(_ s: SpanOfInt, _ p: UnsafeMutableBufferPointer<Int32>)
58
66
// CHECK-NEXT: @_alwaysEmitIntoClient public func MixedFuncWithMutableSafeWrapper7(_ p: UnsafeMutableBufferPointer<Int32>) -> SpanOfInt
59
67
60
- // CHECK: @_alwaysEmitIntoClient public func funcWithSafeWrapper(_ s: Span<CInt>)
68
+ // CHECK: @available(macOS {{.*}}, *)
69
+ // CHECK-NEXT: @_alwaysEmitIntoClient public func funcWithSafeWrapper(_ s: Span<CInt>)
70
+ // CHECK-NEXT: @available(macOS {{.*}}, *)
61
71
// CHECK-NEXT: @lifetime(copy s)
62
72
// CHECK-NEXT: @_alwaysEmitIntoClient public func funcWithSafeWrapper2(_ s: Span<CInt>) -> Span<CInt>
73
+ // CHECK-NEXT: @available(macOS {{.*}}, *)
63
74
// CHECK-NEXT: @lifetime(borrow v)
64
75
// CHECK-NEXT: @_alwaysEmitIntoClient @_disfavoredOverload public func funcWithSafeWrapper3(_ v: borrowing VecOfInt) -> Span<CInt>
76
+ // CHECK-NEXT: @available(macOS {{.*}}, *)
65
77
// CHECK-NEXT: @lifetime(copy p)
66
78
// CHECK-NEXT: @_alwaysEmitIntoClient public func mixedFuncWithSafeWrapper1(_ p: Span<Int32>) -> Span<CInt>
79
+ // CHECK-NEXT: @available(macOS {{.*}}, *)
67
80
// CHECK-NEXT: @lifetime(borrow v)
68
81
// CHECK-NEXT: @_alwaysEmitIntoClient @_disfavoredOverload public func mixedFuncWithSafeWrapper2(_ v: borrowing VecOfInt, _ len: Int32) -> Span<Int32>
82
+ // CHECK-NEXT: @available(macOS {{.*}}, *)
69
83
// CHECK-NEXT: @_alwaysEmitIntoClient public func mixedFuncWithSafeWrapper3(_ s: Span<CInt>, _ p: UnsafeMutableBufferPointer<Int32>)
84
+ // CHECK-NEXT: @available(macOS {{.*}}, *)
70
85
// CHECK-NEXT: @_alwaysEmitIntoClient public func mixedFuncWithSafeWrapper4(_ s: Span<CInt>, _ p: Span<Int32>)
86
+ // CHECK-NEXT: @available(macOS {{.*}}, *)
71
87
// CHECK-NEXT: @_alwaysEmitIntoClient public func mixedFuncWithSafeWrapper5(_ s: ConstSpanOfInt, _ p: Span<Int32>)
72
88
// CHECK-NEXT: @_alwaysEmitIntoClient public func mixedFuncWithSafeWrapper6(_ s: ConstSpanOfInt, _ p: UnsafeMutableBufferPointer<Int32>)
73
89
// CHECK-NEXT: @_alwaysEmitIntoClient public func mixedFuncWithSafeWrapper7(_ p: UnsafeBufferPointer<Int32>) -> ConstSpanOfInt
0 commit comments