Build Information
Successful build of Interstellar, reference 2.2.0 (f5f628
), with Swift 6.0 for macOS (SPM) on 31 Oct 2024 01:19:29 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: 2.2.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/JensRavens/Interstellar
* tag 2.2.0 -> FETCH_HEAD
HEAD is now at f5f6287 Upgrade to Xcode 9.3 and Swift 4.1 (#66)
Cloned https://github.com/JensRavens/Interstellar.git
Revision (git rev-parse @):
f5f6287a902524d06d82edc3ac09aa739f43ef09
SUCCESS checkout https://github.com/JensRavens/Interstellar.git at 2.2.0
========================================
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
[1/1208] Fetching interstellar
Fetched https://github.com/JensRavens/Interstellar.git from cache (0.94s)
Creating working copy for https://github.com/JensRavens/Interstellar.git
Working copy of https://github.com/JensRavens/Interstellar.git resolved at 2.2.0 (f5f6287)
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:38:20: note: generic class 'Observable' does not conform to the 'Sendable' protocol
36 | Observables are thread safe.
37 | */
38 | public final class Observable<T> {
| `- note: generic class 'Observable' does not conform to the 'Sendable' protocol
39 | fileprivate typealias Observer = (T)->Void
40 | 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 Mutex.swift
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Mutex.swift:37:52: warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
35 | func lock(_ closure: () -> Void) {
36 | let status = lock()
37 | assert(status == 0, "pthread_mutex_lock: \(strerror(status))")
| |- warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
| |- note: use 'String(describing:)' to silence this warning
| `- note: provide a default value to avoid this warning
38 | defer { unlock() }
39 | closure()
/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 | }
[5/14] Compiling Interstellar Observable+Result.swift
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/Mutex.swift:37:52: warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
35 | func lock(_ closure: () -> Void) {
36 | let status = lock()
37 | assert(status == 0, "pthread_mutex_lock: \(strerror(status))")
| |- warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
| |- note: use 'String(describing:)' to silence this warning
| `- note: provide a default value to avoid this warning
38 | defer { unlock() }
39 | closure()
/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 | }
[6/14] Compiling Interstellar Result.swift
[7/14] Compiling Interstellar ResultType.swift
[8/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?
[9/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:38:20: note: generic class 'Observable' does not conform to the 'Sendable' protocol
36 | Observables are thread safe.
37 | */
38 | public final class Observable<T> {
| `- note: generic class 'Observable' does not conform to the 'Sendable' protocol
39 | fileprivate typealias Observer = (T)->Void
40 | 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:38:31: note: consider making generic parameter 'T' conform to the 'Sendable' protocol
36 | Observables are thread safe.
37 | */
38 | public final class Observable<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
39 | fileprivate typealias Observer = (T)->Void
40 | fileprivate var observers = [ObserverToken: Observer]()
[10/14] Compiling Interstellar ObserverToken.swift
/Users/admin/builder/spi-builder-workspace/Sources/Interstellar/ObserverToken.swift:23:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'ObserverToken' to 'Hashable' by implementing 'hash(into:)' instead
21 | /// Observer tokens are created by observables to hande unsubscription. You are not supposed to create them directly.
22 | public final class ObserverToken: Hashable {
23 | public let hashValue: Int
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'ObserverToken' to 'Hashable' by implementing 'hash(into:)' instead
24 |
25 | internal init (hashValue: Int) {
[11/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:23:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'ObserverToken' to 'Hashable' by implementing 'hash(into:)' instead
21 | /// Observer tokens are created by observables to hande unsubscription. You are not supposed to create them directly.
22 | public final class ObserverToken: Hashable {
23 | public let hashValue: Int
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'ObserverToken' to 'Hashable' by implementing 'hash(into:)' instead
24 |
25 | internal init (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
[12/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>> {
[13/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 |
[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! (10.67s)
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.