Przeglądaj źródła

Allow compiling with Swift 5 as well

onevcat 1 rok temu
rodzic
commit
bff604a017

+ 4 - 0
Sources/Cache/ImageCache.swift

@@ -835,7 +835,11 @@ open class ImageCache: @unchecked Sendable {
         cleanExpiredDiskCache {
         cleanExpiredDiskCache {
             Task {
             Task {
                 guard let bgTask = await taskActor.value, bgTask != .invalid else { return }
                 guard let bgTask = await taskActor.value, bgTask != .invalid else { return }
+                #if swift(>=6)
                 sharedApplication.endBackgroundTask(bgTask)
                 sharedApplication.endBackgroundTask(bgTask)
+                #else
+                await sharedApplication.endBackgroundTask(bgTask)
+                #endif
                 await taskActor.setValue(.invalid)
                 await taskActor.setValue(.invalid)
             }
             }
         }
         }

+ 4 - 0
Sources/Utility/DisplayLink.swift

@@ -52,7 +52,11 @@ extension UIView {
     }
     }
 }
 }
 
 
+#if swift(>=6)
 extension CADisplayLink: DisplayLinkCompatible, @retroactive @unchecked Sendable {}
 extension CADisplayLink: DisplayLinkCompatible, @retroactive @unchecked Sendable {}
+#else
+extension CADisplayLink: DisplayLinkCompatible, @unchecked Sendable {}
+#endif
 
 
 #else
 #else
 extension NSView {
 extension NSView {

+ 6 - 1
Tests/KingfisherTests/DiskStorageTests.swift

@@ -27,7 +27,12 @@
 import XCTest
 import XCTest
 @testable import Kingfisher
 @testable import Kingfisher
 
 
-extension String: @retroactive DataTransformable {
+#if swift(>=6)
+extension String: @retroactive DataTransformable { }
+#else
+extension String: DataTransformable { }
+#endif
+extension String {
     public func toData() throws -> Data {
     public func toData() throws -> Data {
         return data(using: .utf8)!
         return data(using: .utf8)!
     }
     }

+ 4 - 0
Tests/KingfisherTests/ImageViewExtensionTests.swift

@@ -922,4 +922,8 @@ class ImageViewExtensionTests: XCTestCase {
 
 
 }
 }
 
 
+#if swift(>=6)
 extension KFCrossPlatformView: @retroactive Placeholder {}
 extension KFCrossPlatformView: @retroactive Placeholder {}
+#else
+extension KFCrossPlatformView: Placeholder {}
+#endif

+ 7 - 1
Tests/KingfisherTests/MemoryStorageTests.swift

@@ -27,12 +27,18 @@
 import XCTest
 import XCTest
 @testable import Kingfisher
 @testable import Kingfisher
 
 
-extension Int: @retroactive CacheCostCalculable {
+extension Int {
     public var cacheCost: Int {
     public var cacheCost: Int {
         return 1
         return 1
     }
     }
 }
 }
 
 
+#if swift(>=6)
+extension Int: @retroactive CacheCostCalculable { }
+#else
+extension Int: CacheCostCalculable { }
+#endif
+
 class MemoryStorageTests: XCTestCase {
 class MemoryStorageTests: XCTestCase {
 
 
     var storage: MemoryStorage.Backend<Int>!
     var storage: MemoryStorage.Backend<Int>!