Skip to content

Commit eec6f17

Browse files
authored
apacheGH-42087: [Swift] refactored to remove build warnings (apache#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: apache#42087 Authored-by: Alva Bandy <[email protected]> Signed-off-by: Sutou Kouhei <[email protected]>
1 parent 4413110 commit eec6f17

File tree

4 files changed

+33
-8
lines changed

4 files changed

+33
-8
lines changed

swift/Arrow/Package.swift

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,16 +44,27 @@ let package = Package(
4444
targets: [
4545
.target(
4646
name: "ArrowC",
47-
path: "Sources/ArrowC"
47+
path: "Sources/ArrowC",
48+
swiftSettings: [
49+
.unsafeFlags(["-warnings-as-errors"])
50+
]
4851
),
4952
.target(
5053
name: "Arrow",
5154
dependencies: ["ArrowC",
5255
.product(name: "FlatBuffers", package: "flatbuffers"),
5356
.product(name: "Atomics", package: "swift-atomics")
54-
]),
57+
],
58+
swiftSettings: [
59+
.unsafeFlags(["-warnings-as-errors"])
60+
]
61+
),
5562
.testTarget(
5663
name: "ArrowTests",
57-
dependencies: ["Arrow", "ArrowC"])
64+
dependencies: ["Arrow", "ArrowC"],
65+
swiftSettings: [
66+
.unsafeFlags(["-warnings-as-errors"])
67+
]
68+
)
5869
]
5970
)

swift/Arrow/Sources/Arrow/ArrowCExporter.swift

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,18 @@ public class ArrowCExporter {
6161
// deallocated
6262
self.arrowData = arrowData
6363
for arrowBuffer in arrowData.buffers {
64-
data.append(arrowBuffer.rawPointer)
64+
self.data.append(arrowBuffer.rawPointer)
6565
}
6666

67-
self.buffers = UnsafeMutablePointer(mutating: data)
67+
self.buffers = UnsafeMutablePointer<UnsafeRawPointer?>.allocate(capacity: self.data.count)
68+
self.buffers.initialize(from: &self.data, count: self.data.count)
6869
super.init()
6970
}
71+
72+
deinit {
73+
self.buffers.deinitialize(count: self.data.count)
74+
self.buffers.deallocate()
75+
}
7076
}
7177

7278
private static var exportedData = [Int: ExportData]()

swift/Arrow/Tests/ArrowTests/CodableTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ final class CodableTests: XCTestCase {
9898
switch result {
9999
case .success(let rb):
100100
let decoder = ArrowDecoder(rb)
101-
var testClasses = try decoder.decode(TestClass.self)
101+
let testClasses = try decoder.decode(TestClass.self)
102102
for index in 0..<testClasses.count {
103103
let testClass = testClasses[index]
104104
XCTAssertEqual(testClass.propBool, index % 2 == 0 ? false : true)

swift/ArrowFlight/Package.swift

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,17 @@ let package = Package(
4545
.product(name: "Arrow", package: "Arrow"),
4646
.product(name: "GRPC", package: "grpc-swift"),
4747
.product(name: "SwiftProtobuf", package: "swift-protobuf")
48-
]),
48+
],
49+
swiftSettings: [
50+
.unsafeFlags(["-warnings-as-errors"])
51+
]
52+
),
4953
.testTarget(
5054
name: "ArrowFlightTests",
51-
dependencies: ["ArrowFlight"])
55+
dependencies: ["ArrowFlight"],
56+
swiftSettings: [
57+
.unsafeFlags(["-warnings-as-errors"])
58+
]
59+
)
5260
]
5361
)

0 commit comments

Comments
 (0)