diff --git a/Sources/DispatchQueue+CoreStore.swift b/Sources/DispatchQueue+CoreStore.swift index 35fda012..4e9772c3 100644 --- a/Sources/DispatchQueue+CoreStore.swift +++ b/Sources/DispatchQueue+CoreStore.swift @@ -81,27 +81,20 @@ extension DispatchQueue { return self.sync { autoreleasepool(invoking: closure) } } - - @nonobjc @inline(__always) - internal func cs_sync( - _ closure: () throws(any Swift.Error) -> T - ) throws(any Swift.Error) -> T { - - return try self.sync { try autoreleasepool(invoking: closure) } - } - @nonobjc @inline(__always) internal func cs_sync( _ closure: () throws(CoreStoreError) -> T ) throws(CoreStoreError) -> T { do { - return try self.sync { try autoreleasepool(invoking: closure) } - } - catch { - - throw CoreStoreError(error) + } catch let error { + switch error { + case let error as CoreStoreError: + throw error + default: + throw CoreStoreError(error) + } } }