The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of EmealKit, reference master (5f3122), with Swift 6.1 for macOS (SPM) on 29 Apr 2025 21:52:34 UTC.

Swift 6 data race errors: 4

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.61.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/kiliankoe/EmealKit.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/kiliankoe/EmealKit
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 5f3122d add spi shields to readme
Cloned https://github.com/kiliankoe/EmealKit.git
Revision (git rev-parse @):
5f3122d578615483c5378614bd02aa459060d239
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/kiliankoe/EmealKit.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/kiliankoe/EmealKit.git
https://github.com/kiliankoe/EmealKit.git
{
  "dependencies" : [
    {
      "identity" : "htmlstring",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.0.0",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/alexaubry/HTMLString.git"
    },
    {
      "identity" : "regex",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.1.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/sharplet/Regex.git"
    },
    {
      "identity" : "feedkit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "9.1.2",
            "upper_bound" : "10.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/nmdias/FeedKit.git"
    }
  ],
  "manifest_display_name" : "EmealKit",
  "name" : "EmealKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "watchos",
      "version" : "7.0"
    },
    {
      "name" : "tvos",
      "version" : "14.0"
    }
  ],
  "products" : [
    {
      "name" : "EmealKit",
      "targets" : [
        "EmealKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "EmealKitTests",
      "module_type" : "SwiftTarget",
      "name" : "EmealKitTests",
      "path" : "Tests/EmealKitTests",
      "sources" : [
        "CanteenTests.swift",
        "EmealTests.swift",
        "MealTests.swift",
        "MockData.swift",
        "MockURLSession.swift"
      ],
      "target_dependencies" : [
        "EmealKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "EmealKit",
      "module_type" : "SwiftTarget",
      "name" : "EmealKit",
      "path" : "Sources/EmealKit",
      "product_dependencies" : [
        "HTMLString",
        "Regex",
        "FeedKit"
      ],
      "product_memberships" : [
        "EmealKit"
      ],
      "sources" : [
        "Cardservice/CardData.swift",
        "Cardservice/Cardservice.swift",
        "Cardservice/CardserviceAPI.swift",
        "Cardservice/CardserviceError.swift",
        "Cardservice/LoginResponse.swift",
        "Cardservice/Transaction.swift",
        "Date+short.swift",
        "Double+euroString.swift",
        "Emeal/Emeal.swift",
        "Emeal/EmealDelegate.swift",
        "Emeal/LocalizedEmealStrings.swift",
        "Emeal/ObservableEmeal.swift",
        "EmealError.swift",
        "Logger.swift",
        "Mensa/Canteen.swift",
        "Mensa/Meal.swift",
        "Mensa/MealFeed.swift",
        "Mensa/MensaAPI.swift",
        "URLSessionProtocol.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "APIValidationTests",
      "module_type" : "SwiftTarget",
      "name" : "APIValidationTests",
      "path" : "Tests/APIValidationTests",
      "sources" : [
        "CardserviceAPITests.swift",
        "MenuAPITests.swift"
      ],
      "target_dependencies" : [
        "EmealKit"
      ],
      "type" : "test"
    }
  ],
  "tools_version" : "5.5"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/5] Write sources
[4/5] Write swift-version-2F0A5646E1D333AE.txt
[6/102] Emitting module Regex
[7/102] Emitting module FeedKit
[8/111] Compiling FeedKit RSSFeedImage.swift
[9/111] Compiling FeedKit RSSFeedItem.swift
[10/111] Compiling FeedKit RSSFeedItemCategory.swift
[11/111] Compiling FeedKit RSSFeedItemEnclosure.swift
[12/111] Compiling FeedKit RSSFeedItemGUID.swift
[13/111] Compiling FeedKit RSSFeedItemSource.swift
[14/111] Compiling FeedKit RSSFeedSkipDay.swift
[15/111] Compiling FeedKit RSSFeedSkipHour.swift
[16/111] Compiling FeedKit RSSFeedTextInput.swift
[17/111] Compiling FeedKit RSSPath.swift
[18/111] Compiling FeedKit Feed.swift
[19/111] Compiling FeedKit FeedDataType.swift
[20/111] Compiling FeedKit FeedParser.swift
[21/111] Compiling FeedKit FeedParserProtocol.swift
[22/111] Compiling FeedKit JSONFeedParser.swift
[23/111] Compiling FeedKit ParserError.swift
[24/111] Compiling FeedKit XMLFeedParser.swift
[25/111] Compiling FeedKit XMLFeedType.swift
[26/111] Compiling FeedKit MediaDescription.swift
[27/111] Compiling FeedKit MediaEmbed.swift
[28/111] Compiling FeedKit MediaGroup.swift
[29/111] Compiling FeedKit MediaHash.swift
[30/111] Compiling FeedKit MediaLicence.swift
[31/111] Compiling FeedKit MediaLocation.swift
[32/111] Compiling FeedKit MediaNamespace.swift
[33/111] Compiling FeedKit MediaParam.swift
[34/111] Compiling FeedKit MediaPeerLink.swift
[35/111] Compiling Regex Regex.swift
[36/111] Compiling Regex String+ReplaceMatching.swift
[37/111] Compiling Regex MatchResult.swift
[38/111] Compiling Regex Options.swift
[39/111] Compiling Regex Foundation+Ranges.swift
[40/111] Compiling Regex ThreadLocal.swift
[41/111] Compiling FeedKit JSONFeedAuthor.swift
[42/111] Compiling FeedKit JSONFeedHub.swift
[43/111] Compiling FeedKit JSONFeedItem.swift
[44/111] Compiling FeedKit ContentNamespace.swift
[45/111] Compiling FeedKit DublinCoreNamespace.swift
[46/111] Compiling FeedKit MediaCategory.swift
[47/111] Compiling FeedKit MediaCommunity.swift
[48/111] Compiling FeedKit MediaContent.swift
[49/111] Compiling FeedKit MediaCopyright.swift
[50/111] Compiling FeedKit MediaCredit.swift
[51/111] Compiling FeedKit MediaPlayer.swift
[52/111] Compiling FeedKit MediaPrice.swift
[53/111] Compiling FeedKit MediaRating.swift
[54/111] Compiling FeedKit MediaRestriction.swift
[55/111] Compiling FeedKit MediaRights.swift
[56/111] Compiling FeedKit MediaScene.swift
[57/111] Compiling FeedKit MediaStarRating.swift
[58/111] Compiling FeedKit MediaStatistics.swift
[59/111] Compiling FeedKit MediaStatus.swift
[60/111] Compiling FeedKit AtomFeedEntryContributor.swift
[61/111] Compiling FeedKit AtomFeedEntryLink.swift
[62/111] Compiling FeedKit AtomFeedEntrySource.swift
[63/111] Compiling FeedKit AtomFeedEntrySummary.swift
[64/111] Compiling FeedKit AtomFeedGenerator.swift
[65/111] Compiling FeedKit AtomFeedLink.swift
[66/111] Compiling FeedKit AtomFeedSubtitle.swift
[67/111] Compiling FeedKit AtomPath.swift
[68/111] Compiling FeedKit JSONFeed.swift
[69/111] Compiling FeedKit JSONFeedAttachment.swift
[70/111] Compiling FeedKit AtomFeed + mapAttributes.swift
[71/111] Compiling FeedKit AtomFeed + mapCharacters.swift
[72/111] Compiling FeedKit AtomFeed.swift
[73/111] Compiling FeedKit AtomFeedAuthor.swift
[74/111] Compiling FeedKit AtomFeedCategory.swift
[75/111] Compiling FeedKit AtomFeedContributor.swift
[76/111] Compiling FeedKit AtomFeedEntry.swift
[77/111] Compiling FeedKit AtomFeedEntryAuthor.swift
[78/111] Compiling FeedKit AtomFeedEntryCategory.swift
[79/111] Compiling FeedKit AtomFeedEntryContent.swift
[80/111] Compiling HTMLString HTMLString.swift
[81/111] Emitting module HTMLString
[82/111] Compiling HTMLString NSString+HTMLString.swift
[83/111] Compiling HTMLString Mappings.swift
[84/111] Compiling FeedKit DateSpec.swift
[85/111] Compiling FeedKit ISO8601DateFormatter.swift
[86/111] Compiling FeedKit RFC3339DateFormatter.swift
[87/111] Compiling FeedKit RFC822DateFormatter.swift
[88/111] Compiling FeedKit Array + Equatable.swift
[89/111] Compiling FeedKit Date + codingStrategy.swift
[90/111] Compiling FeedKit String + toBool.swift
[91/111] Compiling FeedKit String + toDate.swift
[92/111] Compiling FeedKit String + toDuration.swift
[93/111] Compiling FeedKit URL + replacingScheme.swift
[94/111] Compiling FeedKit MediaSubTitle.swift
[95/111] Compiling FeedKit MediaTag.swift
[96/111] Compiling FeedKit MediaText.swift
[97/111] Compiling FeedKit MediaThumbnail.swift
[98/111] Compiling FeedKit MediaTitle.swift
[99/111] Compiling FeedKit SyndicationNamespace.swift
[100/111] Compiling FeedKit SyndicationUpdatePeriod.swift
[101/111] Compiling FeedKit iTunesCategory.swift
[102/111] Compiling FeedKit iTunesImage.swift
[103/111] Compiling FeedKit iTunesNamespace.swift
[104/111] Compiling FeedKit iTunesOwner.swift
[105/111] Compiling FeedKit iTunesSubCategory.swift
[106/111] Compiling FeedKit RDFPath.swift
[107/111] Compiling FeedKit RSSFeed + mapAttributes.swift
[108/111] Compiling FeedKit RSSFeed + mapCharacters.swift
[109/111] Compiling FeedKit RSSFeed.swift
[110/111] Compiling FeedKit RSSFeedCategory.swift
[111/111] Compiling FeedKit RSSFeedCloud.swift
[112/130] Compiling EmealKit MealFeed.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Mensa/MealFeed.swift:56:34: warning: sending 'meals' risks causing data races; this is an error in the Swift 6 language mode
54 |                         )
55 |                     }
56 |                     continuation.resume(returning: meals)
   |                                  |- warning: sending 'meals' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'meals' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
57 |                 case .failure(let error):
58 |                     continuation.resume(throwing: error)
[113/130] Compiling EmealKit MensaAPI.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Mensa/MealFeed.swift:56:34: warning: sending 'meals' risks causing data races; this is an error in the Swift 6 language mode
54 |                         )
55 |                     }
56 |                     continuation.resume(returning: meals)
   |                                  |- warning: sending 'meals' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'meals' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
57 |                 case .failure(let error):
58 |                     continuation.resume(throwing: error)
[114/130] Compiling EmealKit LocalizedEmealStrings.swift
[115/130] Compiling EmealKit ObservableEmeal.swift
[116/130] Compiling EmealKit EmealError.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Logger.swift:4:24: warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2 |
3 | extension Logger {
4 |     private static var subsystem = "io.kilian.EmealKit"
  |                        |- warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  |                        |- note: convert 'subsystem' to a 'let' constant to make 'Sendable' shared state immutable
  |                        |- note: add '@MainActor' to make static property 'subsystem' part of global actor 'MainActor'
  |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 |
6 |     static let emealKit = Logger(subsystem: subsystem, category: "EmealKit")
[117/130] Compiling EmealKit Logger.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Logger.swift:4:24: warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2 |
3 | extension Logger {
4 |     private static var subsystem = "io.kilian.EmealKit"
  |                        |- warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  |                        |- note: convert 'subsystem' to a 'let' constant to make 'Sendable' shared state immutable
  |                        |- note: add '@MainActor' to make static property 'subsystem' part of global actor 'MainActor'
  |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 |
6 |     static let emealKit = Logger(subsystem: subsystem, category: "EmealKit")
[118/130] Compiling EmealKit Emeal.swift
[119/130] Compiling EmealKit EmealDelegate.swift
[120/130] Compiling EmealKit Date+short.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Date+short.swift:4:16: warning: static property 'dayMonthYearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 2 |
 3 | extension Date {
 4 |     static var dayMonthYearFormatter: DateFormatter = {
   |                |- warning: static property 'dayMonthYearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'dayMonthYearFormatter' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'dayMonthYearFormatter' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 5 |         let formatter = DateFormatter()
 6 |         formatter.dateFormat = "dd.MM.y"
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Date+short.swift:11:16: warning: static property 'dayMonthYearHourMinute' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 9 |     }()
10 |
11 |     static var dayMonthYearHourMinute: DateFormatter = {
   |                |- warning: static property 'dayMonthYearHourMinute' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'dayMonthYearHourMinute' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'dayMonthYearHourMinute' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |         let formatter = DateFormatter()
13 |         formatter.dateFormat = "dd.MM.y HH:mm"
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Date+short.swift:18:16: warning: static property 'yearMonthDayFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 |     }()
17 |
18 |     static var yearMonthDayFormatter: DateFormatter = {
   |                |- warning: static property 'yearMonthDayFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'yearMonthDayFormatter' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'yearMonthDayFormatter' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |         let formatter = DateFormatter()
20 |         formatter.dateFormat = "y-MM-dd"
[121/130] Compiling EmealKit Double+euroString.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Date+short.swift:4:16: warning: static property 'dayMonthYearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 2 |
 3 | extension Date {
 4 |     static var dayMonthYearFormatter: DateFormatter = {
   |                |- warning: static property 'dayMonthYearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'dayMonthYearFormatter' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'dayMonthYearFormatter' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 5 |         let formatter = DateFormatter()
 6 |         formatter.dateFormat = "dd.MM.y"
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Date+short.swift:11:16: warning: static property 'dayMonthYearHourMinute' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 9 |     }()
10 |
11 |     static var dayMonthYearHourMinute: DateFormatter = {
   |                |- warning: static property 'dayMonthYearHourMinute' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'dayMonthYearHourMinute' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'dayMonthYearHourMinute' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |         let formatter = DateFormatter()
13 |         formatter.dateFormat = "dd.MM.y HH:mm"
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Date+short.swift:18:16: warning: static property 'yearMonthDayFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 |     }()
17 |
18 |     static var yearMonthDayFormatter: DateFormatter = {
   |                |- warning: static property 'yearMonthDayFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'yearMonthDayFormatter' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'yearMonthDayFormatter' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |         let formatter = DateFormatter()
20 |         formatter.dateFormat = "y-MM-dd"
[122/130] Compiling EmealKit LoginResponse.swift
[123/130] Compiling EmealKit Transaction.swift
[124/130] Compiling EmealKit CardserviceAPI.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Cardservice/CardserviceAPI.swift:25:17: warning: capture of 'completion' with non-sendable type '(Result<T, CardserviceError>) -> Void' in a '@Sendable' closure
23 |         let task = session.dataTask(with: request) { data, response, error in
24 |             guard error == nil else {
25 |                 completion(.failure(.network(error)))
   |                 |- warning: capture of 'completion' with non-sendable type '(Result<T, CardserviceError>) -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
26 |                 return
27 |             }
[125/130] Compiling EmealKit CardserviceError.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Cardservice/CardserviceAPI.swift:25:17: warning: capture of 'completion' with non-sendable type '(Result<T, CardserviceError>) -> Void' in a '@Sendable' closure
23 |         let task = session.dataTask(with: request) { data, response, error in
24 |             guard error == nil else {
25 |                 completion(.failure(.network(error)))
   |                 |- warning: capture of 'completion' with non-sendable type '(Result<T, CardserviceError>) -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
26 |                 return
27 |             }
[126/130] Compiling EmealKit CardData.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Cardservice/Cardservice.swift:73:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
 71 |         try await withCheckedThrowingContinuation { continuation in
 72 |             self.login(username: username, password: password, session: session) { result in
 73 |                 continuation.resume(with: result)
    |                              |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
 74 |             }
 75 |         }
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Cardservice/Cardservice.swift:116:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
114 |         try await withCheckedThrowingContinuation { continuation in
115 |             self.carddata(session: session) { result in
116 |                 continuation.resume(with: result)
    |                              |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
117 |             }
118 |         }
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Cardservice/Cardservice.swift:197:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
195 |         try await withCheckedThrowingContinuation { continuation in
196 |             self.transactions(begin: begin, end: end, session: session) { result in
197 |                 continuation.resume(with: result)
    |                              |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
198 |             }
199 |         }
[127/130] Compiling EmealKit Cardservice.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Cardservice/Cardservice.swift:73:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
 71 |         try await withCheckedThrowingContinuation { continuation in
 72 |             self.login(username: username, password: password, session: session) { result in
 73 |                 continuation.resume(with: result)
    |                              |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
 74 |             }
 75 |         }
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Cardservice/Cardservice.swift:116:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
114 |         try await withCheckedThrowingContinuation { continuation in
115 |             self.carddata(session: session) { result in
116 |                 continuation.resume(with: result)
    |                              |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
117 |             }
118 |         }
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Cardservice/Cardservice.swift:197:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
195 |         try await withCheckedThrowingContinuation { continuation in
196 |             self.transactions(begin: begin, end: end, session: session) { result in
197 |                 continuation.resume(with: result)
    |                              |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
198 |             }
199 |         }
[128/130] Emitting module EmealKit
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Date+short.swift:4:16: warning: static property 'dayMonthYearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 2 |
 3 | extension Date {
 4 |     static var dayMonthYearFormatter: DateFormatter = {
   |                |- warning: static property 'dayMonthYearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'dayMonthYearFormatter' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'dayMonthYearFormatter' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 5 |         let formatter = DateFormatter()
 6 |         formatter.dateFormat = "dd.MM.y"
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Date+short.swift:11:16: warning: static property 'dayMonthYearHourMinute' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 9 |     }()
10 |
11 |     static var dayMonthYearHourMinute: DateFormatter = {
   |                |- warning: static property 'dayMonthYearHourMinute' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'dayMonthYearHourMinute' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'dayMonthYearHourMinute' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |         let formatter = DateFormatter()
13 |         formatter.dateFormat = "dd.MM.y HH:mm"
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Date+short.swift:18:16: warning: static property 'yearMonthDayFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 |     }()
17 |
18 |     static var yearMonthDayFormatter: DateFormatter = {
   |                |- warning: static property 'yearMonthDayFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'yearMonthDayFormatter' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'yearMonthDayFormatter' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |         let formatter = DateFormatter()
20 |         formatter.dateFormat = "y-MM-dd"
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Logger.swift:4:24: warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2 |
3 | extension Logger {
4 |     private static var subsystem = "io.kilian.EmealKit"
  |                        |- warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  |                        |- note: convert 'subsystem' to a 'let' constant to make 'Sendable' shared state immutable
  |                        |- note: add '@MainActor' to make static property 'subsystem' part of global actor 'MainActor'
  |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 |
6 |     static let emealKit = Logger(subsystem: subsystem, category: "EmealKit")
[129/130] Compiling EmealKit Canteen.swift
[130/130] Compiling EmealKit Meal.swift
[131/131] Compiling EmealKit URLSessionProtocol.swift
Build complete! (15.82s)
Fetching https://github.com/sharplet/Regex.git
Fetching https://github.com/alexaubry/HTMLString.git
Fetching https://github.com/nmdias/FeedKit.git
[1/1254] Fetching regex
[2/2885] Fetching regex, htmlstring
[130/11643] Fetching regex, htmlstring, feedkit
Fetched https://github.com/alexaubry/HTMLString.git from cache (1.33s)
Fetched https://github.com/sharplet/Regex.git from cache (1.33s)
Fetched https://github.com/nmdias/FeedKit.git from cache (1.33s)
Computing version for https://github.com/nmdias/FeedKit.git
Computed https://github.com/nmdias/FeedKit.git at 9.1.2 (1.93s)
Computing version for https://github.com/alexaubry/HTMLString.git
Computed https://github.com/alexaubry/HTMLString.git at 5.0.0 (0.66s)
Computing version for https://github.com/sharplet/Regex.git
Computed https://github.com/sharplet/Regex.git at 2.1.1 (2.70s)
Creating working copy for https://github.com/nmdias/FeedKit.git
Working copy of https://github.com/nmdias/FeedKit.git resolved at 9.1.2
Creating working copy for https://github.com/sharplet/Regex.git
Working copy of https://github.com/sharplet/Regex.git resolved at 2.1.1
Creating working copy for https://github.com/alexaubry/HTMLString.git
Working copy of https://github.com/alexaubry/HTMLString.git resolved at 5.0.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "htmlstring",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.0.0",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/alexaubry/HTMLString.git"
    },
    {
      "identity" : "regex",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.1.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/sharplet/Regex.git"
    },
    {
      "identity" : "feedkit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "9.1.2",
            "upper_bound" : "10.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/nmdias/FeedKit.git"
    }
  ],
  "manifest_display_name" : "EmealKit",
  "name" : "EmealKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "watchos",
      "version" : "7.0"
    },
    {
      "name" : "tvos",
      "version" : "14.0"
    }
  ],
  "products" : [
    {
      "name" : "EmealKit",
      "targets" : [
        "EmealKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "EmealKitTests",
      "module_type" : "SwiftTarget",
      "name" : "EmealKitTests",
      "path" : "Tests/EmealKitTests",
      "sources" : [
        "CanteenTests.swift",
        "EmealTests.swift",
        "MealTests.swift",
        "MockData.swift",
        "MockURLSession.swift"
      ],
      "target_dependencies" : [
        "EmealKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "EmealKit",
      "module_type" : "SwiftTarget",
      "name" : "EmealKit",
      "path" : "Sources/EmealKit",
      "product_dependencies" : [
        "HTMLString",
        "Regex",
        "FeedKit"
      ],
      "product_memberships" : [
        "EmealKit"
      ],
      "sources" : [
        "Cardservice/CardData.swift",
        "Cardservice/Cardservice.swift",
        "Cardservice/CardserviceAPI.swift",
        "Cardservice/CardserviceError.swift",
        "Cardservice/LoginResponse.swift",
        "Cardservice/Transaction.swift",
        "Date+short.swift",
        "Double+euroString.swift",
        "Emeal/Emeal.swift",
        "Emeal/EmealDelegate.swift",
        "Emeal/LocalizedEmealStrings.swift",
        "Emeal/ObservableEmeal.swift",
        "EmealError.swift",
        "Logger.swift",
        "Mensa/Canteen.swift",
        "Mensa/Meal.swift",
        "Mensa/MealFeed.swift",
        "Mensa/MensaAPI.swift",
        "URLSessionProtocol.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "APIValidationTests",
      "module_type" : "SwiftTarget",
      "name" : "APIValidationTests",
      "path" : "Tests/APIValidationTests",
      "sources" : [
        "CardserviceAPITests.swift",
        "MenuAPITests.swift"
      ],
      "target_dependencies" : [
        "EmealKit"
      ],
      "type" : "test"
    }
  ],
  "tools_version" : "5.5"
}
Done.