This is an automated email from the ASF dual-hosted git repository. raulcd pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/arrow-swift.git
commit 733617512d1adfb9818a04ab1a92efbac34e4562 Author: abandy <[email protected]> AuthorDate: Mon Jun 17 21:33:43 2024 -0400 GH-42087: [Swift] refactored to remove build warnings (#42088) ### Rationale for this change Building warnings were being generated from the swift code. ### What changes are included in this PR? Refactored the code in ArrowCExporter and CodableTests to remove the build warnings. ### Are these changes tested? Yes, also ran CDataWGo tests locally to test CData interface changes. * GitHub Issue: #42087 Authored-by: Alva Bandy <[email protected]> Signed-off-by: Sutou Kouhei <[email protected]> --- Arrow/Package.swift | 17 ++++++++++++++--- Arrow/Sources/Arrow/ArrowCExporter.swift | 10 ++++++++-- Arrow/Tests/ArrowTests/CodableTests.swift | 2 +- ArrowFlight/Package.swift | 12 ++++++++++-- 4 files changed, 33 insertions(+), 8 deletions(-) diff --git a/Arrow/Package.swift b/Arrow/Package.swift index 6f19136..6944d7b 100644 --- a/Arrow/Package.swift +++ b/Arrow/Package.swift @@ -44,16 +44,27 @@ let package = Package( targets: [ .target( name: "ArrowC", - path: "Sources/ArrowC" + path: "Sources/ArrowC", + swiftSettings: [ + .unsafeFlags(["-warnings-as-errors"]) + ] ), .target( name: "Arrow", dependencies: ["ArrowC", .product(name: "FlatBuffers", package: "flatbuffers"), .product(name: "Atomics", package: "swift-atomics") - ]), + ], + swiftSettings: [ + .unsafeFlags(["-warnings-as-errors"]) + ] + ), .testTarget( name: "ArrowTests", - dependencies: ["Arrow", "ArrowC"]) + dependencies: ["Arrow", "ArrowC"], + swiftSettings: [ + .unsafeFlags(["-warnings-as-errors"]) + ] + ) ] ) diff --git a/Arrow/Sources/Arrow/ArrowCExporter.swift b/Arrow/Sources/Arrow/ArrowCExporter.swift index aa93f0c..f2dd8ab 100644 --- a/Arrow/Sources/Arrow/ArrowCExporter.swift +++ b/Arrow/Sources/Arrow/ArrowCExporter.swift @@ -61,12 +61,18 @@ public class ArrowCExporter { // deallocated self.arrowData = arrowData for arrowBuffer in arrowData.buffers { - data.append(arrowBuffer.rawPointer) + self.data.append(arrowBuffer.rawPointer) } - self.buffers = UnsafeMutablePointer(mutating: data) + self.buffers = UnsafeMutablePointer<UnsafeRawPointer?>.allocate(capacity: self.data.count) + self.buffers.initialize(from: &self.data, count: self.data.count) super.init() } + + deinit { + self.buffers.deinitialize(count: self.data.count) + self.buffers.deallocate() + } } private static var exportedData = [Int: ExportData]() diff --git a/Arrow/Tests/ArrowTests/CodableTests.swift b/Arrow/Tests/ArrowTests/CodableTests.swift index d7d3414..160beea 100644 --- a/Arrow/Tests/ArrowTests/CodableTests.swift +++ b/Arrow/Tests/ArrowTests/CodableTests.swift @@ -98,7 +98,7 @@ final class CodableTests: XCTestCase { switch result { case .success(let rb): let decoder = ArrowDecoder(rb) - var testClasses = try decoder.decode(TestClass.self) + let testClasses = try decoder.decode(TestClass.self) for index in 0..<testClasses.count { let testClass = testClasses[index] XCTAssertEqual(testClass.propBool, index % 2 == 0 ? false : true) diff --git a/ArrowFlight/Package.swift b/ArrowFlight/Package.swift index 629b830..f4d6485 100644 --- a/ArrowFlight/Package.swift +++ b/ArrowFlight/Package.swift @@ -45,9 +45,17 @@ let package = Package( .product(name: "Arrow", package: "Arrow"), .product(name: "GRPC", package: "grpc-swift"), .product(name: "SwiftProtobuf", package: "swift-protobuf") - ]), + ], + swiftSettings: [ + .unsafeFlags(["-warnings-as-errors"]) + ] + ), .testTarget( name: "ArrowFlightTests", - dependencies: ["ArrowFlight"]) + dependencies: ["ArrowFlight"], + swiftSettings: [ + .unsafeFlags(["-warnings-as-errors"]) + ] + ) ] )
