From 2e01ba308f56f69866cce26e1d4374868866475d Mon Sep 17 00:00:00 2001 From: "Henrik G. Olsson" Date: Fri, 10 Oct 2025 21:43:06 -0700 Subject: [PATCH] [Swiftify] Don't use `unsafe` for Unsafe[Mut][Raw]BufferPointer.count Although the type is unsafe, the count is marked `@safe`, and this use of `unsafe` results in a warning (regardless of whether strict memory safety is enabled or not). Keep emitting `unsafe` when the pointer buffer is wrapped in Optional for now however, because that is currently flagged as unsafe. rdar://162416566 --- .../SwiftMacros/SwiftifyImportMacro.swift | 3 +- .../SwiftifyImport/CountedBy/Anonymous.swift | 4 +-- .../CountedBy/ConstantCount.swift | 8 +++--- .../SwiftifyImport/CountedBy/CountExpr.swift | 2 +- .../CountedBy/MultipleParams.swift | 4 +-- .../SwiftifyImport/CountedBy/Mutable.swift | 2 +- .../CountedBy/NamedParams.swift | 12 ++++---- .../CountedBy/PointerReturn.swift | 2 +- .../CountedBy/QualifiedTypes.swift | 4 +-- .../SwiftifyImport/CountedBy/Return.swift | 2 +- .../CountedBy/SharedCount.swift | 28 +++++++++---------- .../CountedBy/SimpleCount.swift | 2 +- .../CountedBy/SpanAndUnsafeBuffer.swift | 2 +- .../SwiftifyImport/CountedBy/Unwrapped.swift | 2 +- .../MacroErrors/UnexpectedCountType.swift | 4 +-- .../SizedBy/MultipleParams.swift | 4 +-- .../SwiftifyImport/SizedBy/Mutable.swift | 2 +- .../SwiftifyImport/SizedBy/Opaque.swift | 4 +-- .../SizedBy/PointerReturn.swift | 4 +-- .../SwiftifyImport/SizedBy/Return.swift | 2 +- .../SwiftifyImport/SizedBy/SharedCount.swift | 6 ++-- .../SwiftifyImport/SizedBy/SimpleSize.swift | 2 +- .../SwiftifyImport/SizedBy/SizeExpr.swift | 2 +- .../SwiftifyImport/SizedBy/TypedPointer.swift | 6 ++-- .../SwiftifyImport/SizedBy/Unwrapped.swift | 2 +- 25 files changed, 58 insertions(+), 57 deletions(-) diff --git a/lib/Macros/Sources/SwiftMacros/SwiftifyImportMacro.swift b/lib/Macros/Sources/SwiftMacros/SwiftifyImportMacro.swift index 32123e1de0aaf..94d7583d0b85b 100644 --- a/lib/Macros/Sources/SwiftMacros/SwiftifyImportMacro.swift +++ b/lib/Macros/Sources/SwiftMacros/SwiftifyImportMacro.swift @@ -882,7 +882,8 @@ struct CountedOrSizedPointerThunkBuilder: ParamBoundsThunkBuilder, PointerBounds } func makeCount() -> ExprSyntax { - let unsafeKw = generateSpan ? "" : "unsafe " + // We shouldn't need this for any case, but UnsafeBufferPointer?.count is currently seen as unsafe + let unsafeKw = (generateSpan || !nullable) ? "" : "unsafe " if nullable { return ExprSyntax("\(raw: unsafeKw)\(name)?.\(raw: countLabel) ?? 0") } diff --git a/test/Macros/SwiftifyImport/CountedBy/Anonymous.swift b/test/Macros/SwiftifyImport/CountedBy/Anonymous.swift index b51125d09f992..92ef8b1d7c95e 100644 --- a/test/Macros/SwiftifyImport/CountedBy/Anonymous.swift +++ b/test/Macros/SwiftifyImport/CountedBy/Anonymous.swift @@ -20,13 +20,13 @@ public func myFunc4(_: UnsafeMutablePointer, _ len: CInt) { // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: public func myFunc(_ _myFunc_param0: UnsafeBufferPointer) { -// CHECK-NEXT: let _myFunc_param1 = CInt(exactly: unsafe _myFunc_param0.count)! +// CHECK-NEXT: let _myFunc_param1 = CInt(exactly: _myFunc_param0.count)! // CHECK-NEXT: return unsafe myFunc(_myFunc_param0.baseAddress!, _myFunc_param1) // CHECK-NEXT: } // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: public func myFunc2(_ _myFunc2_param0: UnsafeBufferPointer, _ _myFunc2_param2: CInt) { -// CHECK-NEXT: let _myFunc2_param1 = CInt(exactly: unsafe _myFunc2_param0.count)! +// CHECK-NEXT: let _myFunc2_param1 = CInt(exactly: _myFunc2_param0.count)! // CHECK-NEXT: return unsafe myFunc2(_myFunc2_param0.baseAddress!, _myFunc2_param1, _myFunc2_param2) // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/CountedBy/ConstantCount.swift b/test/Macros/SwiftifyImport/CountedBy/ConstantCount.swift index 08990a2af3e54..ebf4d68ae068a 100644 --- a/test/Macros/SwiftifyImport/CountedBy/ConstantCount.swift +++ b/test/Macros/SwiftifyImport/CountedBy/ConstantCount.swift @@ -55,7 +55,7 @@ func noescapeMutOpt(_ ptr: UnsafeMutablePointer?) -> UnsafeMutablePointer< // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func plain(_ ptr: UnsafeBufferPointer) { -// CHECK-NEXT: let _ptrCount = unsafe ptr.count +// CHECK-NEXT: let _ptrCount = ptr.count // CHECK-NEXT: if _ptrCount != 37 { // CHECK-NEXT: fatalError("bounds check failure in plain: expected \(37) but got \(_ptrCount)") // CHECK-NEXT: } @@ -73,7 +73,7 @@ func noescapeMutOpt(_ ptr: UnsafeMutablePointer?) -> UnsafeMutablePointer< // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func mut(_ ptr: UnsafeMutableBufferPointer) { -// CHECK-NEXT: let _ptrCount = unsafe ptr.count +// CHECK-NEXT: let _ptrCount = ptr.count // CHECK-NEXT: if _ptrCount != 37 { // CHECK-NEXT: fatalError("bounds check failure in mut: expected \(37) but got \(_ptrCount)") // CHECK-NEXT: } @@ -102,7 +102,7 @@ func noescapeMutOpt(_ ptr: UnsafeMutablePointer?) -> UnsafeMutablePointer< // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func noescape(_ ptr: UnsafeBufferPointer) -> UnsafePointer { -// CHECK-NEXT: let _ptrCount = unsafe ptr.count +// CHECK-NEXT: let _ptrCount = ptr.count // CHECK-NEXT: if _ptrCount != 37 { // CHECK-NEXT: fatalError("bounds check failure in noescape: expected \(37) but got \(_ptrCount)") // CHECK-NEXT: } @@ -139,7 +139,7 @@ func noescapeMutOpt(_ ptr: UnsafeMutablePointer?) -> UnsafeMutablePointer< // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func noescapeMut(_ ptr: UnsafeMutableBufferPointer) -> UnsafeMutablePointer { -// CHECK-NEXT: let _ptrCount = unsafe ptr.count +// CHECK-NEXT: let _ptrCount = ptr.count // CHECK-NEXT: if _ptrCount != 37 { // CHECK-NEXT: fatalError("bounds check failure in noescapeMut: expected \(37) but got \(_ptrCount)") // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/CountedBy/CountExpr.swift b/test/Macros/SwiftifyImport/CountedBy/CountExpr.swift index 8bc4018956683..a5d11c66104b2 100644 --- a/test/Macros/SwiftifyImport/CountedBy/CountExpr.swift +++ b/test/Macros/SwiftifyImport/CountedBy/CountExpr.swift @@ -8,7 +8,7 @@ func myFunc(_ ptr: UnsafePointer, _ size: CInt, _ count: CInt) { // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func myFunc(_ ptr: UnsafeBufferPointer, _ size: CInt, _ count: CInt) { -// CHECK-NEXT: let _ptrCount = unsafe ptr.count +// CHECK-NEXT: let _ptrCount = ptr.count // CHECK-NEXT: if _ptrCount != size * count { // CHECK-NEXT: fatalError("bounds check failure in myFunc: expected \(size * count) but got \(_ptrCount)") // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/CountedBy/MultipleParams.swift b/test/Macros/SwiftifyImport/CountedBy/MultipleParams.swift index 8f0ac6f8d09f1..c7ca61fe16c72 100644 --- a/test/Macros/SwiftifyImport/CountedBy/MultipleParams.swift +++ b/test/Macros/SwiftifyImport/CountedBy/MultipleParams.swift @@ -8,7 +8,7 @@ func myFunc(_ ptr: UnsafePointer, _ len: CInt, _ ptr2: UnsafePointer // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func myFunc(_ ptr: UnsafeBufferPointer, _ ptr2: UnsafeBufferPointer) { -// CHECK-NEXT: let len = CInt(exactly: unsafe ptr.count)! -// CHECK-NEXT: let len2 = CInt(exactly: unsafe ptr2.count)! +// CHECK-NEXT: let len = CInt(exactly: ptr.count)! +// CHECK-NEXT: let len2 = CInt(exactly: ptr2.count)! // CHECK-NEXT: return unsafe myFunc(ptr.baseAddress!, len, ptr2.baseAddress!, len2) // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/CountedBy/Mutable.swift b/test/Macros/SwiftifyImport/CountedBy/Mutable.swift index bb1b1f615026a..74ef89aae28b4 100644 --- a/test/Macros/SwiftifyImport/CountedBy/Mutable.swift +++ b/test/Macros/SwiftifyImport/CountedBy/Mutable.swift @@ -8,6 +8,6 @@ func myFunc(_ ptr: UnsafeMutablePointer, _ len: CInt) { // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func myFunc(_ ptr: UnsafeMutableBufferPointer) { -// CHECK-NEXT: let len = CInt(exactly: unsafe ptr.count)! +// CHECK-NEXT: let len = CInt(exactly: ptr.count)! // CHECK-NEXT: return unsafe myFunc(ptr.baseAddress!, len) // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/CountedBy/NamedParams.swift b/test/Macros/SwiftifyImport/CountedBy/NamedParams.swift index d75240dafec34..51120efcbb264 100644 --- a/test/Macros/SwiftifyImport/CountedBy/NamedParams.swift +++ b/test/Macros/SwiftifyImport/CountedBy/NamedParams.swift @@ -28,36 +28,36 @@ func allNamedOther(buf ptr: UnsafePointer, count len: CInt) { // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func ptrNamed(ptr: UnsafeBufferPointer) { -// CHECK-NEXT: let len = CInt(exactly: unsafe ptr.count)! +// CHECK-NEXT: let len = CInt(exactly: ptr.count)! // CHECK-NEXT: return unsafe ptrNamed(ptr: ptr.baseAddress!, len) // CHECK-NEXT: } // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func ptrNamedOther(buf ptr: UnsafeBufferPointer) { -// CHECK-NEXT: let len = CInt(exactly: unsafe ptr.count)! +// CHECK-NEXT: let len = CInt(exactly: ptr.count)! // CHECK-NEXT: return unsafe ptrNamedOther(buf: ptr.baseAddress!, len) // CHECK-NEXT: } // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func lenNamed(_ ptr: UnsafeBufferPointer) { -// CHECK-NEXT: let len = CInt(exactly: unsafe ptr.count)! +// CHECK-NEXT: let len = CInt(exactly: ptr.count)! // CHECK-NEXT: return unsafe lenNamed(ptr.baseAddress!, len: len) // CHECK-NEXT: } // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func lenNamedOther(_ ptr: UnsafeBufferPointer) { -// CHECK-NEXT: let len = CInt(exactly: unsafe ptr.count)! +// CHECK-NEXT: let len = CInt(exactly: ptr.count)! // CHECK-NEXT: return unsafe lenNamedOther(ptr.baseAddress!, count: len) // CHECK-NEXT: } // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func allNamed(ptr: UnsafeBufferPointer) { -// CHECK-NEXT: let len = CInt(exactly: unsafe ptr.count)! +// CHECK-NEXT: let len = CInt(exactly: ptr.count)! // CHECK-NEXT: return unsafe allNamed(ptr: ptr.baseAddress!, len: len) // CHECK-NEXT: } // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func allNamedOther(buf ptr: UnsafeBufferPointer) { -// CHECK-NEXT: let len = CInt(exactly: unsafe ptr.count)! +// CHECK-NEXT: let len = CInt(exactly: ptr.count)! // CHECK-NEXT: return unsafe allNamedOther(buf: ptr.baseAddress!, count: len) // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/CountedBy/PointerReturn.swift b/test/Macros/SwiftifyImport/CountedBy/PointerReturn.swift index f00000a92cd42..d217fd9530288 100644 --- a/test/Macros/SwiftifyImport/CountedBy/PointerReturn.swift +++ b/test/Macros/SwiftifyImport/CountedBy/PointerReturn.swift @@ -38,6 +38,6 @@ func lifetimeDependentBorrow(_ p: borrowing UnsafePointer, _ len1: CInt, _ // CHECK: @_alwaysEmitIntoClient @_lifetime(borrow p) @_disfavoredOverload // CHECK-NEXT: func lifetimeDependentBorrow(_ p: borrowing UnsafeBufferPointer, _ len2: CInt) -> Span { -// CHECK-NEXT: let len1 = CInt(exactly: unsafe p.count)! +// CHECK-NEXT: let len1 = CInt(exactly: p.count)! // CHECK-NEXT: return unsafe _swiftifyOverrideLifetime(Span (_unsafeStart: unsafe lifetimeDependentBorrow(p.baseAddress!, len1, len2), count: Int(len2)), copying: ()) // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/CountedBy/QualifiedTypes.swift b/test/Macros/SwiftifyImport/CountedBy/QualifiedTypes.swift index a8efdd51e25ab..fb884e4aa4afb 100644 --- a/test/Macros/SwiftifyImport/CountedBy/QualifiedTypes.swift +++ b/test/Macros/SwiftifyImport/CountedBy/QualifiedTypes.swift @@ -12,12 +12,12 @@ func bar(_ ptr: Swift.UnsafePointer, _ len: Swift.Int) -> () { // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func foo(_ ptr: Swift.UnsafeBufferPointer) -> Swift.Void { -// CHECK-NEXT: let len = unsafe ptr.count +// CHECK-NEXT: let len = ptr.count // CHECK-NEXT: return unsafe foo(ptr.baseAddress!, len) // CHECK-NEXT: } // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func bar(_ ptr: Swift.UnsafeBufferPointer) -> () { -// CHECK-NEXT: let len = unsafe ptr.count +// CHECK-NEXT: let len = ptr.count // CHECK-NEXT: return unsafe bar(ptr.baseAddress!, len) // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/CountedBy/Return.swift b/test/Macros/SwiftifyImport/CountedBy/Return.swift index dab352b4cc686..f3d8e6f524c1b 100644 --- a/test/Macros/SwiftifyImport/CountedBy/Return.swift +++ b/test/Macros/SwiftifyImport/CountedBy/Return.swift @@ -8,6 +8,6 @@ func myFunc(_ ptr: UnsafePointer, _ len: CInt) -> CInt { // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func myFunc(_ ptr: UnsafeBufferPointer) -> CInt { -// CHECK-NEXT: let len = CInt(exactly: unsafe ptr.count)! +// CHECK-NEXT: let len = CInt(exactly: ptr.count)! // CHECK-NEXT: return unsafe myFunc(ptr.baseAddress!, len) // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/CountedBy/SharedCount.swift b/test/Macros/SwiftifyImport/CountedBy/SharedCount.swift index 3821d0e7c660b..a51858500610d 100644 --- a/test/Macros/SwiftifyImport/CountedBy/SharedCount.swift +++ b/test/Macros/SwiftifyImport/CountedBy/SharedCount.swift @@ -24,17 +24,17 @@ func myFunc5(_ ptr: UnsafePointer, _ ptr2: UnsafePointer, _ ptr3: Un // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func myFunc(_ ptr: UnsafeBufferPointer, _ ptr2: UnsafeBufferPointer) { -// CHECK-NEXT: let len = CInt(exactly: unsafe ptr.count)! -// CHECK-NEXT: if unsafe ptr2.count != len { -// CHECK-NEXT: fatalError("bounds check failure in myFunc: expected \(len) but got \(unsafe ptr2.count)") +// CHECK-NEXT: let len = CInt(exactly: ptr.count)! +// CHECK-NEXT: if ptr2.count != len { +// CHECK-NEXT: fatalError("bounds check failure in myFunc: expected \(len) but got \(ptr2.count)") // CHECK-NEXT: } // CHECK-NEXT: return unsafe myFunc(ptr.baseAddress!, ptr2.baseAddress!, len) // CHECK-NEXT: } // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func myFunc2(_ ptr: UnsafeBufferPointer, _ ptr2: UnsafeBufferPointer, _ size: CInt) { -// CHECK-NEXT: let len = CInt(exactly: unsafe ptr.count)! -// CHECK-NEXT: let _ptr2Count = unsafe ptr2.count +// CHECK-NEXT: let len = CInt(exactly: ptr.count)! +// CHECK-NEXT: let _ptr2Count = ptr2.count // CHECK-NEXT: if _ptr2Count != len * size { // CHECK-NEXT: fatalError("bounds check failure in myFunc2: expected \(len * size) but got \(_ptr2Count)") // CHECK-NEXT: } @@ -43,9 +43,9 @@ func myFunc5(_ ptr: UnsafePointer, _ ptr2: UnsafePointer, _ ptr3: Un // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func myFunc3(_ ptr: UnsafeBufferPointer, _ ptr2: UnsafeBufferPointer, _ ptr3: UnsafeBufferPointer) { -// CHECK-NEXT: let len = CInt(exactly: unsafe ptr.count)! -// CHECK-NEXT: let size = CInt(exactly: unsafe ptr2.count)! -// CHECK-NEXT: let _ptr3Count = unsafe ptr3.count +// CHECK-NEXT: let len = CInt(exactly: ptr.count)! +// CHECK-NEXT: let size = CInt(exactly: ptr2.count)! +// CHECK-NEXT: let _ptr3Count = ptr3.count // CHECK-NEXT: if _ptr3Count != len * size { // CHECK-NEXT: fatalError("bounds check failure in myFunc3: expected \(len * size) but got \(_ptr3Count)") // CHECK-NEXT: } @@ -54,9 +54,9 @@ func myFunc5(_ ptr: UnsafePointer, _ ptr2: UnsafePointer, _ ptr3: Un // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func myFunc4(_ ptr: UnsafeBufferPointer, _ ptr2: UnsafeBufferPointer, _ ptr3: UnsafeBufferPointer) { -// CHECK-NEXT: let size = CInt(exactly: unsafe ptr2.count)! -// CHECK-NEXT: let len = CInt(exactly: unsafe ptr3.count)! -// CHECK-NEXT: let _ptrCount = unsafe ptr.count +// CHECK-NEXT: let size = CInt(exactly: ptr2.count)! +// CHECK-NEXT: let len = CInt(exactly: ptr3.count)! +// CHECK-NEXT: let _ptrCount = ptr.count // CHECK-NEXT: if _ptrCount != len * size { // CHECK-NEXT: fatalError("bounds check failure in myFunc4: expected \(len * size) but got \(_ptrCount)") // CHECK-NEXT: } @@ -65,9 +65,9 @@ func myFunc5(_ ptr: UnsafePointer, _ ptr2: UnsafePointer, _ ptr3: Un // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func myFunc5(_ ptr: UnsafeBufferPointer, _ ptr2: UnsafeBufferPointer, _ ptr3: UnsafeBufferPointer) { -// CHECK-NEXT: let size = CInt(exactly: unsafe ptr2.count)! -// CHECK-NEXT: let len = CInt(exactly: unsafe ptr3.count)! -// CHECK-NEXT: let _ptrCount = unsafe ptr.count +// CHECK-NEXT: let size = CInt(exactly: ptr2.count)! +// CHECK-NEXT: let len = CInt(exactly: ptr3.count)! +// CHECK-NEXT: let _ptrCount = ptr.count // CHECK-NEXT: if _ptrCount != len * size { // CHECK-NEXT: fatalError("bounds check failure in myFunc5: expected \(len * size) but got \(_ptrCount)") // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/CountedBy/SimpleCount.swift b/test/Macros/SwiftifyImport/CountedBy/SimpleCount.swift index c5727fb0b0e34..b4718e4080275 100644 --- a/test/Macros/SwiftifyImport/CountedBy/SimpleCount.swift +++ b/test/Macros/SwiftifyImport/CountedBy/SimpleCount.swift @@ -8,6 +8,6 @@ func myFunc(_ ptr: UnsafePointer, _ len: CInt) { // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func myFunc(_ ptr: UnsafeBufferPointer) { -// CHECK-NEXT: let len = CInt(exactly: unsafe ptr.count)! +// CHECK-NEXT: let len = CInt(exactly: ptr.count)! // CHECK-NEXT: return unsafe myFunc(ptr.baseAddress!, len) // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/CountedBy/SpanAndUnsafeBuffer.swift b/test/Macros/SwiftifyImport/CountedBy/SpanAndUnsafeBuffer.swift index 1823fa3edca56..2efa92522fd98 100644 --- a/test/Macros/SwiftifyImport/CountedBy/SpanAndUnsafeBuffer.swift +++ b/test/Macros/SwiftifyImport/CountedBy/SpanAndUnsafeBuffer.swift @@ -11,7 +11,7 @@ func myFunc(_ ptr1: UnsafePointer, _ len1: CInt, _ ptr2: UnsafePointer, _ ptr2: UnsafeBufferPointer) { // CHECK-NEXT: let len1 = CInt(exactly: ptr1.count)! -// CHECK-NEXT: let len2 = CInt(exactly: unsafe ptr2.count)! +// CHECK-NEXT: let len2 = CInt(exactly: ptr2.count)! // CHECK-NEXT: return unsafe ptr1.withUnsafeBufferPointer { _ptr1Ptr in // CHECK-NEXT: return unsafe myFunc(_ptr1Ptr.baseAddress!, len1, ptr2.baseAddress!, len2) // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/CountedBy/Unwrapped.swift b/test/Macros/SwiftifyImport/CountedBy/Unwrapped.swift index 3e220c1726473..cbcd665cc530b 100644 --- a/test/Macros/SwiftifyImport/CountedBy/Unwrapped.swift +++ b/test/Macros/SwiftifyImport/CountedBy/Unwrapped.swift @@ -8,6 +8,6 @@ func myFunc(_ ptr: UnsafePointer!, _ len: CInt) { // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func myFunc(_ ptr: UnsafeBufferPointer) { -// CHECK-NEXT: let len = CInt(exactly: unsafe ptr.count)! +// CHECK-NEXT: let len = CInt(exactly: ptr.count)! // CHECK-NEXT: return unsafe myFunc(ptr.baseAddress!, len) // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/MacroErrors/UnexpectedCountType.swift b/test/Macros/SwiftifyImport/MacroErrors/UnexpectedCountType.swift index 239436936c6c9..5e9caf7c4e510 100644 --- a/test/Macros/SwiftifyImport/MacroErrors/UnexpectedCountType.swift +++ b/test/Macros/SwiftifyImport/MacroErrors/UnexpectedCountType.swift @@ -5,7 +5,7 @@ func myFunc(_ ptr: UnsafePointer, _ len: String) { // expected-note@-3 2{{in expansion of macro '_SwiftifyImport' on global function 'myFunc' here}} // expected-error@@__swiftmacro_4main6myFunc15_SwiftifyImportfMp_.swift:4:15{{no exact matches in call to initializer}} -// expected-error@@__swiftmacro_4main6myFunc15_SwiftifyImportfMp_.swift:4:48{{cannot force unwrap value of non-optional type 'String'}} +// expected-error@@__swiftmacro_4main6myFunc15_SwiftifyImportfMp_.swift:4:41{{cannot force unwrap value of non-optional type 'String'}} // REQUIRES: swift_swift_parser // RUN: %empty-directory(%t) @@ -17,7 +17,7 @@ func myFunc(_ ptr: UnsafePointer, _ len: String) { // CHECK-NEXT:/// This is an auto-generated wrapper for safer interop // CHECK-NEXT:@_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT:func myFunc(_ ptr: UnsafeBufferPointer) { -// CHECK-NEXT: let len = String(exactly: unsafe ptr.count)! +// CHECK-NEXT: let len = String(exactly: ptr.count)! // CHECK-NEXT: return unsafe myFunc(ptr.baseAddress!, len) // CHECK-NEXT:} // CHECK-NEXT:------------------------------ diff --git a/test/Macros/SwiftifyImport/SizedBy/MultipleParams.swift b/test/Macros/SwiftifyImport/SizedBy/MultipleParams.swift index dbf142efcfe87..d6a90c04a9ab9 100644 --- a/test/Macros/SwiftifyImport/SizedBy/MultipleParams.swift +++ b/test/Macros/SwiftifyImport/SizedBy/MultipleParams.swift @@ -8,7 +8,7 @@ func myFunc(_ ptr: UnsafeRawPointer, _ size: CInt, _ ptr2: UnsafeRawPointer, _ s // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func myFunc(_ ptr: UnsafeRawBufferPointer, _ ptr2: UnsafeRawBufferPointer) { -// CHECK-NEXT: let size = CInt(exactly: unsafe ptr.count)! -// CHECK-NEXT: let size2 = CInt(exactly: unsafe ptr2.count)! +// CHECK-NEXT: let size = CInt(exactly: ptr.count)! +// CHECK-NEXT: let size2 = CInt(exactly: ptr2.count)! // CHECK-NEXT: return unsafe myFunc(ptr.baseAddress!, size, ptr2.baseAddress!, size2) // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/SizedBy/Mutable.swift b/test/Macros/SwiftifyImport/SizedBy/Mutable.swift index 7cb497c206587..399392ad0ebff 100644 --- a/test/Macros/SwiftifyImport/SizedBy/Mutable.swift +++ b/test/Macros/SwiftifyImport/SizedBy/Mutable.swift @@ -8,6 +8,6 @@ func myFunc(_ ptr: UnsafeMutableRawPointer, _ size: CInt) { // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func myFunc(_ ptr: UnsafeMutableRawBufferPointer) { -// CHECK-NEXT: let size = CInt(exactly: unsafe ptr.count)! +// CHECK-NEXT: let size = CInt(exactly: ptr.count)! // CHECK-NEXT: return unsafe myFunc(ptr.baseAddress!, size) // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/SizedBy/Opaque.swift b/test/Macros/SwiftifyImport/SizedBy/Opaque.swift index 72bf7ba8e7a96..4d41150c89178 100644 --- a/test/Macros/SwiftifyImport/SizedBy/Opaque.swift +++ b/test/Macros/SwiftifyImport/SizedBy/Opaque.swift @@ -28,7 +28,7 @@ func impNullableSpan(_ ptr: OpaquePointer!, _ size: CInt) { // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func nonnullUnsafeRawBufferPointer(_ ptr: UnsafeRawBufferPointer) { -// CHECK-NEXT: let size = CInt(exactly: unsafe ptr.count)! +// CHECK-NEXT: let size = CInt(exactly: ptr.count)! // CHECK-NEXT: return unsafe nonnullUnsafeRawBufferPointer(OpaquePointer(ptr.baseAddress!), size) // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload @@ -39,7 +39,7 @@ func impNullableSpan(_ ptr: OpaquePointer!, _ size: CInt) { // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func impNullableUnsafeRawBufferPointer(_ ptr: UnsafeRawBufferPointer) { -// CHECK-NEXT: let size = CInt(exactly: unsafe ptr.count)! +// CHECK-NEXT: let size = CInt(exactly: ptr.count)! // CHECK-NEXT: return unsafe impNullableUnsafeRawBufferPointer(OpaquePointer(ptr.baseAddress!), size) // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/SizedBy/PointerReturn.swift b/test/Macros/SwiftifyImport/SizedBy/PointerReturn.swift index 08b9ba644cd48..dff51e442c7e5 100644 --- a/test/Macros/SwiftifyImport/SizedBy/PointerReturn.swift +++ b/test/Macros/SwiftifyImport/SizedBy/PointerReturn.swift @@ -47,7 +47,7 @@ func lifetimeDependentBorrowMut(_ p: borrowing UnsafeMutableRawPointer, _ len1: // CHECK: @_alwaysEmitIntoClient @_lifetime(borrow p) @_disfavoredOverload // CHECK-NEXT: func lifetimeDependentBorrow(_ p: borrowing UnsafeRawBufferPointer, _ len2: CInt) -> RawSpan { -// CHECK-NEXT: let len1 = CInt(exactly: unsafe p.count)! +// CHECK-NEXT: let len1 = CInt(exactly: p.count)! // CHECK-NEXT: return unsafe _swiftifyOverrideLifetime(RawSpan(_unsafeStart: unsafe lifetimeDependentBorrow(p.baseAddress!, len1, len2), byteCount: Int(len2)), copying: ()) // CHECK-NEXT: } @@ -61,6 +61,6 @@ func lifetimeDependentBorrowMut(_ p: borrowing UnsafeMutableRawPointer, _ len1: // CHECK: @_alwaysEmitIntoClient @_lifetime(borrow p) @_disfavoredOverload // CHECK-NEXT: func lifetimeDependentBorrowMut(_ p: borrowing UnsafeMutableRawBufferPointer, _ len2: CInt) -> MutableRawSpan { -// CHECK-NEXT: let len1 = CInt(exactly: unsafe p.count)! +// CHECK-NEXT: let len1 = CInt(exactly: p.count)! // CHECK-NEXT: return unsafe _swiftifyOverrideLifetime(MutableRawSpan(_unsafeStart: unsafe lifetimeDependentBorrowMut(p.baseAddress!, len1, len2), byteCount: Int(len2)), copying: ()) // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/SizedBy/Return.swift b/test/Macros/SwiftifyImport/SizedBy/Return.swift index 346a1835f77a8..5695543e414c6 100644 --- a/test/Macros/SwiftifyImport/SizedBy/Return.swift +++ b/test/Macros/SwiftifyImport/SizedBy/Return.swift @@ -8,6 +8,6 @@ func myFunc(_ ptr: UnsafeRawPointer, _ size: CInt) -> CInt { // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func myFunc(_ ptr: UnsafeRawBufferPointer) -> CInt { -// CHECK-NEXT: let size = CInt(exactly: unsafe ptr.count)! +// CHECK-NEXT: let size = CInt(exactly: ptr.count)! // CHECK-NEXT: return unsafe myFunc(ptr.baseAddress!, size) // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/SizedBy/SharedCount.swift b/test/Macros/SwiftifyImport/SizedBy/SharedCount.swift index 524e901b8ae5f..0442a7cfc4103 100644 --- a/test/Macros/SwiftifyImport/SizedBy/SharedCount.swift +++ b/test/Macros/SwiftifyImport/SizedBy/SharedCount.swift @@ -8,9 +8,9 @@ func myFunc(_ ptr: UnsafeRawPointer, _ ptr2: UnsafeRawPointer, _ size: CInt) { // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func myFunc(_ ptr: UnsafeRawBufferPointer, _ ptr2: UnsafeRawBufferPointer) { -// CHECK-NEXT: let size = CInt(exactly: unsafe ptr.count)! -// CHECK-NEXT: if unsafe ptr2.count != size { -// CHECK-NEXT: fatalError("bounds check failure in myFunc: expected \(size) but got \(unsafe ptr2.count)") +// CHECK-NEXT: let size = CInt(exactly: ptr.count)! +// CHECK-NEXT: if ptr2.count != size { +// CHECK-NEXT: fatalError("bounds check failure in myFunc: expected \(size) but got \(ptr2.count)") // CHECK-NEXT: } // CHECK-NEXT: return unsafe myFunc(ptr.baseAddress!, ptr2.baseAddress!, size) // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/SizedBy/SimpleSize.swift b/test/Macros/SwiftifyImport/SizedBy/SimpleSize.swift index 580ec4298bc52..83ee590b2b244 100644 --- a/test/Macros/SwiftifyImport/SizedBy/SimpleSize.swift +++ b/test/Macros/SwiftifyImport/SizedBy/SimpleSize.swift @@ -8,6 +8,6 @@ func myFunc(_ ptr: UnsafeRawPointer, _ size: CInt) { // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func myFunc(_ ptr: UnsafeRawBufferPointer) { -// CHECK-NEXT: let size = CInt(exactly: unsafe ptr.count)! +// CHECK-NEXT: let size = CInt(exactly: ptr.count)! // CHECK-NEXT: return unsafe myFunc(ptr.baseAddress!, size) // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/SizedBy/SizeExpr.swift b/test/Macros/SwiftifyImport/SizedBy/SizeExpr.swift index 76c9bb716007e..437c3d484fed8 100644 --- a/test/Macros/SwiftifyImport/SizedBy/SizeExpr.swift +++ b/test/Macros/SwiftifyImport/SizedBy/SizeExpr.swift @@ -8,7 +8,7 @@ func myFunc(_ ptr: UnsafeRawPointer, _ size: CInt, _ count: CInt) { // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func myFunc(_ ptr: UnsafeRawBufferPointer, _ size: CInt, _ count: CInt) { -// CHECK-NEXT: let _ptrCount = unsafe ptr.count +// CHECK-NEXT: let _ptrCount = ptr.count // CHECK-NEXT: if _ptrCount != size * count { // CHECK-NEXT: fatalError("bounds check failure in myFunc: expected \(size * count) but got \(_ptrCount)") // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/SizedBy/TypedPointer.swift b/test/Macros/SwiftifyImport/SizedBy/TypedPointer.swift index b74948b450990..c63b5e652d1d4 100644 --- a/test/Macros/SwiftifyImport/SizedBy/TypedPointer.swift +++ b/test/Macros/SwiftifyImport/SizedBy/TypedPointer.swift @@ -41,19 +41,19 @@ func mutReturnDependence(_ size: CInt, _ ptr: UnsafeMutablePointer) -> Un // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func constParam(_ ptr: UnsafeRawBufferPointer) { -// CHECK-NEXT: let size = CInt(exactly: unsafe ptr.count)! +// CHECK-NEXT: let size = CInt(exactly: ptr.count)! // CHECK-NEXT: return unsafe constParam(ptr.baseAddress!.assumingMemoryBound(to: CChar.self), size) // CHECK-NEXT: } // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func mutParam(_ ptr: UnsafeMutableRawBufferPointer) { -// CHECK-NEXT: let size = CInt(exactly: unsafe ptr.count)! +// CHECK-NEXT: let size = CInt(exactly: ptr.count)! // CHECK-NEXT: return unsafe mutParam(ptr.baseAddress!.assumingMemoryBound(to: UInt8.self), size) // CHECK-NEXT: } // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func exprParam(_ ptr: UnsafeMutableRawBufferPointer, _ size: CInt, _ count: CInt) { -// CHECK-NEXT: let _ptrCount = unsafe ptr.count +// CHECK-NEXT: let _ptrCount = ptr.count // CHECK-NEXT: if _ptrCount != size * count { // CHECK-NEXT: fatalError("bounds check failure in exprParam: expected \(size * count) but got \(_ptrCount)") // CHECK-NEXT: } diff --git a/test/Macros/SwiftifyImport/SizedBy/Unwrapped.swift b/test/Macros/SwiftifyImport/SizedBy/Unwrapped.swift index 15ba4616a586f..49be1a0aa3e44 100644 --- a/test/Macros/SwiftifyImport/SizedBy/Unwrapped.swift +++ b/test/Macros/SwiftifyImport/SizedBy/Unwrapped.swift @@ -8,6 +8,6 @@ func myFunc(_ ptr: UnsafeRawPointer!, _ len: CInt) { // CHECK: @_alwaysEmitIntoClient @_disfavoredOverload // CHECK-NEXT: func myFunc(_ ptr: UnsafeRawBufferPointer) { -// CHECK-NEXT: let len = CInt(exactly: unsafe ptr.count)! +// CHECK-NEXT: let len = CInt(exactly: ptr.count)! // CHECK-NEXT: return unsafe myFunc(ptr.baseAddress!, len) // CHECK-NEXT: }