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 0.11.0 (c5a418), with Swift 6.1 for macOS (SPM) on 29 Apr 2025 21:52:37 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: 0.11.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/kiliankoe/EmealKit
 * tag               0.11.0     -> FETCH_HEAD
HEAD is now at c5a4188 Merge pull request #21 from kiliankoe/sold-out-meals
Cloned https://github.com/kiliankoe/EmealKit.git
Revision (git rev-parse @):
c5a4188cc1f30482e7a7f388ec777406a321e9e7
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/kiliankoe/EmealKit.git at 0.11.0
========================================
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 FeedKit
[7/111] Compiling FeedKit RSSPath.swift
[8/111] Compiling FeedKit Feed.swift
[9/111] Compiling FeedKit FeedDataType.swift
[10/111] Compiling FeedKit FeedParser.swift
[11/111] Compiling FeedKit FeedParserProtocol.swift
[12/111] Compiling FeedKit JSONFeedParser.swift
[13/111] Compiling FeedKit ParserError.swift
[14/111] Compiling FeedKit XMLFeedParser.swift
[15/111] Compiling FeedKit XMLFeedType.swift
[16/111] Compiling FeedKit RSSFeedImage.swift
[17/111] Compiling FeedKit RSSFeedItem.swift
[18/111] Compiling FeedKit RSSFeedItemCategory.swift
[19/111] Compiling FeedKit RSSFeedItemEnclosure.swift
[20/111] Compiling FeedKit RSSFeedItemGUID.swift
[21/111] Compiling FeedKit RSSFeedItemSource.swift
[22/111] Compiling FeedKit RSSFeedSkipDay.swift
[23/111] Compiling FeedKit RSSFeedSkipHour.swift
[24/111] Compiling FeedKit RSSFeedTextInput.swift
[25/111] Compiling FeedKit MediaDescription.swift
[26/111] Compiling FeedKit MediaEmbed.swift
[27/111] Compiling FeedKit MediaGroup.swift
[28/111] Compiling FeedKit MediaHash.swift
[29/111] Compiling FeedKit MediaLicence.swift
[30/111] Compiling FeedKit MediaLocation.swift
[31/111] Compiling FeedKit MediaNamespace.swift
[32/111] Compiling FeedKit MediaParam.swift
[33/111] Compiling FeedKit MediaPeerLink.swift
[34/111] Compiling FeedKit MediaPlayer.swift
[35/111] Compiling FeedKit MediaPrice.swift
[36/111] Compiling FeedKit MediaRating.swift
[37/111] Compiling FeedKit MediaRestriction.swift
[38/111] Compiling FeedKit MediaRights.swift
[39/111] Compiling FeedKit MediaScene.swift
[40/111] Compiling FeedKit MediaStarRating.swift
[41/111] Compiling FeedKit MediaStatistics.swift
[42/111] Compiling FeedKit MediaStatus.swift
[43/111] Compiling FeedKit AtomFeed + mapAttributes.swift
[44/111] Compiling FeedKit AtomFeed + mapCharacters.swift
[45/111] Compiling FeedKit AtomFeed.swift
[46/111] Compiling FeedKit AtomFeedAuthor.swift
[47/111] Compiling FeedKit AtomFeedCategory.swift
[48/111] Compiling FeedKit AtomFeedContributor.swift
[49/111] Compiling FeedKit AtomFeedEntry.swift
[50/111] Compiling FeedKit AtomFeedEntryAuthor.swift
[51/111] Compiling FeedKit AtomFeedEntryCategory.swift
[52/111] Compiling FeedKit AtomFeedEntryContent.swift
[53/111] Compiling FeedKit AtomFeedEntryContributor.swift
[54/111] Compiling FeedKit AtomFeedEntryLink.swift
[55/111] Compiling FeedKit AtomFeedEntrySource.swift
[56/111] Compiling FeedKit AtomFeedEntrySummary.swift
[57/111] Compiling FeedKit AtomFeedGenerator.swift
[58/111] Compiling FeedKit AtomFeedLink.swift
[59/111] Compiling FeedKit AtomFeedSubtitle.swift
[60/111] Compiling FeedKit AtomPath.swift
[61/111] Compiling FeedKit JSONFeed.swift
[62/111] Compiling FeedKit JSONFeedAttachment.swift
[63/111] Compiling FeedKit JSONFeedAuthor.swift
[64/111] Compiling FeedKit JSONFeedHub.swift
[65/111] Compiling FeedKit JSONFeedItem.swift
[66/111] Compiling FeedKit ContentNamespace.swift
[67/111] Compiling FeedKit DublinCoreNamespace.swift
[68/111] Compiling FeedKit MediaCategory.swift
[69/111] Compiling FeedKit MediaCommunity.swift
[70/111] Compiling FeedKit MediaContent.swift
[71/111] Compiling FeedKit MediaCopyright.swift
[72/111] Compiling FeedKit MediaCredit.swift
[73/111] Compiling HTMLString Mappings.swift
[74/111] Compiling HTMLString NSString+HTMLString.swift
[75/111] Compiling Regex MatchResult.swift
[76/111] Compiling Regex ThreadLocal.swift
[77/111] Compiling Regex String+ReplaceMatching.swift
[78/111] Compiling Regex Regex.swift
[79/111] Emitting module Regex
[80/111] Compiling Regex Options.swift
[81/111] Compiling Regex Foundation+Ranges.swift
[82/111] Compiling FeedKit iTunesNamespace.swift
[83/111] Compiling FeedKit iTunesOwner.swift
[84/111] Compiling FeedKit iTunesSubCategory.swift
[85/111] Compiling FeedKit RDFPath.swift
[86/111] Compiling FeedKit RSSFeed + mapAttributes.swift
[87/111] Compiling FeedKit RSSFeed + mapCharacters.swift
[88/111] Compiling FeedKit RSSFeed.swift
[89/111] Compiling FeedKit RSSFeedCategory.swift
[90/111] Compiling FeedKit RSSFeedCloud.swift
[91/111] Compiling FeedKit DateSpec.swift
[92/111] Compiling FeedKit ISO8601DateFormatter.swift
[93/111] Compiling FeedKit RFC3339DateFormatter.swift
[94/111] Compiling FeedKit RFC822DateFormatter.swift
[95/111] Compiling HTMLString HTMLString.swift
[96/111] Compiling FeedKit Array + Equatable.swift
[97/111] Compiling FeedKit Date + codingStrategy.swift
[98/111] Compiling FeedKit String + toBool.swift
[99/111] Compiling FeedKit String + toDate.swift
[100/111] Compiling FeedKit String + toDuration.swift
[101/111] Compiling FeedKit URL + replacingScheme.swift
[102/111] Emitting module HTMLString
[103/111] Compiling FeedKit MediaSubTitle.swift
[104/111] Compiling FeedKit MediaTag.swift
[105/111] Compiling FeedKit MediaText.swift
[106/111] Compiling FeedKit MediaThumbnail.swift
[107/111] Compiling FeedKit MediaTitle.swift
[108/111] Compiling FeedKit SyndicationNamespace.swift
[109/111] Compiling FeedKit SyndicationUpdatePeriod.swift
[110/111] Compiling FeedKit iTunesCategory.swift
[111/111] Compiling FeedKit iTunesImage.swift
[112/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")
[113/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")
[114/131] 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)
[115/131] 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)
[116/131] Compiling EmealKit URLSessionProtocol.swift
[117/131] Compiling EmealKit Emeal.swift
[118/131] Compiling EmealKit EmealDelegate.swift
[119/131] 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"
[120/131] 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"
[121/131] Compiling EmealKit LocalizedEmealStrings.swift
[122/131] Compiling EmealKit ObservableEmeal.swift
[123/131] Compiling EmealKit LoginResponse.swift
[124/131] Compiling EmealKit Transaction.swift
[125/131] 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 |             }
[126/131] 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 |             }
[127/131] 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")
[128/131] Compiling EmealKit Canteen.swift
[129/131] Compiling EmealKit Meal.swift
[130/131] 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 |         }
[131/131] 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 |         }
Build complete! (16.11s)
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
[143/11643] Fetching regex, htmlstring, feedkit
Fetched https://github.com/nmdias/FeedKit.git from cache (1.23s)
Fetched https://github.com/sharplet/Regex.git from cache (1.23s)
Fetched https://github.com/alexaubry/HTMLString.git from cache (1.23s)
Computing version for https://github.com/nmdias/FeedKit.git
Computed https://github.com/nmdias/FeedKit.git at 9.1.2 (1.81s)
Computing version for https://github.com/alexaubry/HTMLString.git
Computed https://github.com/alexaubry/HTMLString.git at 5.0.0 (0.64s)
Computing version for https://github.com/sharplet/Regex.git
Computed https://github.com/sharplet/Regex.git at 2.1.1 (2.85s)
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/nmdias/FeedKit.git
Working copy of https://github.com/nmdias/FeedKit.git resolved at 9.1.2
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.