From 09a372bc45fde16fd42257ab6f78b8deeecf720b Mon Sep 17 00:00:00 2001
From: 杨锴 <841720330@qq.com>
Date: 星期三, 16 四月 2025 16:38:05 +0800
Subject: [PATCH] fix bug

---
 Pods/SwifterSwift/Sources/SwifterSwift/Dispatch/DispatchQueueExtensions.swift |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/Pods/SwifterSwift/Sources/SwifterSwift/Dispatch/DispatchQueueExtensions.swift b/Pods/SwifterSwift/Sources/SwifterSwift/Dispatch/DispatchQueueExtensions.swift
index 1208eb0..9a03697 100644
--- a/Pods/SwifterSwift/Sources/SwifterSwift/Dispatch/DispatchQueueExtensions.swift
+++ b/Pods/SwifterSwift/Sources/SwifterSwift/Dispatch/DispatchQueueExtensions.swift
@@ -6,10 +6,11 @@
 // MARK: - Properties
 
 public extension DispatchQueue {
+    #if !os(Linux)
     /// SwifterSwift: A Boolean value indicating whether the current dispatch queue is the main queue.
     static var isMainQueue: Bool {
         enum Static {
-            static var key: DispatchSpecificKey<Void> = {
+            static let key: DispatchSpecificKey<Void> = {
                 let key = DispatchSpecificKey<Void>()
                 DispatchQueue.main.setSpecific(key: key, value: ())
                 return key
@@ -17,6 +18,7 @@
         }
         return DispatchQueue.getSpecific(key: Static.key) != nil
     }
+    #endif
 }
 
 // MARK: - Methods
@@ -45,16 +47,18 @@
     func asyncAfter(delay: Double,
                     qos: DispatchQoS = .unspecified,
                     flags: DispatchWorkItemFlags = [],
-                    execute work: @escaping () -> Void) {
+                    execute work: @Sendable @escaping () -> Void) {
         asyncAfter(deadline: .now() + delay, qos: qos, flags: flags, execute: work)
     }
 
+    #if !os(Linux)
+    @available(macOS 14.0, iOS 17.0, tvOS 17.0, watchOS 10.0, *)
     func debounce(delay: Double, action: @escaping () -> Void) -> () -> Void {
         // http://stackoverflow.com/questions/27116684/how-can-i-debounce-a-method-call
         var lastFireTime = DispatchTime.now()
         let deadline = { lastFireTime + delay }
         return {
-            self.asyncAfter(deadline: deadline()) {
+            self.asyncAfterUnsafe(deadline: deadline()) {
                 let now = DispatchTime.now()
                 if now >= deadline() {
                     lastFireTime = now
@@ -63,6 +67,7 @@
             }
         }
     }
+    #endif
 }
 
 #endif

--
Gitblit v1.7.1