Skip to content

Commit 70cfbfc

Browse files
authored
Merge pull request #103 from Carthage/swift-4
Migrate to Swift 4
2 parents 07a1443 + 62d1024 commit 70cfbfc

File tree

3 files changed

+14
-20
lines changed

3 files changed

+14
-20
lines changed

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,5 @@ let package = Package(
1616
.target(name: "ReactiveTask", dependencies: ["Result", "ReactiveSwift"], path: "Sources"),
1717
.testTarget(name: "ReactiveTaskTests", dependencies: ["ReactiveTask", "Quick", "Nimble"]),
1818
],
19-
swiftLanguageVersions: [3]
19+
swiftLanguageVersions: [4]
2020
)

ReactiveTask.xcodeproj/project.pbxproj

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,8 @@
370370
MACOSX_DEPLOYMENT_TARGET = 10.9;
371371
ONLY_ACTIVE_ARCH = YES;
372372
SDKROOT = macosx;
373-
SWIFT_VERSION = 2.3;
373+
SWIFT_SWIFT3_OBJC_INFERENCE = Off;
374+
SWIFT_VERSION = 4.0;
374375
VERSIONING_SYSTEM = "apple-generic";
375376
VERSION_INFO_PREFIX = "";
376377
};
@@ -390,7 +391,8 @@
390391
GCC_NO_COMMON_BLOCKS = YES;
391392
MACOSX_DEPLOYMENT_TARGET = 10.9;
392393
SDKROOT = macosx;
393-
SWIFT_VERSION = 2.3;
394+
SWIFT_SWIFT3_OBJC_INFERENCE = Off;
395+
SWIFT_VERSION = 4.0;
394396
VERSIONING_SYSTEM = "apple-generic";
395397
VERSION_INFO_PREFIX = "";
396398
};
@@ -406,7 +408,6 @@
406408
INFOPLIST_FILE = Sources/Info.plist;
407409
PRODUCT_BUNDLE_IDENTIFIER = "org.carthage.$(PRODUCT_NAME:rfc1034identifier)";
408410
PRODUCT_NAME = "$(TARGET_NAME)";
409-
SWIFT_VERSION = 3.0;
410411
};
411412
name = Debug;
412413
};
@@ -420,7 +421,6 @@
420421
INFOPLIST_FILE = Sources/Info.plist;
421422
PRODUCT_BUNDLE_IDENTIFIER = "org.carthage.$(PRODUCT_NAME:rfc1034identifier)";
422423
PRODUCT_NAME = "$(TARGET_NAME)";
423-
SWIFT_VERSION = 3.0;
424424
};
425425
name = Release;
426426
};
@@ -435,7 +435,6 @@
435435
INFOPLIST_FILE = Tests/ReactiveTaskTests/Info.plist;
436436
PRODUCT_BUNDLE_IDENTIFIER = "org.carthage.$(PRODUCT_NAME:rfc1034identifier)";
437437
PRODUCT_NAME = "$(TARGET_NAME)";
438-
SWIFT_VERSION = 3.0;
439438
};
440439
name = Debug;
441440
};
@@ -450,7 +449,6 @@
450449
INFOPLIST_FILE = Tests/ReactiveTaskTests/Info.plist;
451450
PRODUCT_BUNDLE_IDENTIFIER = "org.carthage.$(PRODUCT_NAME:rfc1034identifier)";
452451
PRODUCT_NAME = "$(TARGET_NAME)";
453-
SWIFT_VERSION = 3.0;
454452
};
455453
name = Release;
456454
};
@@ -468,7 +466,8 @@
468466
GCC_NO_COMMON_BLOCKS = YES;
469467
MACOSX_DEPLOYMENT_TARGET = 10.9;
470468
SDKROOT = macosx;
471-
SWIFT_VERSION = 2.3;
469+
SWIFT_SWIFT3_OBJC_INFERENCE = Off;
470+
SWIFT_VERSION = 4.0;
472471
VERSIONING_SYSTEM = "apple-generic";
473472
VERSION_INFO_PREFIX = "";
474473
};
@@ -484,7 +483,6 @@
484483
INFOPLIST_FILE = Sources/Info.plist;
485484
PRODUCT_BUNDLE_IDENTIFIER = "org.carthage.$(PRODUCT_NAME:rfc1034identifier)";
486485
PRODUCT_NAME = "$(TARGET_NAME)";
487-
SWIFT_VERSION = 3.0;
488486
};
489487
name = Test;
490488
};
@@ -499,7 +497,6 @@
499497
INFOPLIST_FILE = Tests/ReactiveTaskTests/Info.plist;
500498
PRODUCT_BUNDLE_IDENTIFIER = "org.carthage.$(PRODUCT_NAME:rfc1034identifier)";
501499
PRODUCT_NAME = "$(TARGET_NAME)";
502-
SWIFT_VERSION = 3.0;
503500
};
504501
name = Test;
505502
};
@@ -517,7 +514,8 @@
517514
GCC_NO_COMMON_BLOCKS = YES;
518515
MACOSX_DEPLOYMENT_TARGET = 10.9;
519516
SDKROOT = macosx;
520-
SWIFT_VERSION = 2.3;
517+
SWIFT_SWIFT3_OBJC_INFERENCE = Off;
518+
SWIFT_VERSION = 4.0;
521519
VERSIONING_SYSTEM = "apple-generic";
522520
VERSION_INFO_PREFIX = "";
523521
};
@@ -533,7 +531,6 @@
533531
INFOPLIST_FILE = Sources/Info.plist;
534532
PRODUCT_BUNDLE_IDENTIFIER = "org.carthage.$(PRODUCT_NAME:rfc1034identifier)";
535533
PRODUCT_NAME = "$(TARGET_NAME)";
536-
SWIFT_VERSION = 3.0;
537534
};
538535
name = Profile;
539536
};
@@ -548,7 +545,6 @@
548545
INFOPLIST_FILE = Tests/ReactiveTaskTests/Info.plist;
549546
PRODUCT_BUNDLE_IDENTIFIER = "org.carthage.$(PRODUCT_NAME:rfc1034identifier)";
550547
PRODUCT_NAME = "$(TARGET_NAME)";
551-
SWIFT_VERSION = 3.0;
552548
};
553549
name = Profile;
554550
};

Sources/Task.swift

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -180,12 +180,10 @@ private final class Pipe {
180180
channel.setLimit(lowWater: 1)
181181
channel.read(offset: 0, length: Int.max, queue: self.queue) { (done, dispatchData, error) in
182182
if let dispatchData = dispatchData {
183-
let bytes = UnsafeMutablePointer<UInt8>.allocate(capacity: dispatchData.count)
184-
dispatchData.copyBytes(to: bytes, count: dispatchData.count)
185-
let data = Data(bytes: bytes, count: dispatchData.count)
186-
bytes.deinitialize(count: dispatchData.count)
187-
bytes.deallocate(capacity: dispatchData.count)
188-
183+
// Cast DispatchData to Data.
184+
// See https://gist.github.com/mayoff/6e35e263b9ddd04d9b77e5261212be19.
185+
let data = dispatchData as Any as! NSData as Data
186+
189187
observer.send(value: data)
190188
}
191189

@@ -235,7 +233,7 @@ private final class Pipe {
235233

236234
signal.observe(Signal.Observer(value: { data in
237235
let dispatchData = data.withUnsafeBytes { (bytes: UnsafePointer<UInt8>) -> DispatchData in
238-
let buffer = UnsafeBufferPointer(start: bytes, count: data.count)
236+
let buffer = UnsafeRawBufferPointer(start: bytes, count: data.count)
239237
return DispatchData(bytes: buffer)
240238
}
241239

0 commit comments

Comments
 (0)