The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of Interstellar, reference master (28b4be), with Swift 6.0 for macOS (SPM) on 31 Oct 2024 01:19:09 UTC.

Swift 6 data race errors: 2

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/JensRavens/Interstellar.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/JensRavens/Interstellar
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 28b4be7 minor changes to naming and accessors
Cloned https://github.com/JensRavens/Interstellar.git
Revision (git rev-parse @):
28b4be7bc70cbee483e9cbb800658ac9812e21f7
SUCCESS checkout https://github.com/JensRavens/Interstellar.git at master
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "interstellar",
      "name": "Interstellar",
      "url": "https://github.com/JensRavens/Interstellar.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Interstellar",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/JensRavens/Interstellar.git
[13/1208] Fetching interstellar
Fetched https://github.com/JensRavens/Interstellar.git from cache (0.93s)
Creating working copy for https://github.com/JensRavens/Interstellar.git
Working copy of https://github.com/JensRavens/Interstellar.git resolved at master (28b4be7)
warning: '.resolve-product-dependencies': dependency 'interstellar' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/JensRavens/Interstellar.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/13] Compiling Interstellar Threading.swift
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Threading.swift:40:17: warning: capture of 'completion' with non-sendable type '(T) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
38 |         return { a, completion in
39 |             queue.async{
40 |                 completion(a)
   |                 |- warning: capture of 'completion' with non-sendable type '(T) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
41 |             }
42 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Threading.swift:40:28: warning: capture of 'a' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 |
36 |     /// Transform the signal to a specified queue
37 |     public static func queue<T>(_ queue: DispatchQueue) -> (T, @escaping (T)->Void) -> Void {
   |                              `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
38 |         return { a, completion in
39 |             queue.async{
40 |                 completion(a)
   |                            `- warning: capture of 'a' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
41 |             }
42 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Threading.swift:48:13: warning: capture of 'completion' with non-sendable type '(T) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 |     public static func background<T>(_ a: T, completion: @escaping (T)->Void) {
47 |         DispatchQueue.global(qos: .background).async {
48 |             completion(a)
   |             |- warning: capture of 'completion' with non-sendable type '(T) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
49 |         }
50 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Threading.swift:48:24: warning: capture of 'a' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
44 |
45 |     /// Transform the signal to a global background queue with priority default
46 |     public static func background<T>(_ a: T, completion: @escaping (T)->Void) {
   |                                   `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
47 |         DispatchQueue.global(qos: .background).async {
48 |             completion(a)
   |                        `- warning: capture of 'a' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 |         }
50 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable.swift:20:23: warning: static property 'Once' is not concurrency-safe because non-'Sendable' type 'ObservingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | public struct ObservingOptions: OptionSet {
    |               `- note: consider making struct 'ObservingOptions' conform to the 'Sendable' protocol
 12 |     public let rawValue: Int
 13 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 18 |     /// Observables will only fire once for an update and nil out their completion blocks afterwards.
 19 |     /// Use this to automatically resolve retain cycles for one-off operations.
 20 |     public static let Once = ObservingOptions(rawValue: 2)
    |                       |- warning: static property 'Once' is not concurrency-safe because non-'Sendable' type 'ObservingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'Once' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 | }
 22 |
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Threading.swift:64:17: warning: capture of 'observable' with non-sendable type 'Observable<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
62 |             let observable = Observable<T>(options: [.Once])
63 |             queue.async{
64 |                 observable.update(t)
   |                 `- warning: capture of 'observable' with non-sendable type 'Observable<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
65 |             }
66 |             return observable
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable.swift:45:20: note: generic class 'Observable' does not conform to the 'Sendable' protocol
 43 |  Observables are thread safe.
 44 |  */
 45 | public final class Observable<T>: Unsubscribable {
    |                    `- note: generic class 'Observable' does not conform to the 'Sendable' protocol
 46 |     fileprivate typealias Observer = (T)->Void
 47 |     fileprivate var observers = [ObserverToken: Observer]()
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Threading.swift:64:35: warning: capture of 't' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
58 |
59 |     /// Transform the observalbe to a specified queue
60 |     public static func queue<T>(_ queue: DispatchQueue) -> (T) -> Observable<T> {
   |                              `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
61 |         return { t in
62 |             let observable = Observable<T>(options: [.Once])
63 |             queue.async{
64 |                 observable.update(t)
   |                                   `- warning: capture of 't' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
65 |             }
66 |             return observable
[4/14] Compiling Interstellar ResultType.swift
[5/14] Compiling Interstellar Debounce.swift
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Debounce.swift:25:2: warning: unexpected version number in 'available' attribute for non-specific platform '*'
23 | import Foundation
24 |
25 | @available(*, deprecated: 2.0)
   |  `- warning: unexpected version number in 'available' attribute for non-specific platform '*'
26 | public extension Signal {
27 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Debounce.swift:32:5: warning: 'public' modifier is redundant for instance method declared in a public extension
30 |         specified amount of seconds).
31 |     */
32 |     public func debounce(_ seconds: TimeInterval) -> Signal<T> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
33 |         let signal = Signal<T>()
34 |         var lastCalled: Date?
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Debounce.swift:68:5: warning: 'public' modifier is redundant for instance method declared in a public extension
66 |      specified amount of seconds).
67 |      */
68 |     public func debounce(_ seconds: TimeInterval) -> Observable<T> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
69 |         let observable = Observable<T>()
70 |         var lastCalled: Date?
[6/14] Compiling Interstellar Signal.swift
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Signal.swift:41:2: warning: unexpected version number in 'available' attribute for non-specific platform '*'
 39 | */
 40 |
 41 | @available(*, deprecated: 2.0, message:"Use Observable<Result<T>> instead.")
    |  `- warning: unexpected version number in 'available' attribute for non-specific platform '*'
 42 | public final class Signal<T> {
 43 |
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Signal.swift:257:2: warning: unexpected version number in 'available' attribute for non-specific platform '*'
255 | }
256 |
257 | @available(*, deprecated: 2.0)
    |  `- warning: unexpected version number in 'available' attribute for non-specific platform '*'
258 | extension Signal {
259 |     func observable() -> Observable<Result<T>> {
[7/14] Compiling Interstellar ObserverToken.swift
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/ObserverToken.swift:24:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'ObserverToken' to 'Hashable' by implementing 'hash(into:)' instead
22 | public final class ObserverToken: Hashable {
23 |     private weak var observable: Unsubscribable?
24 |     public let hashValue: Int
   |                `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'ObserverToken' to 'Hashable' by implementing 'hash(into:)' instead
25 |
26 |     internal init (observable: Unsubscribable, hashValue: Int) {
[8/14] Compiling Interstellar Delay.swift
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Delay.swift:26:2: warning: unexpected version number in 'available' attribute for non-specific platform '*'
24 | import Foundation
25 |
26 | @available(*, deprecated: 2.0)
   |  `- warning: unexpected version number in 'available' attribute for non-specific platform '*'
27 | public extension Signal {
28 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Delay.swift:31:5: warning: 'public' modifier is redundant for instance method declared in a public extension
29 |         Creates a new signal that mirrors the original signal but is delayed by x seconds. If no queue is specified, the new signal will call it's observers and transforms on the main queue.
30 |     */
31 |     public func delay(_ seconds: TimeInterval, queue: DispatchQueue = DispatchQueue.main) -> Signal<T> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
32 |         let signal = Signal<T>()
33 |         subscribe { result in
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Delay.swift:46:5: warning: 'public' modifier is redundant for instance method declared in a public extension
44 |      Creates a new observable that mirrors the original observable but is delayed by x seconds. If no queue is specified, the new observable will call it's observers and transforms on the main queue.
45 |      */
46 |     public func delay(_ seconds: TimeInterval, queue: DispatchQueue = DispatchQueue.main) -> Observable<T> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
47 |         let observable = Observable<T>()
48 |         subscribe { result in
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Delay.swift:35:17: warning: capture of 'signal' with non-sendable type 'Signal<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |         subscribe { result in
34 |             queue.asyncAfter(deadline: DispatchTime.now() + seconds) {
35 |                 signal.update(result)
   |                 `- warning: capture of 'signal' with non-sendable type 'Signal<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
36 |             }
37 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Signal.swift:42:20: note: generic class 'Signal' does not conform to the 'Sendable' protocol
 40 |
 41 | @available(*, deprecated: 2.0, message:"Use Observable<Result<T>> instead.")
 42 | public final class Signal<T> {
    |                    `- note: generic class 'Signal' does not conform to the 'Sendable' protocol
 43 |
 44 |     fileprivate var value: Result<T>?
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Delay.swift:35:31: warning: capture of 'result' with non-sendable type 'Result<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
33 |         subscribe { result in
34 |             queue.asyncAfter(deadline: DispatchTime.now() + seconds) {
35 |                 signal.update(result)
   |                               `- warning: capture of 'result' with non-sendable type 'Result<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
36 |             }
37 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Result.swift:30:13: note: consider making generic enum 'Result' conform to the 'Sendable' protocol
 28 |     [this blog post](http://jensravens.de/a-swifter-way-of-handling-errors/).
 29 | */
 30 | public enum Result<T>: ResultType {
    |             `- note: consider making generic enum 'Result' conform to the 'Sendable' protocol
 31 |     case success(T)
 32 |     case error(Error)
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Delay.swift:50:17: warning: capture of 'observable' with non-sendable type 'Observable<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
48 |         subscribe { result in
49 |             queue.asyncAfter(deadline: DispatchTime.now() + seconds) {
50 |                 observable.update(result)
   |                 `- warning: capture of 'observable' with non-sendable type 'Observable<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
51 |             }
52 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable.swift:45:20: note: generic class 'Observable' does not conform to the 'Sendable' protocol
 43 |  Observables are thread safe.
 44 |  */
 45 | public final class Observable<T>: Unsubscribable {
    |                    `- note: generic class 'Observable' does not conform to the 'Sendable' protocol
 46 |     fileprivate typealias Observer = (T)->Void
 47 |     fileprivate var observers = [ObserverToken: Observer]()
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Delay.swift:50:35: warning: capture of 'result' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
48 |         subscribe { result in
49 |             queue.asyncAfter(deadline: DispatchTime.now() + seconds) {
50 |                 observable.update(result)
   |                                   `- warning: capture of 'result' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
51 |             }
52 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable.swift:45:31: note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 43 |  Observables are thread safe.
 44 |  */
 45 | public final class Observable<T>: Unsubscribable {
    |                               `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 46 |     fileprivate typealias Observer = (T)->Void
 47 |     fileprivate var observers = [ObserverToken: Observer]()
[9/14] Compiling Interstellar Result.swift
[10/14] Compiling Interstellar Mutex.swift
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:11:5: warning: 'public' modifier is redundant for instance method declared in a public extension
 9 | public extension Observable where T : ResultType {
10 |     /// Observables containing a Result<T> can be chained to only continue in the success case.
11 |     public func then<U>(_ transform: @escaping (T.Value) -> Result<U>) -> Observable<Result<U>> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
12 |         return map { $0.result.flatMap(transform) }
13 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:16:5: warning: 'public' modifier is redundant for instance method declared in a public extension
14 |
15 |     /// Observables containing a Result<T> can be chained to only continue in the success case.
16 |     public func then<U>(_ transform: @escaping (T.Value) -> U) -> Observable<Result<U>> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
17 |         return map { $0.result.map(transform) }
18 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:21:5: warning: 'public' modifier is redundant for instance method declared in a public extension
19 |
20 |     /// Observables containing a Result<T> can be chained to only continue in the success case.
21 |     public func then<U>(_ transform: @escaping (T.Value) throws -> U) -> Observable<Result<U>> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
22 |         return map { $0.result.flatMap(transform) }
23 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:26:5: warning: 'public' modifier is redundant for instance method declared in a public extension
24 |
25 |     /// Observables containing a Result<T> can be chained to only continue in the success case.
26 |     public func then<U>(_ transform: @escaping (T.Value) -> Observable<U>) -> Observable<Result<U>> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
27 |         return flatMap { [options] in
28 |             let observable = Observable<Result<U>>(options: options)
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:38:5: warning: 'public' modifier is redundant for instance method declared in a public extension
36 |
37 |     /// Observables containing a Result<T> can be chained to only continue in the success case.
38 |     public func then<U>(_ transform: @escaping (T.Value) -> Observable<Result<U>>) -> Observable<Result<U>> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
39 |         return flatMap { [options] in
40 |             switch $0.result {
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:48:24: warning: 'public' modifier is redundant for instance method declared in a public extension
46 |
47 |     /// Only subscribe to successful events.
48 |     @discardableResult public func next(_ block: @escaping (T.Value) -> Void) -> Observable<T> {
   |                        `- warning: 'public' modifier is redundant for instance method declared in a public extension
49 |         subscribe { result in
50 |             if let value = result.value {
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:58:24: warning: 'public' modifier is redundant for instance method declared in a public extension
56 |
57 |     /// Only subscribe to errors.
58 |     @discardableResult public func error(_ block: @escaping (Error) -> Void) -> Observable<T> {
   |                        `- warning: 'public' modifier is redundant for instance method declared in a public extension
59 |         subscribe { result in
60 |             if let error = result.error {
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:68:5: warning: 'public' modifier is redundant for instance method declared in a public extension
66 |
67 |     /// Peek at the value of the observable.
68 |     public func peek() -> T.Value? {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
69 |         return self.value?.value
70 |     }
[11/14] Compiling Interstellar Observable+Result.swift
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:11:5: warning: 'public' modifier is redundant for instance method declared in a public extension
 9 | public extension Observable where T : ResultType {
10 |     /// Observables containing a Result<T> can be chained to only continue in the success case.
11 |     public func then<U>(_ transform: @escaping (T.Value) -> Result<U>) -> Observable<Result<U>> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
12 |         return map { $0.result.flatMap(transform) }
13 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:16:5: warning: 'public' modifier is redundant for instance method declared in a public extension
14 |
15 |     /// Observables containing a Result<T> can be chained to only continue in the success case.
16 |     public func then<U>(_ transform: @escaping (T.Value) -> U) -> Observable<Result<U>> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
17 |         return map { $0.result.map(transform) }
18 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:21:5: warning: 'public' modifier is redundant for instance method declared in a public extension
19 |
20 |     /// Observables containing a Result<T> can be chained to only continue in the success case.
21 |     public func then<U>(_ transform: @escaping (T.Value) throws -> U) -> Observable<Result<U>> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
22 |         return map { $0.result.flatMap(transform) }
23 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:26:5: warning: 'public' modifier is redundant for instance method declared in a public extension
24 |
25 |     /// Observables containing a Result<T> can be chained to only continue in the success case.
26 |     public func then<U>(_ transform: @escaping (T.Value) -> Observable<U>) -> Observable<Result<U>> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
27 |         return flatMap { [options] in
28 |             let observable = Observable<Result<U>>(options: options)
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:38:5: warning: 'public' modifier is redundant for instance method declared in a public extension
36 |
37 |     /// Observables containing a Result<T> can be chained to only continue in the success case.
38 |     public func then<U>(_ transform: @escaping (T.Value) -> Observable<Result<U>>) -> Observable<Result<U>> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
39 |         return flatMap { [options] in
40 |             switch $0.result {
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:48:24: warning: 'public' modifier is redundant for instance method declared in a public extension
46 |
47 |     /// Only subscribe to successful events.
48 |     @discardableResult public func next(_ block: @escaping (T.Value) -> Void) -> Observable<T> {
   |                        `- warning: 'public' modifier is redundant for instance method declared in a public extension
49 |         subscribe { result in
50 |             if let value = result.value {
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:58:24: warning: 'public' modifier is redundant for instance method declared in a public extension
56 |
57 |     /// Only subscribe to errors.
58 |     @discardableResult public func error(_ block: @escaping (Error) -> Void) -> Observable<T> {
   |                        `- warning: 'public' modifier is redundant for instance method declared in a public extension
59 |         subscribe { result in
60 |             if let error = result.error {
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:68:5: warning: 'public' modifier is redundant for instance method declared in a public extension
66 |
67 |     /// Peek at the value of the observable.
68 |     public func peek() -> T.Value? {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
69 |         return self.value?.value
70 |     }
[12/14] Compiling Interstellar Observable.swift
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable.swift:17:23: warning: static property 'NoInitialValue' is not concurrency-safe because non-'Sendable' type 'ObservingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | public struct ObservingOptions: OptionSet {
    |               `- note: consider making struct 'ObservingOptions' conform to the 'Sendable' protocol
 12 |     public let rawValue: Int
 13 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 15 |     /// The last value of this Observable will not retained, therefore `observable.value` will always be nil.
 16 |     /// - Note: Observables without retained values can not be merged.
 17 |     public static let NoInitialValue = ObservingOptions(rawValue: 1)
    |                       |- warning: static property 'NoInitialValue' is not concurrency-safe because non-'Sendable' type 'ObservingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'NoInitialValue' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 18 |     /// Observables will only fire once for an update and nil out their completion blocks afterwards.
 19 |     /// Use this to automatically resolve retain cycles for one-off operations.
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable.swift:20:23: warning: static property 'Once' is not concurrency-safe because non-'Sendable' type 'ObservingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | public struct ObservingOptions: OptionSet {
    |               `- note: consider making struct 'ObservingOptions' conform to the 'Sendable' protocol
 12 |     public let rawValue: Int
 13 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 18 |     /// Observables will only fire once for an update and nil out their completion blocks afterwards.
 19 |     /// Use this to automatically resolve retain cycles for one-off operations.
 20 |     public static let Once = ObservingOptions(rawValue: 2)
    |                       |- warning: static property 'Once' is not concurrency-safe because non-'Sendable' type 'ObservingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'Once' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 | }
 22 |
[13/14] Emitting module Interstellar
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Signal.swift:41:2: warning: unexpected version number in 'available' attribute for non-specific platform '*'
 39 | */
 40 |
 41 | @available(*, deprecated: 2.0, message:"Use Observable<Result<T>> instead.")
    |  `- warning: unexpected version number in 'available' attribute for non-specific platform '*'
 42 | public final class Signal<T> {
 43 |
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Signal.swift:257:2: warning: unexpected version number in 'available' attribute for non-specific platform '*'
255 | }
256 |
257 | @available(*, deprecated: 2.0)
    |  `- warning: unexpected version number in 'available' attribute for non-specific platform '*'
258 | extension Signal {
259 |     func observable() -> Observable<Result<T>> {
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Debounce.swift:25:2: warning: unexpected version number in 'available' attribute for non-specific platform '*'
23 | import Foundation
24 |
25 | @available(*, deprecated: 2.0)
   |  `- warning: unexpected version number in 'available' attribute for non-specific platform '*'
26 | public extension Signal {
27 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Delay.swift:26:2: warning: unexpected version number in 'available' attribute for non-specific platform '*'
24 | import Foundation
25 |
26 | @available(*, deprecated: 2.0)
   |  `- warning: unexpected version number in 'available' attribute for non-specific platform '*'
27 | public extension Signal {
28 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Waiting.swift:37:2: warning: unexpected version number in 'available' attribute for non-specific platform '*'
35 | }
36 |
37 | @available(*, deprecated: 2.0)
   |  `- warning: unexpected version number in 'available' attribute for non-specific platform '*'
38 | public extension Signal {
39 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:11:5: warning: 'public' modifier is redundant for instance method declared in a public extension
 9 | public extension Observable where T : ResultType {
10 |     /// Observables containing a Result<T> can be chained to only continue in the success case.
11 |     public func then<U>(_ transform: @escaping (T.Value) -> Result<U>) -> Observable<Result<U>> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
12 |         return map { $0.result.flatMap(transform) }
13 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:16:5: warning: 'public' modifier is redundant for instance method declared in a public extension
14 |
15 |     /// Observables containing a Result<T> can be chained to only continue in the success case.
16 |     public func then<U>(_ transform: @escaping (T.Value) -> U) -> Observable<Result<U>> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
17 |         return map { $0.result.map(transform) }
18 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:21:5: warning: 'public' modifier is redundant for instance method declared in a public extension
19 |
20 |     /// Observables containing a Result<T> can be chained to only continue in the success case.
21 |     public func then<U>(_ transform: @escaping (T.Value) throws -> U) -> Observable<Result<U>> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
22 |         return map { $0.result.flatMap(transform) }
23 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:26:5: warning: 'public' modifier is redundant for instance method declared in a public extension
24 |
25 |     /// Observables containing a Result<T> can be chained to only continue in the success case.
26 |     public func then<U>(_ transform: @escaping (T.Value) -> Observable<U>) -> Observable<Result<U>> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
27 |         return flatMap { [options] in
28 |             let observable = Observable<Result<U>>(options: options)
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:38:5: warning: 'public' modifier is redundant for instance method declared in a public extension
36 |
37 |     /// Observables containing a Result<T> can be chained to only continue in the success case.
38 |     public func then<U>(_ transform: @escaping (T.Value) -> Observable<Result<U>>) -> Observable<Result<U>> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
39 |         return flatMap { [options] in
40 |             switch $0.result {
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:48:24: warning: 'public' modifier is redundant for instance method declared in a public extension
46 |
47 |     /// Only subscribe to successful events.
48 |     @discardableResult public func next(_ block: @escaping (T.Value) -> Void) -> Observable<T> {
   |                        `- warning: 'public' modifier is redundant for instance method declared in a public extension
49 |         subscribe { result in
50 |             if let value = result.value {
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:58:24: warning: 'public' modifier is redundant for instance method declared in a public extension
56 |
57 |     /// Only subscribe to errors.
58 |     @discardableResult public func error(_ block: @escaping (Error) -> Void) -> Observable<T> {
   |                        `- warning: 'public' modifier is redundant for instance method declared in a public extension
59 |         subscribe { result in
60 |             if let error = result.error {
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable+Result.swift:68:5: warning: 'public' modifier is redundant for instance method declared in a public extension
66 |
67 |     /// Peek at the value of the observable.
68 |     public func peek() -> T.Value? {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
69 |         return self.value?.value
70 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable.swift:17:23: warning: static property 'NoInitialValue' is not concurrency-safe because non-'Sendable' type 'ObservingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | public struct ObservingOptions: OptionSet {
    |               `- note: consider making struct 'ObservingOptions' conform to the 'Sendable' protocol
 12 |     public let rawValue: Int
 13 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 15 |     /// The last value of this Observable will not retained, therefore `observable.value` will always be nil.
 16 |     /// - Note: Observables without retained values can not be merged.
 17 |     public static let NoInitialValue = ObservingOptions(rawValue: 1)
    |                       |- warning: static property 'NoInitialValue' is not concurrency-safe because non-'Sendable' type 'ObservingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'NoInitialValue' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 18 |     /// Observables will only fire once for an update and nil out their completion blocks afterwards.
 19 |     /// Use this to automatically resolve retain cycles for one-off operations.
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Observable.swift:20:23: warning: static property 'Once' is not concurrency-safe because non-'Sendable' type 'ObservingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | public struct ObservingOptions: OptionSet {
    |               `- note: consider making struct 'ObservingOptions' conform to the 'Sendable' protocol
 12 |     public let rawValue: Int
 13 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 18 |     /// Observables will only fire once for an update and nil out their completion blocks afterwards.
 19 |     /// Use this to automatically resolve retain cycles for one-off operations.
 20 |     public static let Once = ObservingOptions(rawValue: 2)
    |                       |- warning: static property 'Once' is not concurrency-safe because non-'Sendable' type 'ObservingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'Once' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 | }
 22 |
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/ObserverToken.swift:24:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'ObserverToken' to 'Hashable' by implementing 'hash(into:)' instead
22 | public final class ObserverToken: Hashable {
23 |     private weak var observable: Unsubscribable?
24 |     public let hashValue: Int
   |                `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'ObserverToken' to 'Hashable' by implementing 'hash(into:)' instead
25 |
26 |     internal init (observable: Unsubscribable, hashValue: Int) {
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Debounce.swift:32:5: warning: 'public' modifier is redundant for instance method declared in a public extension
30 |         specified amount of seconds).
31 |     */
32 |     public func debounce(_ seconds: TimeInterval) -> Signal<T> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
33 |         let signal = Signal<T>()
34 |         var lastCalled: Date?
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Debounce.swift:68:5: warning: 'public' modifier is redundant for instance method declared in a public extension
66 |      specified amount of seconds).
67 |      */
68 |     public func debounce(_ seconds: TimeInterval) -> Observable<T> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
69 |         let observable = Observable<T>()
70 |         var lastCalled: Date?
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Delay.swift:31:5: warning: 'public' modifier is redundant for instance method declared in a public extension
29 |         Creates a new signal that mirrors the original signal but is delayed by x seconds. If no queue is specified, the new signal will call it's observers and transforms on the main queue.
30 |     */
31 |     public func delay(_ seconds: TimeInterval, queue: DispatchQueue = DispatchQueue.main) -> Signal<T> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
32 |         let signal = Signal<T>()
33 |         subscribe { result in
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Delay.swift:46:5: warning: 'public' modifier is redundant for instance method declared in a public extension
44 |      Creates a new observable that mirrors the original observable but is delayed by x seconds. If no queue is specified, the new observable will call it's observers and transforms on the main queue.
45 |      */
46 |     public func delay(_ seconds: TimeInterval, queue: DispatchQueue = DispatchQueue.main) -> Observable<T> {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
47 |         let observable = Observable<T>()
48 |         subscribe { result in
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Waiting.swift:43:5: warning: 'public' modifier is redundant for instance method declared in a public extension
41 |         is an error or a successfull value. In case of an error, the error will be thrown.
42 |     */
43 |     public func wait(_ timeout: TimeInterval? = nil) throws -> T {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
44 |         let group = DispatchGroup()
45 |         var result: Result<T>?
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Waiting.swift:67:5: warning: 'public' modifier is redundant for instance method declared in a public extension
65 |      there is a new value.
66 |      */
67 |     public func wait(_ timeout: TimeInterval? = nil) throws -> T {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
68 |         let group = DispatchGroup()
69 |         var value: T! = nil
[14/14] Compiling Interstellar Waiting.swift
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Waiting.swift:37:2: warning: unexpected version number in 'available' attribute for non-specific platform '*'
35 | }
36 |
37 | @available(*, deprecated: 2.0)
   |  `- warning: unexpected version number in 'available' attribute for non-specific platform '*'
38 | public extension Signal {
39 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Waiting.swift:43:5: warning: 'public' modifier is redundant for instance method declared in a public extension
41 |         is an error or a successfull value. In case of an error, the error will be thrown.
42 |     */
43 |     public func wait(_ timeout: TimeInterval? = nil) throws -> T {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
44 |         let group = DispatchGroup()
45 |         var result: Result<T>?
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Warpdrive/Waiting.swift:67:5: warning: 'public' modifier is redundant for instance method declared in a public extension
65 |      there is a new value.
66 |      */
67 |     public func wait(_ timeout: TimeInterval? = nil) throws -> T {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
68 |         let group = DispatchGroup()
69 |         var value: T! = nil
Build complete! (9.65s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Interstellar",
  "name" : "Interstellar",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Interstellar",
      "targets" : [
        "Interstellar"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "InterstellarTests",
      "module_type" : "SwiftTarget",
      "name" : "InterstellarTests",
      "path" : "Tests/InterstellarTests",
      "sources" : [
        "ObservableTests.swift",
        "ResultObservableTests.swift",
        "ResultTests.swift",
        "SignalTests.swift"
      ],
      "target_dependencies" : [
        "Interstellar"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Interstellar",
      "module_type" : "SwiftTarget",
      "name" : "Interstellar",
      "path" : "Sources/Interstellar",
      "product_memberships" : [
        "Interstellar"
      ],
      "sources" : [
        "Mutex.swift",
        "Observable+Result.swift",
        "Observable.swift",
        "ObserverToken.swift",
        "Result.swift",
        "ResultType.swift",
        "Signal.swift",
        "Warpdrive/Debounce.swift",
        "Warpdrive/Delay.swift",
        "Warpdrive/Threading.swift",
        "Warpdrive/Waiting.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Done.