Build Information
Successful build of ShoppingListModule, reference v1.0.0 (7c5545), with Swift 6.4 for macOS (SPM) on 22 Sep 2026 19:18:10 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/manozghale/ShoppingListModule.git
Reference: v1.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/manozghale/ShoppingListModule
* tag v1.0.0 -> FETCH_HEAD
HEAD is now at 7c5545d fix: git repo locate
Cloned https://github.com/manozghale/ShoppingListModule.git
Revision (git rev-parse @):
7c5545d665faef5556a80c749fd6632b86c828f4
SUCCESS checkout https://github.com/manozghale/ShoppingListModule.git at v1.0.0
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/manozghale/ShoppingListModule.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Planning 1 / 66]
[Planning deferred tasks]
[19 / 28]
[20 / 29] ShoppingListModule
[30 / 106]
[33 / 106]
[41 / 106]
[43 / 106]
[44 / 106]
[49 / 106]
[51 / 106]
[53 / 106]
[56 / 106]
[61 / 106]
[64 / 106]
[66 / 106]
[67 / 106]
[77 / 106]
[79 / 106]
[80 / 106]
[83 / 106]
[85 / 106]
[97 / 106] ShoppingListModule
[98 / 106] ShoppingListModule
[103 / 106] ShoppingListModule
Build complete! (12.37 sec)
warning: upcoming feature 'ImplicitOpenExistentials' already enabled as of the Swift 6 language mode
warning: upcoming feature 'ForwardTrailingClosures' already enabled as of the Swift 6 language mode
warning: upcoming feature 'ConciseMagicFile' already enabled as of the Swift 6 language mode
warning: upcoming feature 'BareSlashRegexLiterals' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ImplicitOpenExistentials' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ForwardTrailingClosures' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ConciseMagicFile' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'BareSlashRegexLiterals' already enabled as of the Swift 6 language mode
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Data/Network/SyncService.swift:32:16: [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m30 |[0;0m case syncing
[0;36m31 |[0;0m case success(itemsProcessed: Int)
[0;36m32 |[0;0m case error(Error)
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m33 |[0;0m }
[0;36m34 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Data/Network/SyncService.swift:45:29: [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m43 |[0;0m /// Concrete implementation of sync service with robust error handling and retry logic
[0;36m44 |[0;0m public final class ShoppingSyncService: SyncService, @unchecked Sendable {
[0;36m45 |[0;0m private let repository: ShoppingListRepository
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m46 |[0;0m private let networkService: NetworkService
[0;36m47 |[0;0m private let syncStatusSubject = PassthroughSubject<SyncState, Never>()
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Data/Network/SyncService.swift:46:33: [1;33mwarning: [1;39muse of protocol 'NetworkService' as a type must be written 'any NetworkService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m44 |[0;0m public final class ShoppingSyncService: SyncService, @unchecked Sendable {
[0;36m45 |[0;0m private let repository: ShoppingListRepository
[0;36m46 |[0;0m private let networkService: NetworkService
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'NetworkService' as a type must be written 'any NetworkService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m47 |[0;0m private let syncStatusSubject = PassthroughSubject<SyncState, Never>()
[0;36m48 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Data/Network/SyncService.swift:57:29: [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m55 |[0;0m }
[0;36m56 |[0;0m
[0;36m57 |[0;0m public init(repository: ShoppingListRepository, networkService: NetworkService) {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m58 |[0;0m self.repository = repository
[0;36m59 |[0;0m self.networkService = networkService
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Data/Network/SyncService.swift:57:69: [1;33mwarning: [1;39muse of protocol 'NetworkService' as a type must be written 'any NetworkService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m55 |[0;0m }
[0;36m56 |[0;0m
[0;36m57 |[0;0m public init(repository: ShoppingListRepository, networkService: NetworkService) {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'NetworkService' as a type must be written 'any NetworkService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m58 |[0;0m self.repository = repository
[0;36m59 |[0;0m self.networkService = networkService
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Data/Network/SyncService.swift:160:39: [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m158 |[0;0m }
[0;36m159 |[0;0m
[0;36m160 |[0;0m private func shouldRetry(_ error: Error) -> Bool {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m161 |[0;0m // Only retry on network-related errors, not client errors
[0;36m162 |[0;0m if let networkError = error as? NetworkError {
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:124:31: [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m122 |[0;0m case missingDependency(String)
[0;36m123 |[0;0m case configurationError(String)
[0;36m124 |[0;0m case initializationFailed(Error)
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m125 |[0;0m
[0;36m126 |[0;0m public var errorDescription: String? {
macro expansion @Model:9:25: [1;33mwarning: [1;39mredundant conformance of 'ShoppingItem' to protocol 'Sendable'[0;0m
`- /Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Models/ShoppingItem.swift:89:2: [1;39mnote: [1;39mexpanded code originates here[0;0m
[0;36m12 |[0;0m /// Designed to support offline-first architecture with sync capabilities
[0;36m13 |[0;0m
[0;36m14 |[0;0m [4;39m@Model[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39min expansion of macro 'Model' on class 'ShoppingItem' here[0;0m
[0;36m15 |[0;0m public class ShoppingItem: Identifiable, @unchecked Sendable {
[0;36m|[0;0m `- [1;39mnote: [1;39m'ShoppingItem' declares conformance to protocol 'Sendable' here[0;0m
[0;36m16 |[0;0m /// Unique identifier - using UUID for distributed system compatibility
[0;36m17 |[0;0m @Attribute(.unique) public var id: String
[0;36m:[0;0m
[0;36m87 |[0;0m return nameMatches || noteMatches
[0;36m88 |[0;0m }
[0;36m89 |[0;0m }
[0;36m +--- [0;0mmacro expansion @Model [0;36m----------------------------------------[0;0m
[0;36m |[0;0m [0;36m7 |[0;0m @available(swift, deprecated: 5.9, message: "PersistentModels are not Sendable, consider utilizing a ModelActor or use ShoppingItem's persistentModelID instead")
[0;36m |[0;0m [0;36m8 |[0;0m @available(*, unavailable, message: "PersistentModels are not Sendable, consider utilizing a ModelActor or use ShoppingItem's persistentModelID instead")
[0;36m |[0;0m [0;36m9 |[0;0m extension ShoppingItem: Sendable {
[0;36m |[0;0m [0;36m|[0;0m `- [1;33mwarning: [1;39mredundant conformance of 'ShoppingItem' to protocol 'Sendable'[0;0m
[0;36m |[0;0m[0;36m10 |[0;0m }
[0;36m +---------------------------[0;0m[0;36m----------------------------------------[0;0m
[0;36m90 |[0;0m
[0;36m91 |[0;0m /// Sort options for item display
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Presentation/ViewModels/ShoppingListViewModel.swift:40:29: [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m38 |[0;0m // MARK: - Dependencies
[0;36m39 |[0;0m
[0;36m40 |[0;0m private let repository: ShoppingListRepository
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m41 |[0;0m private let syncService: SyncService
[0;36m42 |[0;0m private var cancellables = Set<AnyCancellable>()
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Presentation/ViewModels/ShoppingListViewModel.swift:41:30: [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m39 |[0;0m
[0;36m40 |[0;0m private let repository: ShoppingListRepository
[0;36m41 |[0;0m private let syncService: SyncService
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m42 |[0;0m private var cancellables = Set<AnyCancellable>()
[0;36m43 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Presentation/ViewModels/ShoppingListViewModel.swift:46:29: [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m44 |[0;0m // MARK: - Initialization
[0;36m45 |[0;0m
[0;36m46 |[0;0m public init(repository: ShoppingListRepository, syncService: SyncService) {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m47 |[0;0m self.repository = repository
[0;36m48 |[0;0m self.syncService = syncService
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Presentation/ViewModels/ShoppingListViewModel.swift:46:66: [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m44 |[0;0m // MARK: - Initialization
[0;36m45 |[0;0m
[0;36m46 |[0;0m public init(repository: ShoppingListRepository, syncService: SyncService) {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m47 |[0;0m self.repository = repository
[0;36m48 |[0;0m self.syncService = syncService
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Presentation/ViewModels/ShoppingListViewModel.swift:232:39: [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m230 |[0;0m }
[0;36m231 |[0;0m
[0;36m232 |[0;0m private func handleError(_ error: Error) {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m233 |[0;0m let message: String
[0;36m234 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/ShoppingListModule.swift:59:16: [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m57 |[0;0m /// Simple error view for configuration failures
[0;36m58 |[0;0m private struct ErrorView: View {
[0;36m59 |[0;0m let error: Error
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m60 |[0;0m
[0;36m61 |[0;0m var body: some View {
[#ExistentialAny]: <https://docs.swift.org/compiler/documentation/diagnostics/existential-any>
<unknown>:0: warning: upcoming feature 'ImplicitOpenExistentials' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ForwardTrailingClosures' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ConciseMagicFile' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'BareSlashRegexLiterals' already enabled as of the Swift 6 language mode
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/BackgroundSyncManager.swift:43:73: [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m41 |[0;0m @MainActor
[0;36m42 |[0;0m private func performBackgroundSync() async {
[0;36m43 |[0;0m guard let syncService = ShoppingListDependencies.shared.resolve(SyncService.self) else {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m44 |[0;0m return
[0;36m45 |[0;0m }
[#ExistentialAny]: <https://docs.swift.org/compiler/documentation/diagnostics/existential-any>
<unknown>:0: warning: upcoming feature 'ImplicitOpenExistentials' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ForwardTrailingClosures' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ConciseMagicFile' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'BareSlashRegexLiterals' already enabled as of the Swift 6 language mode
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Data/Network/SyncService.swift:32:16: [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m30 |[0;0m case syncing
[0;36m31 |[0;0m case success(itemsProcessed: Int)
[0;36m32 |[0;0m case error(Error)
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m33 |[0;0m }
[0;36m34 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Data/Network/SyncService.swift:45:29: [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m43 |[0;0m /// Concrete implementation of sync service with robust error handling and retry logic
[0;36m44 |[0;0m public final class ShoppingSyncService: SyncService, @unchecked Sendable {
[0;36m45 |[0;0m private let repository: ShoppingListRepository
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m46 |[0;0m private let networkService: NetworkService
[0;36m47 |[0;0m private let syncStatusSubject = PassthroughSubject<SyncState, Never>()
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Data/Network/SyncService.swift:46:33: [1;33mwarning: [1;39muse of protocol 'NetworkService' as a type must be written 'any NetworkService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m44 |[0;0m public final class ShoppingSyncService: SyncService, @unchecked Sendable {
[0;36m45 |[0;0m private let repository: ShoppingListRepository
[0;36m46 |[0;0m private let networkService: NetworkService
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'NetworkService' as a type must be written 'any NetworkService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m47 |[0;0m private let syncStatusSubject = PassthroughSubject<SyncState, Never>()
[0;36m48 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Data/Network/SyncService.swift:57:29: [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m55 |[0;0m }
[0;36m56 |[0;0m
[0;36m57 |[0;0m public init(repository: ShoppingListRepository, networkService: NetworkService) {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m58 |[0;0m self.repository = repository
[0;36m59 |[0;0m self.networkService = networkService
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Data/Network/SyncService.swift:57:69: [1;33mwarning: [1;39muse of protocol 'NetworkService' as a type must be written 'any NetworkService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m55 |[0;0m }
[0;36m56 |[0;0m
[0;36m57 |[0;0m public init(repository: ShoppingListRepository, networkService: NetworkService) {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'NetworkService' as a type must be written 'any NetworkService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m58 |[0;0m self.repository = repository
[0;36m59 |[0;0m self.networkService = networkService
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Data/Network/SyncService.swift:160:39: [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m158 |[0;0m }
[0;36m159 |[0;0m
[0;36m160 |[0;0m private func shouldRetry(_ error: Error) -> Bool {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m161 |[0;0m // Only retry on network-related errors, not client errors
[0;36m162 |[0;0m if let networkError = error as? NetworkError {
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Data/Network/SyncService.swift:135:24: [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m133 |[0;0m /// Implements exponential backoff retry logic
[0;36m134 |[0;0m private func retryWithBackoff<T>(_ operation: () async throws -> T) async throws -> T {
[0;36m135 |[0;0m var lastError: Error?
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m136 |[0;0m
[0;36m137 |[0;0m for attempt in 0..<maxRetries {
[#ExistentialAny]: <https://docs.swift.org/compiler/documentation/diagnostics/existential-any>
<unknown>:0: warning: upcoming feature 'ImplicitOpenExistentials' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ForwardTrailingClosures' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ConciseMagicFile' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'BareSlashRegexLiterals' already enabled as of the Swift 6 language mode
macro expansion @Model:9:25: [1;33mwarning: [1;39mredundant conformance of 'ShoppingItem' to protocol 'Sendable'[0;0m
`- /Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Models/ShoppingItem.swift:89:2: [1;39mnote: [1;39mexpanded code originates here[0;0m
[0;36m12 |[0;0m /// Designed to support offline-first architecture with sync capabilities
[0;36m13 |[0;0m
[0;36m14 |[0;0m [4;39m@Model[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39min expansion of macro 'Model' on class 'ShoppingItem' here[0;0m
[0;36m15 |[0;0m public class ShoppingItem: Identifiable, @unchecked Sendable {
[0;36m|[0;0m `- [1;39mnote: [1;39m'ShoppingItem' declares conformance to protocol 'Sendable' here[0;0m
[0;36m16 |[0;0m /// Unique identifier - using UUID for distributed system compatibility
[0;36m17 |[0;0m @Attribute(.unique) public var id: String
[0;36m:[0;0m
[0;36m87 |[0;0m return nameMatches || noteMatches
[0;36m88 |[0;0m }
[0;36m89 |[0;0m }
[0;36m +--- [0;0mmacro expansion @Model [0;36m----------------------------------------[0;0m
[0;36m |[0;0m [0;36m7 |[0;0m @available(swift, deprecated: 5.9, message: "PersistentModels are not Sendable, consider utilizing a ModelActor or use ShoppingItem's persistentModelID instead")
[0;36m |[0;0m [0;36m8 |[0;0m @available(*, unavailable, message: "PersistentModels are not Sendable, consider utilizing a ModelActor or use ShoppingItem's persistentModelID instead")
[0;36m |[0;0m [0;36m9 |[0;0m extension ShoppingItem: Sendable {
[0;36m |[0;0m [0;36m|[0;0m `- [1;33mwarning: [1;39mredundant conformance of 'ShoppingItem' to protocol 'Sendable'[0;0m
[0;36m |[0;0m[0;36m10 |[0;0m }
[0;36m +---------------------------[0;0m[0;36m----------------------------------------[0;0m
[0;36m90 |[0;0m
[0;36m91 |[0;0m /// Sort options for item display
<unknown>:0: warning: upcoming feature 'ImplicitOpenExistentials' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ForwardTrailingClosures' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ConciseMagicFile' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'BareSlashRegexLiterals' already enabled as of the Swift 6 language mode
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/ShoppingListModule.swift:59:16: [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m57 |[0;0m /// Simple error view for configuration failures
[0;36m58 |[0;0m private struct ErrorView: View {
[0;36m59 |[0;0m let error: Error
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m60 |[0;0m
[0;36m61 |[0;0m var body: some View {
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/ShoppingListModule.swift:53:20: [1;33mwarning: [1;39mno 'async' operations occur within 'await' expression[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker\UnnecessaryEffectMarker]8;;\]
[0;36m51 |[0;0m configuration: ShoppingListConfiguration = .production
[0;36m52 |[0;0m ) async throws -> ShoppingListViewModel {
[0;36m53 |[0;0m return try await ShoppingListModuleFactory.createViewModel(configuration: configuration)
[0;36m|[0;0m `- [1;33mwarning: [1;39mno 'async' operations occur within 'await' expression[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker\UnnecessaryEffectMarker]8;;\]
[0;36m54 |[0;0m }
[0;36m55 |[0;0m }
[#ExistentialAny]: <https://docs.swift.org/compiler/documentation/diagnostics/existential-any>
[#UnnecessaryEffectMarker]: <https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker>
<unknown>:0: warning: upcoming feature 'ImplicitOpenExistentials' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ForwardTrailingClosures' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ConciseMagicFile' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'BareSlashRegexLiterals' already enabled as of the Swift 6 language mode
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Presentation/ViewModels/ShoppingListViewModel.swift:40:29: [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m38 |[0;0m // MARK: - Dependencies
[0;36m39 |[0;0m
[0;36m40 |[0;0m private let repository: ShoppingListRepository
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m41 |[0;0m private let syncService: SyncService
[0;36m42 |[0;0m private var cancellables = Set<AnyCancellable>()
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Presentation/ViewModels/ShoppingListViewModel.swift:41:30: [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m39 |[0;0m
[0;36m40 |[0;0m private let repository: ShoppingListRepository
[0;36m41 |[0;0m private let syncService: SyncService
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m42 |[0;0m private var cancellables = Set<AnyCancellable>()
[0;36m43 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Presentation/ViewModels/ShoppingListViewModel.swift:46:29: [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m44 |[0;0m // MARK: - Initialization
[0;36m45 |[0;0m
[0;36m46 |[0;0m public init(repository: ShoppingListRepository, syncService: SyncService) {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m47 |[0;0m self.repository = repository
[0;36m48 |[0;0m self.syncService = syncService
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Presentation/ViewModels/ShoppingListViewModel.swift:46:66: [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m44 |[0;0m // MARK: - Initialization
[0;36m45 |[0;0m
[0;36m46 |[0;0m public init(repository: ShoppingListRepository, syncService: SyncService) {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m47 |[0;0m self.repository = repository
[0;36m48 |[0;0m self.syncService = syncService
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Presentation/ViewModels/ShoppingListViewModel.swift:232:39: [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m230 |[0;0m }
[0;36m231 |[0;0m
[0;36m232 |[0;0m private func handleError(_ error: Error) {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m233 |[0;0m let message: String
[0;36m234 |[0;0m
[#ExistentialAny]: <https://docs.swift.org/compiler/documentation/diagnostics/existential-any>
<unknown>:0: warning: upcoming feature 'ImplicitOpenExistentials' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ForwardTrailingClosures' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ConciseMagicFile' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'BareSlashRegexLiterals' already enabled as of the Swift 6 language mode
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:124:31: [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m122 |[0;0m case missingDependency(String)
[0;36m123 |[0;0m case configurationError(String)
[0;36m124 |[0;0m case initializationFailed(Error)
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m125 |[0;0m
[0;36m126 |[0;0m public var errorDescription: String? {
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:41:72: [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m39 |[0;0m ) throws -> ShoppingListViewModel {
[0;36m40 |[0;0m
[0;36m41 |[0;0m guard let repository = ShoppingListDependencies.shared.resolve(ShoppingListRepository.self) else {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m42 |[0;0m throw ModuleError.missingDependency("ShoppingListRepository")
[0;36m43 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:45:73: [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m43 |[0;0m }
[0;36m44 |[0;0m
[0;36m45 |[0;0m guard let syncService = ShoppingListDependencies.shared.resolve(SyncService.self) else {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m46 |[0;0m throw ModuleError.missingDependency("SyncService")
[0;36m47 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:58:25: [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m56 |[0;0m
[0;36m57 |[0;0m // Setup Repository
[0;36m58 |[0;0m let repository: ShoppingListRepository
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m59 |[0;0m if configuration.isTestMode {
[0;36m60 |[0;0m repository = MockShoppingListRepository()
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:67:29: [1;33mwarning: [1;39muse of protocol 'NetworkService' as a type must be written 'any NetworkService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m65 |[0;0m
[0;36m66 |[0;0m // Setup Network Service
[0;36m67 |[0;0m let networkService: NetworkService
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'NetworkService' as a type must be written 'any NetworkService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m68 |[0;0m if let apiURL = configuration.apiBaseURL {
[0;36m69 |[0;0m networkService = HTTPShoppingNetworkService(baseURL: apiURL)
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:64:45: [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m62 |[0;0m repository = try await SwiftDataShoppingRepository()
[0;36m63 |[0;0m }
[0;36m64 |[0;0m container.register(repository, for: ShoppingListRepository.self)
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m65 |[0;0m
[0;36m66 |[0;0m // Setup Network Service
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:73:49: [1;33mwarning: [1;39muse of protocol 'NetworkService' as a type must be written 'any NetworkService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m71 |[0;0m networkService = MockNetworkService()
[0;36m72 |[0;0m }
[0;36m73 |[0;0m container.register(networkService, for: NetworkService.self)
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'NetworkService' as a type must be written 'any NetworkService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m74 |[0;0m
[0;36m75 |[0;0m // Setup Sync Service
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:80:46: [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m78 |[0;0m networkService: networkService
[0;36m79 |[0;0m )
[0;36m80 |[0;0m container.register(syncService, for: SyncService.self)
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m81 |[0;0m }
[0;36m82 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:62:30: [1;33mwarning: [1;39mno 'async' operations occur within 'await' expression[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker\UnnecessaryEffectMarker]8;;\]
[0;36m60 |[0;0m repository = MockShoppingListRepository()
[0;36m61 |[0;0m } else {
[0;36m62 |[0;0m repository = try await SwiftDataShoppingRepository()
[0;36m|[0;0m `- [1;33mwarning: [1;39mno 'async' operations occur within 'await' expression[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker\UnnecessaryEffectMarker]8;;\]
[0;36m63 |[0;0m }
[0;36m64 |[0;0m container.register(repository, for: ShoppingListRepository.self)
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:152:49: [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m150 |[0;0m // Register test dependencies
[0;36m151 |[0;0m let container = ShoppingListDependencies.shared
[0;36m152 |[0;0m container.register(mockRepository, for: ShoppingListRepository.self)
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m153 |[0;0m container.register(mockNetworkService, for: NetworkService.self)
[0;36m154 |[0;0m container.register(syncService, for: SyncService.self)
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:153:53: [1;33mwarning: [1;39muse of protocol 'NetworkService' as a type must be written 'any NetworkService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m151 |[0;0m let container = ShoppingListDependencies.shared
[0;36m152 |[0;0m container.register(mockRepository, for: ShoppingListRepository.self)
[0;36m153 |[0;0m container.register(mockNetworkService, for: NetworkService.self)
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'NetworkService' as a type must be written 'any NetworkService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m154 |[0;0m container.register(syncService, for: SyncService.self)
[0;36m155 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:154:46: [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m152 |[0;0m container.register(mockRepository, for: ShoppingListRepository.self)
[0;36m153 |[0;0m container.register(mockNetworkService, for: NetworkService.self)
[0;36m154 |[0;0m container.register(syncService, for: SyncService.self)
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m155 |[0;0m
[0;36m156 |[0;0m let viewModel = ShoppingListViewModel(repository: mockRepository, syncService: syncService)
[#ExistentialAny]: <https://docs.swift.org/compiler/documentation/diagnostics/existential-any>
[#UnnecessaryEffectMarker]: <https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker>
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "ShoppingListModule",
"name" : "ShoppingListModule",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "17.0"
},
{
"name" : "macos",
"version" : "14.0"
}
],
"products" : [
{
"name" : "ShoppingListModule",
"targets" : [
"ShoppingListModule"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ShoppingListModuleTests",
"module_type" : "SwiftTarget",
"name" : "ShoppingListModuleTests",
"path" : "Tests/ShoppingListModuleTests",
"sources" : [
"DataTests/NetworkServiceTests.swift",
"DataTests/RepositoryTests.swift",
"DataTests/SyncServiceTests.swift",
"IntegrationTests/EndToEndTests.swift",
"IntegrationTests/ModuleIntegrationTests.swift",
"ModelTests/ArrayExtensionTests.swift",
"ModelTests/ShoppingItemTests.swift",
"PresentationTests/UIIntegrationTests.swift",
"PresentationTests/ViewModelTests.swift",
"TestUtilities/MockData.swift",
"TestUtilities/TestHelpers.swift",
"TestUtilities/XCTestExtensions.swift"
],
"target_dependencies" : [
"ShoppingListModule"
],
"type" : "test"
},
{
"c99name" : "ShoppingListModule",
"module_type" : "SwiftTarget",
"name" : "ShoppingListModule",
"path" : "Sources/ShoppingListModule",
"product_memberships" : [
"ShoppingListModule"
],
"sources" : [
"Data/Network/HTTPNetworkService.swift",
"Data/Network/MockNetworkService.swift",
"Data/Network/NetworkService.swift",
"Data/Network/SyncService.swift",
"Data/Repository/MockRepository.swift",
"Data/Repository/ShoppingListRepository.swift",
"Data/Repository/SwiftDataRepository.swift",
"DependencyInjection/BackgroundSyncManager.swift",
"DependencyInjection/ShoppingListConfiguration.swift",
"DependencyInjection/ShoppingListDependencies.swift",
"DependencyInjection/ShoppingListModuleFactory.swift",
"Models/FilteringSorting.swift",
"Models/ShoppingItem.swift",
"Models/SyncStatus.swift",
"Presentation/ViewModels/ShoppingListErrors.swift",
"Presentation/ViewModels/ShoppingListViewModel.swift",
"Presentation/Views/Components/AddItemSheet.swift",
"Presentation/Views/Components/EditItemSheet.swift",
"Presentation/Views/Components/EmptyStateView.swift",
"Presentation/Views/Components/SearchAndFilterBar.swift",
"Presentation/Views/Components/ShoppingItemRow.swift",
"Presentation/Views/ShoppingListView.swift",
"Presentation/Views/Supporting/LoadingView.swift",
"ShoppingListModule.swift"
],
"type" : "library"
}
],
"tools_version" : "6.1"
}
Done.